first commit

This commit is contained in:
julien
2026-03-20 22:16:20 +01:00
commit 42a4ba3e9a
136 changed files with 10141 additions and 0 deletions

42
docs/DEPLOYMENT.md Normal file
View 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.