--- version: "3.8" services: app: image: dobbs/farm command: /bin/sh config/install.sh volumes: - "fedwiki_friends:/home/node/config" - "fedwiki:/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 - source: config_owner_json_conf target: /home/node/config/config.owner.json environment: - DOMAIN - COOKIE_SECRET - AUTHOR - PASSWORD 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}" # 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 config_owner_json_conf: name: ${STACK_NAME}_config_owner_json_${CONFIG_OWNER_JSON_VERSION} file: config.owner.json.tmpl template_driver: golang