feat(deploy) : add maintenance mode with automatic toggle during deploy
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled

This commit is contained in:
2026-04-02 11:56:13 +02:00
parent 100ab340d4
commit 906c245451
4 changed files with 112 additions and 2 deletions

View File

@@ -197,6 +197,23 @@ server {
listen 80;
server_name sirh.malio-dev.fr;
root /var/www/sirh/public;
# Maintenance mode
if (-f /var/www/sirh/maintenance.on) {
return 503;
}
error_page 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /maintenance.html break;
}
location = /maintenance.html {
internal;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
@@ -207,9 +224,10 @@ server {
}
```
Activer le site :
Copier la page de maintenance et activer le site :
```bash
cp deploy/maintenance.html /var/www/sirh/public/maintenance.html
sudo ln -sf /etc/nginx/sites-available/sirh.conf /etc/nginx/sites-enabled/sirh.conf
sudo nginx -t && sudo systemctl reload nginx
```
@@ -251,6 +269,8 @@ rm /tmp/sirh.sql
├── config/jwt/
│ ├── private.pem
│ └── public.pem
├── public/
│ └── maintenance.html
└── uploads/
```
@@ -266,7 +286,24 @@ cd /var/www/sirh
./deploy.sh v0.1.61 # deploie une version specifique
```
C'est tout. Le script pull l'image, redemarre le conteneur, lance les migrations et vide le cache.
Le script active automatiquement la maintenance pendant le deploy et la desactive a la fin.
---
## Maintenance manuelle
Activer la maintenance (sans deployer) :
```bash
cd /var/www/sirh
touch maintenance.on
```
Desactiver :
```bash
rm maintenance.on
```
---