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