services: # DNS-SERVER FOR THE NETWORK DNS: container_name: DNS image: pihole/pihole:latest network_mode: host environment: TZ: 'Europe/Berlin' WEBPASSWORD: 'tRox*#Ag-+o9pOc9e5+6' FTLCONF_dns_listeningMode: 'all' volumes: - /home/smallmountains/pihole/pihole:/etc/pihole - /home/smallmountains/pihole/etc-dnsmasq.d:/etc/dnsmasq.d restart: always cap_add: - NET_ADMIN - SYS_TIME #PROXY MANAGER ALWAYS RUNNING Proxy: container_name: proxy image: 'docker.io/jc21/nginx-proxy-manager:latest' restart: always ports: - '80:80' - '81:81' - '443:443' volumes: - /home/smallmountains/nginx/nginx:/data - /home/smallmountains/nginx/letsencrypt:/etc/letsencrypt # SOUND SERVER Moodist: container_name: moodist image: ghcr.io/remvze/moodist logging: options: max-size: 1g restart: always ports: - '8974:8080' # DDNS UPDATER DDNS_Updater: image: qmcgaw/ddns-updater container_name: ddns-updater network_mode: bridge ports: - 8126:8000/tcp volumes: - /home/smallmountains/ddns:/updater/data environment: - CONFIG= - PERIOD=5m - UPDATE_COOLDOWN_PERIOD=5m - PUBLICIP_FETCHERS=all - PUBLICIP_HTTP_PROVIDERS=all - PUBLICIPV4_HTTP_PROVIDERS=all - PUBLICIPV6_HTTP_PROVIDERS=all - PUBLICIP_DNS_PROVIDERS=all - PUBLICIP_DNS_TIMEOUT=3s - HTTP_TIMEOUT=10s # Web UI - LISTENING_ADDRESS=:8000 - ROOT_URL=/ # Backup - BACKUP_PERIOD=0 # 0 to disable - BACKUP_DIRECTORY=/updater/data # Other - LOG_LEVEL=info - LOG_CALLER=hidden - SHOUTRRR_ADDRESSES= restart: always # TAILSCALE Tailscale: container_name: tailscale image: tailscale/tailscale:latest restart: always volumes: - ./tun:/dev/net/tun - ./lib:/var/lib environment: - TS_EXTRA_ARGS=--advertise-exit-node - TS_STATE_DIR=/var/lib/tailscale - TS_ROUTES=192.168.2.0/24 - TS_HOSTNAME=RPI5 network_mode: host privileged: true