Installation
Ce guide vous accompagne dans l'installation d'ISMP sur votre serveur.
Installation rapide
1. Cloner le dépôt
git clone https://github.com/votre-org/ismp.git
cd ismp
2. Configurer l'environnement
# Copier le fichier d'exemple
cp .env.example .env
# Éditer la configuration
nano .env
3. Configuration minimale
Modifiez les variables essentielles dans .env :
# Domaines
APP_URL=https://ismp.votre-domaine.com
ADMIN_URL=https://admin.ismp.votre-domaine.com
AUTH_URL=https://auth.ismp.votre-domaine.com
# Base de données
DATABASE_URL=postgresql://ismp:mot_de_passe_securise@db:5432/ismp
# Keycloak
KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=mot_de_passe_admin_securise
# Secret JWT
JWT_SECRET=generer_une_cle_aleatoire_de_32_caracteres
Générer des secrets
# Générer un secret aléatoire
openssl rand -base64 32
4. Lancer les services
docker compose up -d
5. Vérifier le déploiement
# Vérifier que tous les containers sont en cours d'exécution
docker compose ps
# Vérifier les logs
docker compose logs -f
Configuration détaillée
Variables d'environnement
Application
| Variable | Description | Exemple |
|---|---|---|
APP_URL | URL de l'application web | https://ismp.example.com |
ADMIN_URL | URL de la console admin | https://admin.ismp.example.com |
API_URL | URL de l'API (interne) | http://api:4000 |
Base de données
| Variable | Description | Exemple |
|---|---|---|
DATABASE_URL | URL de connexion PostgreSQL | postgresql://user:pass@host:5432/db |
Authentification
| Variable | Description | Exemple |
|---|---|---|
KEYCLOAK_URL | URL de Keycloak | https://auth.example.com |
KEYCLOAK_REALM | Realm Keycloak | ismp |
KEYCLOAK_CLIENT_ID | Client ID | ismp-app |
KEYCLOAK_CLIENT_SECRET | Secret client | votre-secret |
Email
| Variable | Description | Exemple |
|---|---|---|
SMTP_HOST | Serveur SMTP | smtp.example.com |
SMTP_PORT | Port SMTP | 587 |
SMTP_USER | Utilisateur SMTP | noreply@example.com |
SMTP_PASSWORD | Mot de passe SMTP | votre-password |
SMTP_FROM | Adresse d'expédition | noreply@example.com |
Stockage
| Variable | Description | Exemple |
|---|---|---|
MINIO_ROOT_USER | Utilisateur MinIO | admin |
MINIO_ROOT_PASSWORD | Mot de passe MinIO | password |
S3_BUCKET | Nom du bucket | ismp-files |
Initialisation de Keycloak
Au premier démarrage, configurez Keycloak :
- Accédez à
https://auth.votre-domaine.com - Connectez-vous avec les identifiants admin
- Le realm
ismpest créé automatiquement - Vérifiez la configuration du client
Migration de la base de données
Les migrations sont appliquées automatiquement au démarrage de l'API.
Pour appliquer manuellement :
docker compose exec api npx prisma migrate deploy
Vérification post-installation
Checklist
- Application web accessible :
https://ismp.votre-domaine.com - Console admin accessible :
https://admin.ismp.votre-domaine.com - Authentification fonctionnelle
- Création d'organisation réussie
- Envoi d'email fonctionnel
Tests de santé
# API Health
curl https://ismp.votre-domaine.com/api/health
# Web Health
curl https://ismp.votre-domaine.com/api/health
Dépannage
Les containers ne démarrent pas
# Voir les logs
docker compose logs api
docker compose logs web
# Vérifier les erreurs de configuration
docker compose config
Erreur de connexion à la base de données
- Vérifiez que le container PostgreSQL est démarré
- Vérifiez les identifiants dans
DATABASE_URL - Testez la connexion :
docker compose exec db psql -U ismp -d ismp -c "SELECT 1"
Certificats SSL non générés
- Vérifiez que les domaines pointent vers le serveur
- Vérifiez que les ports 80/443 sont ouverts
- Consultez les logs Caddy :
docker logs caddy-caddy-1