version: '3.8' services: technitium: image: docker.io/technitium/dns-server:11.0.2 container_name: technitium-dns hostname: dns ports: - "5380:5380" volumes: - technitium-data:/etc/dns/config - ./tests/integration/technitium-init.sh:/init.sh:ro environment: - DNS_SERVER_DOMAIN=dns.test.rip - DNS_SERVER_ADMIN_PASSWORD=admin123 - DNS_SERVER_ADMIN_PASSWORD_FILE= - DNS_SERVER_WEB_SERVICE_HTTP_PORT=5380 - DNS_SERVER_WEB_SERVICE_ENABLE_HTTPS=false - DNS_SERVER_WEB_SERVICE_USE_SELF_SIGNED_CERT=false - DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP=false - DNS_SERVER_RECURSION=AllowOnlyForPrivateNetworks - DNS_SERVER_LOG_USING_LOCAL_TIME=true healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:5380/"] interval: 10s timeout: 5s retries: 5 start_period: 30s networks: - dyn-test dyn: build: . container_name: dyn-ddns-test ports: - "8080:8080" volumes: - dyn-data:/data environment: - SERVER_PORT=8080 - DATABASE_PATH=/data/dyn.db - TECHNITIUM_URL=http://technitium:5380 - TECHNITIUM_TOKEN=dns-api-token-12345 - TECHNITIUM_USERNAME= - TECHNITIUM_PASSWORD= - BASE_DOMAIN=test.rip - SPACE_SUBDOMAIN=space - RATE_LIMIT_PER_IP=1000 - RATE_LIMIT_PER_TOKEN=1000 - TRUSTED_PROXIES= depends_on: technitium: condition: service_healthy healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/"] interval: 10s timeout: 5s retries: 3 start_period: 5s networks: - dyn-test volumes: technitium-data: dyn-data: networks: dyn-test: driver: bridge