first commit
This commit is contained in:
42
docs/DEPLOYMENT.md
Normal file
42
docs/DEPLOYMENT.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Déploiement
|
||||
|
||||
Ce document regroupe les informations utiles pour déployer l'application avec Docker en production.
|
||||
|
||||
## Déploiement Docker en production
|
||||
|
||||
### Commandes minimales
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Définir APP_ENV=production, APP_URL, ADMIN_PASSWORD (12 caractères minimum) et la configuration SMTP
|
||||
docker compose up -d --build
|
||||
docker compose run --rm provision
|
||||
```
|
||||
|
||||
Le provisionnement reste explicite : le runtime HTTP ne crée pas le schéma automatiquement. Il initialise aussi les réglages par défaut du blog via le module local `Site`.
|
||||
|
||||
## Données persistées
|
||||
|
||||
La stack Docker initialise `./data/` sur l'hôte :
|
||||
|
||||
```text
|
||||
data/
|
||||
├── public/ # assets compilés et médias persistés
|
||||
├── database/ # base SQLite, lock de provisionnement et données runtime
|
||||
└── var/ # cache Twig/HTMLPurifier et logs
|
||||
```
|
||||
|
||||
## Reverse proxy et Caddy
|
||||
|
||||
Le Nginx de la stack Docker écoute sur `127.0.0.1:8888`. Pour exposer l'application publiquement, placez-le derrière un reverse proxy.
|
||||
|
||||
Exemple Caddy :
|
||||
|
||||
```caddy
|
||||
https://app.exemple.com {
|
||||
header Strict-Transport-Security max-age=31536000;
|
||||
reverse_proxy localhost:8888
|
||||
}
|
||||
```
|
||||
|
||||
Pensez aussi à renseigner `APP_URL` avec l'URL publique, `ADMIN_HOME_PATH=/admin`, la configuration `MAIL_*` utilisée par la démonstration des notifications, et à adapter `TRUSTED_PROXIES` si l'application est servie derrière un autre proxy que le Nginx Docker fourni.
|
||||
Reference in New Issue
Block a user