diff --git a/docker-compose.yml b/docker-compose.yml index 2aa019e..c1c356f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -189,12 +189,8 @@ services: - "traefik.http.routers.info.service=info" - "traefik.http.routers.info.tls.certresolver=letsencrypt" - "traefik.http.services.info.loadbalancer.server.port=3000" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:3000/"] - interval: 15s - timeout: 10s - retries: 3 - start_period: 60s + # MAINTENANCE MIDDLEWARE + - "traefik.http.routers.info.middlewares=catch-maintenance@docker" depends_on: backend: condition: service_healthy @@ -204,6 +200,23 @@ services: condition: service_healthy tiles: condition: service_healthy + maintenance-page: + image: nginx:alpine + restart: always + networks: + - dokploy-network + volumes: + - ./manutenzione.sh:/manutenzione.sh:ro + entrypoint: ["/bin/sh", "/manutenzione.sh"] + labels: + - "traefik.enable=true" + - "traefik.http.routers.maint.rule=Host(`${DOMAIN}`)" + - "traefik.http.routers.maint.priority=1" + - "traefik.http.routers.maint.entrypoints=websecure" + - "traefik.http.services.maintenance-page.loadbalancer.server.port=80" + - "traefik.http.middlewares.catch-maintenance.errors.status=500-599" + - "traefik.http.middlewares.catch-maintenance.errors.service=maintenance-page" + - "traefik.http.middlewares.catch-maintenance.errors.query=/" networks: dokploy-network: diff --git a/manutenzione.sh b/manutenzione.sh new file mode 100644 index 0000000..4ad6c22 --- /dev/null +++ b/manutenzione.sh @@ -0,0 +1,130 @@ +#!/bin/sh + +cat </usr/share/nginx/html/index.html + + + + + + + + + Manutenzione in corso – InfoAlloggi + + + + +
+
🔧
+

Sito in manutenzione

+

Stiamo effettuando degli aggiornamenti per migliorare il servizio.

+

Torneremo online a breve.

+
+

Ci scusiamo per il disagio e ti ringraziamo per la pazienza.

+
+ + + + +EOF + +# 2. Start Nginx +exec nginx -g 'daemon off;'