services: watchtower: image: containrrr/watchtower environment: DOCKER_HOST: tcp://docker:2375 WATCHTOWER_INCLUDE_RESTARTING: true WATCHTOWER_INCLUDE_STOPPED: true WATCHTOWER_MONITOR_ONLY: true WATCHTOWER_NOTIFICATIONS: gotify WATCHTOWER_NOTIFICATION_GOTIFY_URL: http://gotify WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN: /run/secrets/gotify_token networks: - docker - gotify secrets: - source: watchtower_gotify_token target: gotify_token restart: unless-stopped smokeping: image: linuxserver/smokeping networks: - traefik volumes: - smokeping_data:/data/ - smokeping_config:/config/ restart: unless-stopped labels: traefik.enable: true duckdns: image: linuxserver/duckdns environment: - FILE__SUBDOMAINS=subdomain1,subdomain2 - FILE__TOKEN=token restart: unless-stopped ddclient: image: linuxserver/ddclient environment: GOTIFY_ADDRESS: http://gotify FILE__GOTIFY_TOKEN: /run/secrets/gotify_token CLOUDFLARE_DOMAIN: ${DDCLIENT_CLOUDFLARE_DOMAIN-test.dedicated.contact} FILE__CLOUDFLARE_TOKEN: /run/secrets/cloudflare_token networks: - gotify volumes: - ddclient_data:/data/ - ddclient_config:/config/ - ddclient_init:/config/custom-cont-init.d/:ro #TODO: Move to /custom-cont-init.d/ configs: - source: ddclient_config_tpl target: /config/ddclient.conf.tpl secrets: - source: ddclient_gotify_token target: gotify_token - source: ddclient_cloudflare_token target: cloudflare_token restart: unless-stopped networks: docker: external: true gotify: external: true traefik: external: true volumes: smokeping_data: driver_opts: type: none o: bind device: ${SERVICES_DIR?}/smokeping/volumes/data/ smokeping_config: driver_opts: type: none o: bind device: ${SERVICES_DIR?}/smokeping/volumes/config/ ddclient_data: driver_opts: type: none o: bind device: ${SERVICES_DIR?}/ddclient/volumes/data/ ddclient_config: driver_opts: type: none o: bind device: ${SERVICES_DIR?}/ddclient/volumes/config/ ddclient_init: driver_opts: type: none o: bind device: ${SERVICES_DIR?}/ddclient/volumes/init/ configs: ddclient_config_tpl: file: ${SERVICES_DIR?}/ddclient/configs/ddclient.conf.tpl secrets: watchtower_gotify_token: file: ${SERVICES_DIR?}/watchtower/secrets/gotify_token ddclient_gotify_token: file: ${SERVICES_DIR?}/ddclient/secrets/gotify_token ddclient_cloudflare_token: file: ${SERVICES_DIR?}/ddclient/secrets/cloudflare_token