48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
version: "3"
|
|
services:
|
|
dns-server:
|
|
container_name: technitium-dns
|
|
hostname: technitium-dns
|
|
image: technitium/dns-server:latest
|
|
ports:
|
|
- "5380:5380/tcp" # Web Console
|
|
- "53:53/udp" # DNS
|
|
- "53:53/tcp" # DNS
|
|
- "853:853/tcp" # DNS-over-TLS
|
|
- "8443:443/tcp" # DNS-over-HTTPS
|
|
# Uncomment if using DHCP
|
|
# - "67:67/udp"
|
|
environment:
|
|
- DNS_SERVER_DOMAIN=dns-server
|
|
# - DNS_SERVER_ADMIN_PASSWORD=password # Set via UI on first login
|
|
volumes:
|
|
- ./config:/etc/dns/config
|
|
# Mount AdGuard certs for migration/usage
|
|
# Path in container: /etc/dns/certs
|
|
- adguard_certs:/etc/dns/certs:ro
|
|
restart: unless-stopped
|
|
sysctls:
|
|
- net.ipv4.ip_local_port_range=1024 65000
|
|
networks:
|
|
- traefik-public
|
|
labels:
|
|
- "traefik.enable=true"
|
|
# Web Console
|
|
- "traefik.http.routers.technitium.rule=Host(`dns.sterl.xyz`)"
|
|
- "traefik.http.routers.technitium.entrypoints=websecure"
|
|
- "traefik.http.routers.technitium.tls.certresolver=cfresolver"
|
|
- "traefik.http.services.technitium.loadbalancer.server.port=5380"
|
|
- "docktail.enable=true"
|
|
- "docktail.name=technitium"
|
|
- "docktail.container_port=5380"
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|
|
|
|
volumes:
|
|
adguard_certs:
|
|
external: true
|
|
# Volume created by docker run
|
|
name: adguard_certs
|