yml파일 관리

This commit is contained in:
2026-06-14 17:35:05 +09:00
commit 29e9c67d34
6 changed files with 432 additions and 0 deletions
+258
View File
@@ -0,0 +1,258 @@
http:
pprof:
port: 6060
enabled: false
doh:
routes:
- GET /dns-query
- POST /dns-query
- GET /dns-query/{ClientID}
- POST /dns-query/{ClientID}
insecure_enabled: false
address: 0.0.0.0:80
session_ttl: 720h
users:
- name: banggae
password: $2a$10$60cxcPdvFt9j8HNyRQjDRueIzy42rTy.8t2lifGuc5yq3aEtB7gcK
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: ko
theme: auto
dns:
bind_hosts:
- 0.0.0.0
port: 53
anonymize_client_ip: false
ratelimit: 20
ratelimit_subnet_len_ipv4: 24
ratelimit_subnet_len_ipv6: 56
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns10.quad9.net/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
fallback_dns: []
upstream_mode: load_balance
fastest_timeout: 1s
allowed_clients: []
disallowed_clients: []
blocked_hosts:
- version.bind
- id.server
- hostname.bind
trusted_proxies:
- 127.0.0.0/8
- ::1/128
cache_enabled: true
cache_size: 4194304
cache_ttl_min: 0
cache_ttl_max: 0
cache_optimistic: false
cache_optimistic_answer_ttl: 30s
cache_optimistic_max_age: 12h
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet:
custom_ip: ""
enabled: false
use_custom: false
max_goroutines: 300
handle_ddr: true
ipset: []
ipset_file: ""
bootstrap_prefer_ipv6: false
upstream_timeout: 10s
private_networks: []
use_private_ptr_resolvers: false
local_ptr_upstreams: []
use_dns64: false
dns64_prefixes: []
serve_http3: false
use_http3_upstreams: false
serve_plain_dns: true
hostsfile_enabled: true
pending_requests:
enabled: true
tls:
enabled: true
server_name: adguard.banggae.duckdns.org
force_https: true
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 853
port_dnscrypt: 0
dnscrypt_config_file: ""
certificate_chain: |
-----BEGIN CERTIFICATE-----
MIIDwDCCA0WgAwIBAgISBe252xJqYFNEuWleM/urkpiaMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNjA0MjcxMTQ5MzNaFw0yNjA3MjYxMTQ5MzJaMCYxJDAiBgNVBAMTG2Fk
Z3VhcmQuYmFuZ2dhZS5kdWNrZG5zLm9yZzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
BOLvb3ODVcVVSEaW3qCVV8qmXz1FtwmAFd0PSW4jk+kzv9DwUV1Mtfs9bPa9X2/M
wl+xARsecPhQVb+tUUTysIENAM530sOnJiMTxzLuJ29RoFaN6Hu6lmy3aLuxfLK/
kaOCAigwggIkMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATAM
BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRNuYqHMgqR3gW5q/bedToyQ7oppzAfBgNV
HSMEGDAWgBSPDROi9i5+0VBsMxg4XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYI
KwYBBQUHMAKGFmh0dHA6Ly9lOC5pLmxlbmNyLm9yZy8wJgYDVR0RBB8wHYIbYWRn
dWFyZC5iYW5nZ2FlLmR1Y2tkbnMub3JnMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G
A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly9lOC5jLmxlbmNyLm9yZy8yNy5jcmwwggEN
BgorBgEEAdZ5AgQCBIH+BIH7APkAdwDLOPcViXyEoURfW8Hd+8lu8ppZzUcKaQWF
sMsUwxRY5wAAAZ3O+4ZtAAAEAwBIMEYCIQD0hPv4DDOtMNEVo60FGQTMB0wSgbua
2iWe2iNzRXiC4AIhAKGOthN4KO29d5BvGBcea95b26bt7O7bLMGxOEQwI3POAH4A
Goudaw/+v4G0eTnG0jEKhtbRAtTwRuIYLJ3jX14mJe8AAAGdzvuKXAAIAAAFAAyP
CosEAwBHMEUCIQDLscAKrHX8krsVMQqgsLw563uUlU648vEpfFgvcZbBYAIgJTzD
dbKtgbppECxzRi5CtJtARB3XqgZjqlWirgDIMeUwCgYIKoZIzj0EAwMDaQAwZgIx
AP2ij39M3XlHWmmJfKGa7NfW2vcf8LgF/kAZ15nS69yJaC1kg2EQKO+aDeDvbEPB
vwIxAIl/a1Sm5UMld7rxGo7t91y7+3+yA6LTV5PJUbGcPbmMvkwkK9XxiOZAJkqW
sInQFQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVjCCAj6gAwIBAgIQY5WTY8JOcIJxWRi/w9ftVjANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQswCQYDVQQDEwJFODB2MBAGByqGSM49AgEGBSuBBAAiA2IABNFl8l7c
S7QMApzSsvru6WyrOq44ofTUOTIzxULUzDMMNMchIJBwXOhiLxxxs0LXeb5GDcHb
R6EToMffgSZjO9SNHfY9gjMy9vQr5/WWOrQTZxh7az6NSNnq3u2ubT6HTKOB+DCB
9TAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI8NE6L2Ln7RUGwzGDhdWY4j
cpHKMB8GA1UdIwQYMBaAFHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEB
BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzATBgNVHSAE
DDAKMAgGBmeBDAECATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veDEuYy5sZW5j
ci5vcmcvMA0GCSqGSIb3DQEBCwUAA4ICAQBnE0hGINKsCYWi0Xx1ygxD5qihEjZ0
RI3tTZz1wuATH3ZwYPIp97kWEayanD1j0cDhIYzy4CkDo2jB8D5t0a6zZWzlr98d
AQFNh8uKJkIHdLShy+nUyeZxc5bNeMp1Lu0gSzE4McqfmNMvIpeiwWSYO9w82Ob8
otvXcO2JUYi3svHIWRm3+707DUbL51XMcY2iZdlCq4Wa9nbuk3WTU4gr6LY8MzVA
aDQG2+4U3eJ6qUF10bBnR1uuVyDYs9RhrwucRVnfuDj29CMLTsplM5f5wSV5hUpm
Uwp/vV7M4w4aGunt74koX71n4EdagCsL/Yk5+mAQU0+tue0JOfAV/R6t1k+Xk9s2
HMQFeoxppfzAVC04FdG9M+AC2JWxmFSt6BCuh3CEey3fE52Qrj9YM75rtvIjsm/1
Hl+u//Wqxnu1ZQ4jpa+VpuZiGOlWrqSP9eogdOhCGisnyewWJwRQOqK16wiGyZeR
xs/Bekw65vwSIaVkBruPiTfMOo0Zh4gVa8/qJgMbJbyrwwG97z/PRgmLKCDl8z3d
tA0Z7qq7fta0Gl24uyuB05dqI5J1LvAzKuWdIjT1tP8qCoxSE/xpix8hX2dt3h+/
jujUgFPFZ0EVZ0xSyBNRF3MboGZnYXFUxpNjTWPKpagDHJQmqrAcDmWJnMsFY3jS
u1igv3OefnWjSQ==
-----END CERTIFICATE-----
private_key: |
-----BEGIN PRIVATE KEY-----
MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDASromHTtWAINYlbPR2
jhjGkDiUqnLRpJwV5XQbtJAgsQaRTrklzQXrrFcrnpX3pdyhZANiAATi729zg1XF
VUhGlt6glVfKpl89RbcJgBXdD0luI5PpM7/Q8FFdTLX7PWz2vV9vzMJfsQEbHnD4
UFW/rVFE8rCBDQDOd9LDpyYjE8cy7idvUaBWjeh7upZst2i7sXyyv5E=
-----END PRIVATE KEY-----
certificate_path: ""
private_key_path: ""
strict_sni_check: false
querylog:
dir_path: ""
ignored: []
interval: 2160h
size_memory: 1000
enabled: false
ignored_enabled: false
file_enabled: true
statistics:
dir_path: ""
ignored: []
interval: 24h
enabled: true
ignored_enabled: false
filters:
- enabled: true
url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt
name: AdGuard DNS filter
id: 1
- enabled: false
url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_2.txt
name: AdAway Default Blocklist
id: 2
- enabled: true
url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_25.txt
name: 'KOR: List-KR DNS'
id: 1777635464
- enabled: true
url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_15.txt
name: 'KOR: YousList'
id: 1777635465
whitelist_filters: []
user_rules:
- '||veta.naver.com^'
dhcp:
enabled: false
interface_name: ""
local_domain_name: lan
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
filtering:
blocking_ipv4: ""
blocking_ipv6: ""
blocked_services:
schedule:
time_zone: UTC
ids: []
protection_disabled_until: null
safe_search:
enabled: false
bing: true
duckduckgo: true
ecosia: true
google: true
pixabay: true
yandex: true
youtube: true
blocking_mode: default
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
rewrites: []
safe_fs_patterns:
- /opt/adguardhome/work/userfilters/*
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
filters_update_interval: 24
blocked_response_ttl: 10
filtering_enabled: true
rewrites_enabled: true
parental_enabled: false
safebrowsing_enabled: false
protection_enabled: true
clients:
runtime_sources:
whois: true
arp: true
rdns: true
dhcp: true
hosts: true
persistent: []
log:
enabled: true
file: ""
max_backups: 0
max_size: 100
max_age: 3
compress: false
local_time: false
verbose: false
os:
group: ""
user: ""
rlimit_nofile: 0
schema_version: 34
+15
View File
@@ -0,0 +1,15 @@
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: always
volumes:
- /media/docker/adguard/workdir:/opt/adguardhome/work
- /media/docker/adguard/confdir:/opt/adguardhome/conf
ports:
# 호스트 포트를 피해서 변경 (예: 8080, 8443)
- "53:53/tcp"
- "80:80/tcp"
- "443:443/tcp"
- "853:853/tcp"
- "3000:3000/tcp"
+67
View File
@@ -0,0 +1,67 @@
version: '3'
networks:
gitea_joplin_net:
external: false
services:
# [통합 데이터베이스] PostgreSQL 17
db:
image: postgres:17
container_name: shared_postgres
restart: always
volumes:
- /media/docker/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=super_secure_password_here # 전체 DB 관리자 비밀번호 (원하는 대로 변경 가능)
networks:
- gitea_joplin_net
# 컨테이너 최초 실행 시 Gitea와 Joplin을 위한 각각의 DB와 유저를 생성하는 스크립트
entrypoint: [ "bash", "-c", "docker-entrypoint.sh postgres & until pg_isready -U postgres; do sleep 1; done; psql -U postgres -c \"CREATE USER gitea WITH PASSWORD 'gitea';\"; psql -U postgres -c \"CREATE DATABASE gitea OWNER gitea;\"; psql -U postgres -c \"CREATE USER joplin WITH PASSWORD 'joplin';\"; psql -U postgres -c \"CREATE DATABASE joplin OWNER joplin;\"; wait" ]
# [Gitea 서비스]
gitea:
image: docker.gitea.com/gitea:latest
container_name: gitea
restart: always
depends_on:
- db
networks:
- gitea_joplin_net
ports:
- "3001:3000"
- "222:22"
volumes:
- /media/docker/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
# [Joplin 서비스]
joplin:
image: joplin/server:latest
container_name: joplin_server
restart: always
depends_on:
- db
networks:
- gitea_joplin_net
ports:
- "22300:22300"
environment:
- APP_PORT=22300
- APP_BASE_URL=https://joplin.banggae.duckdns.org
- DB_CLIENT=pg
- POSTGRES_HOST=db
- POSTGRES_PORT=5432
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PASSWORD=joplin
+40
View File
@@ -0,0 +1,40 @@
networks:
gitea:
external: false
services:
server:
image: docker.gitea.com/gitea:1.26.2
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=192.168.1.174:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- /media/docker/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3001:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:17
volumes:
- /media/docker/postgres:/var/lib/postgresql/data
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
+25
View File
@@ -0,0 +1,25 @@
version: '3'
services:
db:
image: postgres:17
volumes:
- /media/docker/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=joplin
- POSTGRES_USER=joplin
- POSTGRES_DB=joplin
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "22300:22300"
environment:
- APP_PORT=22300
- APP_BASE_URL=https://joplin.banggae.duckdns.org
- DB_CLIENT=pg
- POSTGRES_PASSWORD=joplin
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PORT=5432
- POSTGRES_HOST=db
+27
View File
@@ -0,0 +1,27 @@
# Conduit
version: '3'
services:
homeserver:
image: matrixconduit/matrix-conduit:latest
restart: unless-stopped
ports:
- 6167:6167
volumes:
- db:/var/lib/matrix-conduit/
environment:
CONDUIT_SERVER_NAME: conduit.banggae.duckdns.org
CONDUIT_DATABASE_PATH: /var/lib/matrix-conduit/
CONDUIT_DATABASE_BACKEND: rocksdb
CONDUIT_PORT: 6167
CONDUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
CONDUIT_ALLOW_REGISTRATION: 'true'
CONDUIT_ALLOW_FEDERATION: 'true'
CONDUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
CONDUIT_TRUSTED_SERVERS: '["matrix.org"]'
#CONDUIT_MAX_CONCURRENT_REQUESTS: 100
CONDUIT_ADDRESS: 0.0.0.0
CONDUIT_CONFIG: '' # Ignore this
volumes:
db: