--- version: "3.8" services: app: image: dobbs/farm:1.0.18 command: /bin/sh config/install.sh volumes: - "fedwiki_friends:/home/node/config" - "${FEDWIKI_VOLUME}:/home/node/.wiki" networks: - proxy configs: - source: install_sh_conf target: /home/node/config/install.sh - source: config_json_conf target: /home/node/config/config.json environment: - DOMAIN - COOKIE_SECRET - AUTHOR - ADMIN_KEY deploy: restart_policy: condition: on-failure labels: - "traefik.enable=true" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`) || HostRegexp(`{subdomain:\\w+}.${DOMAIN}`)" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.tls.domains[0].main=${DOMAIN}" - "traefik.http.routers.${STACK_NAME}.tls.domains[0].sans=*.${DOMAIN}" - "traefik.http.routers.${STACK_NAME}.priority=1" - "caddy=http://${DOMAIN}, http://*.${DOMAIN}, http://*.*.${DOMAIN}, http://*.*.*.${DOMAIN}, https://${DOMAIN}, https://*.${DOMAIN}, https://*.*.${DOMAIN}, https://*.*.*.${DOMAIN}" - "caddy.reverse_proxy={{upstreams 3000}}" - "caddy.tls.on_demand=" - "backupbot.backup=true" - "backupbot.backup.path=/home/node/.wiki" - "coop-cloud.${STACK_NAME}.version=1.0.0+1.0.18" # healthcheck: # test: ["CMD", "curl", "-f", "http://localhost"] # interval: 30s # timeout: 10s # retries: 10 # start_period: 1m volumes: fedwiki: fedwiki_friends: networks: proxy: external: true configs: install_sh_conf: name: ${STACK_NAME}_install_sh_${INSTALL_SH_VERSION} file: install.sh config_json_conf: name: ${STACK_NAME}_config_json_${CONFIG_JSON_VERSION} file: config.json.tmpl template_driver: golang