Installation et désinstallation
Prérequis
- Docker et Docker Compose installés sur ton serveur.
- Un nom de domaine si tu veux exposer Cléa sur internet (recommandé avec un reverse proxy en HTTPS).
Installer Cléa
1. Crée un fichier .env
POSTGRES_PASSWORD=un_mot_de_passe_solide
APP_SECRET_KEY=une_clé_aléatoire_longue
Génère une clé solide avec, par exemple : openssl rand -hex 64.
2. Crée un fichier docker-compose.yml
services:
db:
image: postgres:alpine
restart: unless-stopped
environment:
POSTGRES_DB: clea
POSTGRES_USER: clea
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U clea"]
interval: 5s
timeout: 5s
retries: 5
app:
image: ghcr.io/citizenfivefr/clea:latest
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "8080:8080"
environment:
DATABASE_URL: postgres://clea:${POSTGRES_PASSWORD}@db:5432/clea
APP_SECRET_KEY: ${APP_SECRET_KEY}
SECURE_COOKIES: "true"
SESSION_DURATION_HOURS: "24"
INVITATION_DURATION_HOURS: "72"
volumes:
postgres_data:
3. Lance Cléa
docker compose up -d
Cléa est accessible sur http://localhost:8080. Au premier lancement, va sur /setup pour créer le compte administrateur.
Reverse proxy (recommandé)
Mets toujours Cléa derrière un reverse proxy en HTTPS avant de l'exposer sur internet. Deux options simples : Caddy (HTTPS automatique via Let's Encrypt) ou Nginx (configuration manuelle du certificat).
SECURE_COOKIES: "true" est déjà activé dans le docker-compose.yml ci-dessus, et requiert HTTPS pour fonctionner correctement.
Mettre à jour
docker compose pull
docker compose up -d
Les migrations de base de données s'appliquent automatiquement au démarrage de l'application.
Désinstaller
Pour arrêter Cléa sans perdre tes données (tu pourras le réinstaller plus tard) :
docker compose down
Pour tout supprimer, y compris la base de données et donc toutes les données de ton organisation :
docker compose down -v
Cette dernière commande est irréversible. Fais une sauvegarde de ta base PostgreSQL avant si tu n'es pas sûr de toi.