docs(docker): Rewrite Docker DNS workaround with custom resolv.conf

Instead of /etc/resolv.conf on host. This works around the
systemd-resolved footgunning issue and provide an inline way to
configure resolvers, separate from that of the host system.
This commit is contained in:
stratself
2026-03-30 09:14:08 +00:00
committed by Ellis Git
parent 8dfdd1f662
commit dccf1b97c8
6 changed files with 78 additions and 31 deletions
@@ -39,6 +39,9 @@ services:
nofile:
soft: 1048567
hard: 1048567
configs: # using custom resolver instead of Docker's
- source: continuwuity-resolv.conf
target: /etc/resolv.conf
volumes:
db:
@@ -48,3 +51,9 @@ networks:
# name, don't forget to change it here and in the docker-compose.override.yml
proxy:
external: true
configs:
continuwuity-resolv.conf:
content: |
nameserver 1.0.0.1
nameserver 1.1.1.1
@@ -24,7 +24,6 @@ services:
command: /sbin/conduwuit
volumes:
- db:/var/lib/continuwuity
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
#- ./continuwuity.toml:/etc/continuwuity.toml
environment:
CONTINUWUITY_SERVER_NAME: example.com # EDIT THIS
@@ -41,9 +40,18 @@ services:
labels:
caddy: matrix.example.com
caddy.reverse_proxy: "{{upstreams 8008}}"
configs: # using custom resolver instead of Docker's
- source: continuwuity-resolv.conf
target: /etc/resolv.conf
volumes:
db:
networks:
caddy:
configs:
continuwuity-resolv.conf:
content: |
nameserver 1.0.0.1
nameserver 1.1.1.1
@@ -1,16 +1,3 @@
networks:
caddy:
volumes:
db:
configs:
dynamic.yml:
content: |
https://example.com, https://example.com:8448 {
reverse_proxy http://homeserver:8008
}
services:
caddy:
image: docker.io/caddy:latest
@@ -33,7 +20,6 @@ services:
command: /sbin/conduwuit
volumes:
- db:/var/lib/continuwuity
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
#- ./continuwuity.toml:/etc/continuwuity.toml
environment:
CONTINUWUITY_SERVER_NAME: example.com
@@ -42,4 +28,25 @@ services:
CONTINUWUITY_PORT: 8008
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
networks:
- caddy
- caddy
configs: # using custom resolvers instead of Docker's
- source: continuwuity-resolv.conf
target: /etc/resolv.conf
networks:
caddy:
volumes:
db:
configs:
dynamic.yml:
content: |
https://example.com, https://example.com:8448 {
reverse_proxy http://homeserver:8008
}
continuwuity-resolv.conf:
content: |
nameserver 1.0.0.1
nameserver 1.1.1.1
@@ -7,7 +7,6 @@ services:
command: /sbin/conduwuit
volumes:
- db:/var/lib/continuwuity
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
#- ./continuwuity.toml:/etc/continuwuity.toml
networks:
- proxy
@@ -37,6 +36,9 @@ services:
nofile:
soft: 1048567
hard: 1048567
configs: # using custom resolver instead of Docker's
- source: continuwuity-resolv.conf
target: /etc/resolv.conf
traefik:
image: "traefik:latest"
@@ -48,7 +50,6 @@ services:
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:z"
- "acme:/etc/traefik/acme"
#- "./traefik_config:/etc/traefik:z"
labels:
- "traefik.enable=true"
@@ -90,3 +91,9 @@ volumes:
networks:
proxy:
configs:
continuwuity-resolv.conf:
content: |
nameserver 1.0.0.1
nameserver 1.1.1.1
+10
View File
@@ -16,6 +16,16 @@ services:
CONTINUWUITY_ADDRESS: 0.0.0.0
CONTINUWUITY_PORT: 8008
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
configs: # using custom resolver instead of Docker's
- source: continuwuity-resolv.conf
target: /etc/resolv.conf
volumes:
db:
configs:
continuwuity-resolv.conf:
content: |
nameserver 1.0.0.1
nameserver 1.1.1.1