Skip to Content
Installation

Installation

Onirix s’installe sur vos propres serveurs avec Docker : l’application, le service d’indexation, PostgreSQL, OpenSearch, Redis et MinIO. Les étapes ci-dessous conviennent à un poste de travail ou à un serveur de test ; lisez Avant une mise en service avant d’ouvrir Onirix à d’autres personnes.

Prérequis

  • Git, et l’accès au dépôt d’Onirix.
  • Docker Desktop, ou Docker Engine 24 ou plus récent avec Compose v2.
  • 8 Go de mémoire alloués à Docker, dont 2 Go pour OpenSearch, et environ 10 Go d’espace disque.
  • Une clé d’API Retransmit  et un domaine d’expédition vérifié : la création d’un compte envoie un e-mail de confirmation.
  • Sous Linux uniquement, ce réglage du noyau pour OpenSearch :
sudo sysctl -w vm.max_map_count=262144 echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-opensearch.conf

1. Récupérer le code

git clone https://github.com/jpainam/onirix.git cd onirix

2. Créer le fichier d’environnement

cp apps/dashboard/.env.example apps/dashboard/.env

Renseignez les quatre valeurs en tête du fichier, et laissez les autres telles quelles :

VariableValeur
BETTER_AUTH_SECRETLe résultat de openssl rand -base64 32
SECRETS_ENCRYPTION_KEYLe résultat de openssl rand -base64 32
RETRANSMIT_API_KEYVotre clé Retransmit, qui commence par rt_
EMAIL_FROMUne adresse de votre domaine vérifié

Conservez SECRETS_ENCRYPTION_KEY en lieu sûr et ne la changez jamais : elle chiffre les clés d’API des modèles et les identifiants des bases connectées. La perdre, c’est perdre ces informations.

3. Construire et démarrer

docker compose up -d --build

La première construction prend de 5 à 10 minutes. Attendez que docker compose ps affiche le service dashboard dans l’état healthy : OpenSearch est le plus long à démarrer. Le service d’indexation crée lui-même le schéma de la base et le compartiment de stockage.

4. Ouvrir Onirix

Ouvrez http://localhost:3001 , créez votre compte et cliquez sur le lien de confirmation reçu par e-mail. Onirix vous guide ensuite pour configurer l’espace : prévoyez une clé d’API de votre fournisseur de modèles.

Au quotidien

TâcheCommande
Suivre les journauxdocker compose logs -f dashboard worker
Arrêter, en gardant les donnéesdocker compose down
Redémarrerdocker compose up -d
Mettre à jourgit pull && docker compose up -d --build
Tout effacer, données comprisesdocker compose down -v

Une mise à jour applique d’elle-même les migrations de la base au démarrage. Après une modification de apps/dashboard/.env, relancez docker compose up -d --build, et pas seulement un redémarrage : la construction lit aussi ce fichier.

Ports

ServicePort
Onirix3001
PostgreSQL5433
OpenSearch9200
MinIO (API, console)9000, 9001
Redis6380

PostgreSQL et Redis utilisent 5433 et 6380 pour ne pas entrer en conflit avec une installation locale. Pour les déplacer, créez un fichier .env à côté de docker-compose.yml avec POSTGRES_HOST_PORT et REDIS_HOST_PORT.

Avant une mise en service

Cette configuration est pensée pour un poste de développement.

  • Les services démarrent avec des mots de passe par défaut, et leurs ports sont ouverts. Sur un serveur partagé, définissez POSTGRES_PASSWORD, MINIO_ROOT_USER, MINIO_ROOT_PASSWORD et OPENSEARCH_ADMIN_PASSWORD dans le fichier .env à la racine avant le premier démarrage, et fermez tous les ports sauf 3001.
  • La construction inscrit les valeurs de apps/dashboard/.env dans l’image : ne publiez pas ces images sur un registre.
  • Pour servir Onirix à une autre adresse que http://localhost:3001, changez BETTER_AUTH_URL et CORS_ORIGIN dans docker-compose.yml, faute de quoi la connexion est refusée.

Sauvegardes

Toutes les données tiennent dans trois volumes Docker et dans apps/dashboard/.env.

docker compose exec postgres pg_dump -U postgres onirix > onirix-$(date +%F).sql
  • onirix_postgres_data : les comptes, les documents et les conversations. À sauvegarder.
  • onirix_minio_data : les fichiers originaux envoyés. À sauvegarder.
  • onirix_opensearch_data : l’index de recherche, qui se reconstruit en réindexant.

En cas de problème

SymptômeCause
La construction échoue sur une erreur de validation VarlockUne valeur obligatoire de apps/dashboard/.env est vide, trop courte, ou la clé Retransmit ne commence pas par rt_
La construction s’arrête, code 137Docker manque de mémoire : passez-le à 8 Go
opensearch s’arrête sur max virtual memory areasLe réglage vm.max_map_count manque, voir les prérequis
port is already allocatedUn autre programme utilise ce port, voir Ports
L’e-mail de confirmation n’arrive jamaisLe domaine de EMAIL_FROM n’est pas vérifié chez Retransmit : voir docker compose logs dashboard
dashboard reste unhealthyIl n’atteint pas PostgreSQL : voir docker compose logs dashboard postgres
Mis à jour le