Aller au contenu principal

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​

VariableDescriptionExemple
APP_URLURL de l'application webhttps://ismp.example.com
ADMIN_URLURL de la console adminhttps://admin.ismp.example.com
API_URLURL de l'API (interne)http://api:4000

Base de données​

VariableDescriptionExemple
DATABASE_URLURL de connexion PostgreSQLpostgresql://user:pass@host:5432/db

Authentification​

VariableDescriptionExemple
KEYCLOAK_URLURL de Keycloakhttps://auth.example.com
KEYCLOAK_REALMRealm Keycloakismp
KEYCLOAK_CLIENT_IDClient IDismp-app
KEYCLOAK_CLIENT_SECRETSecret clientvotre-secret

Email​

VariableDescriptionExemple
SMTP_HOSTServeur SMTPsmtp.example.com
SMTP_PORTPort SMTP587
SMTP_USERUtilisateur SMTPnoreply@example.com
SMTP_PASSWORDMot de passe SMTPvotre-password
SMTP_FROMAdresse d'expéditionnoreply@example.com

Stockage​

VariableDescriptionExemple
MINIO_ROOT_USERUtilisateur MinIOadmin
MINIO_ROOT_PASSWORDMot de passe MinIOpassword
S3_BUCKETNom du bucketismp-files

Initialisation de Keycloak​

Au premier démarrage, configurez Keycloak :

  1. Accédez à https://auth.votre-domaine.com
  2. Connectez-vous avec les identifiants admin
  3. Le realm ismp est créé automatiquement
  4. 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​

  1. Vérifiez que le container PostgreSQL est démarré
  2. Vérifiez les identifiants dans DATABASE_URL
  3. Testez la connexion :
docker compose exec db psql -U ismp -d ismp -c "SELECT 1"

Certificats SSL non générés​

  1. Vérifiez que les domaines pointent vers le serveur
  2. Vérifiez que les ports 80/443 sont ouverts
  3. Consultez les logs Caddy :
docker logs caddy-caddy-1

Prochaines étapes​