Ekylibre se déploie de plusieurs manières selon votre objectif (contribuer, héberger, tester). Cette page vous aide à choisir, puis vous renvoie vers la procédure pas-à-pas.
L'arbre ci-dessous vous guide vers la variante la plus adaptée à votre contexte. Il s'agit d'un mini-canvas PixiJS, purement visuel — toute la même information est disponible dans le tableau qui suit, si JavaScript est désactivé ou en mode prefers-reduced-motion.
| Variante | Quand la choisir | Effort | Durée 1ʳᵉ install | Lien |
|---|---|---|---|---|
| Docker dev | Vous contribuez au code, vous voulez un environnement isolé reproductible | Faible | 30 min | Docker dev |
| Native Ubuntu | Vous voulez tout maîtriser, sans Docker, sur votre poste Linux | Moyen | 1-2 h | Native Ubuntu |
| Setup app | Étape commune aux variantes natives, après installation des dépendances système | Faible | 20 min | Setup application |
| Docker prod standalone | Une seule app Ekylibre sur un serveur, HTTPS auto, contrôle total | Moyen | 1 h | Docker prod standalone |
| Docker prod Dokploy | Plusieurs apps sur le même serveur, UI de gestion, push-to-deploy Git | Moyen+ | 1-2 h | Docker prod Dokploy |
→ Docker dev. Tout est containerisé, vous n'altérez pas votre poste. Une fois fini, docker compose down et il ne reste rien.
→ Docker dev suffit dans 90 % des cas (volume monté, console Rails dispo). Choisissez Native Ubuntu + Setup app si vous avez besoin d'attacher un debugger natif ou de profiler.
→ Docker prod standalone si vous gérez ce serveur uniquement pour Ekylibre. Docker prod Dokploy si vous y faites tourner plusieurs apps et voulez une UI de monitoring.
→ Le fichier .pkgr.yml à la racine du repo contient les dépendances historiques (Debian 8, Ubuntu 14.04). Procédure non maintenue — préférer Docker.
Quelle que soit la variante, vérifiez les prérequis communs : Git, Docker, accès aux registres d'images, DNS, sysctl.
Toutes les erreurs courantes sont regroupées dans la page Résolution de problèmes : conflits de port, permissions Docker, Let's Encrypt rate-limit, lexicon qui ne charge pas, etc.
Cette documentation est open-source. Aidez-nous à l'améliorer en ouvrant une issue ou une pull request.