diff --git a/doc/deployment-docker.md b/doc/deployment-docker.md index b4c5b5e..2dbb342 100644 --- a/doc/deployment-docker.md +++ b/doc/deployment-docker.md @@ -109,23 +109,33 @@ export LESSTIME_IMAGE_TAG="$TAG" echo "==> Deploying lesstime:${TAG}..." +echo "==> Enabling maintenance mode..." +touch maintenance.on + echo "==> Pulling image..." -docker compose pull +sudo docker compose pull echo "==> Starting container..." -docker compose up -d +sudo docker compose up -d echo "==> Waiting for container to be ready..." sleep 3 +echo "==> Extracting maintenance page..." +mkdir -p public +sudo docker compose cp app:/var/www/html/public/maintenance.html public/maintenance.html + echo "==> Running migrations..." -docker compose exec -T -u www-data app php bin/console doctrine:migrations:migrate --no-interaction +sudo docker compose exec -T -u www-data app php bin/console doctrine:migrations:migrate --no-interaction echo "==> Clearing cache..." -docker compose exec -T -u www-data app php bin/console cache:clear --env=prod -docker compose exec -T -u www-data app php bin/console cache:warmup --env=prod +sudo docker compose exec -T -u www-data app php bin/console cache:clear --env=prod +sudo docker compose exec -T -u www-data app php bin/console cache:warmup --env=prod -VERSION=$(docker compose exec -T app cat config/version.yaml | grep 'app.version' | awk -F"'" '{print $2}') +echo "==> Disabling maintenance mode..." +rm -f maintenance.on + +VERSION=$(sudo docker compose exec -T app cat config/version.yaml | grep 'app.version' | awk -F"'" '{print $2}') echo "==> Deployed v${VERSION}" ``` @@ -192,16 +202,33 @@ Creer `/etc/nginx/sites-available/lesstime.conf` : ```nginx server { listen 80; + listen [::]:80; server_name project.malio-dev.fr; - client_max_body_size 55m; + root /var/www/lesstime/public; + + # Maintenance mode + if (-f /var/www/lesstime/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_pass http://127.0.0.1:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; + client_max_body_size 55m; } } ``` @@ -250,6 +277,8 @@ rm /tmp/lesstime.sql ├── config/jwt/ │ ├── private.pem │ └── public.pem +├── public/ +│ └── maintenance.html # extrait automatiquement par deploy.sh └── uploads/ ```