diff --git a/compose.yml b/compose.yml index 8b13789..64e676f 100644 --- a/compose.yml +++ b/compose.yml @@ -1 +1,54 @@ +--- +version: "3.8" +services: + app: + image: nginx:1.29.0 + command: ["sh", "-c", "mkdir -p /usr/share/nginx/html/.backup-data && echo backup-placeholder > /usr/share/nginx/html/.backup-data/placeholder.txt && exec nginx -g 'daemon off;'"] + networks: + - proxy + deploy: + restart_policy: + condition: on-failure + labels: + - "traefik.enable=true" + - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80" + - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" + - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" + - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" + # Redirect from EXTRA_DOMAINS to DOMAIN + - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" + - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" + - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" + - "coop-cloud.${STACK_NAME}.version=1.11.0+1.29.0" + - "backupbot.backup=true" + - "backupbot.backup.path=/usr/share/nginx/html/.backup-data" + environment: + - DEFAULT_CONF_FILE=/etc/nginx/conf.d/default.conf + - REDIRECT_FROM_PATH + - REDIRECT_TO_URL + - REDIRECT_TYPE + volumes: + - content:/usr/share/nginx/html + configs: + - source: nginx_default_conf + target: /etc/nginx/conf.d/default.conf + #healthcheck: + # test: ["CMD", "curl", "-f", "http://localhost"] + # interval: 30s + # timeout: 10s + # retries: 10 + # start_period: 1m + +volumes: + content: + +configs: + nginx_default_conf: + name: ${STACK_NAME}_nginx_default_conf_${NGINX_DEFAULT_CONF_VERSION} + file: default.conf.tmpl + template_driver: golang + +networks: + proxy: + external: true