.env {#env}
Cette page décrit la mise en route de l'application après que l'environnement système est prêt (voir Native Ubuntu ou Docker). On y clone le repo, installe les dépendances Ruby/JS, configure .env, initialise la base, charge le lexicon, et démarre les serveurs.
mkdir -p ~/projects && cd ~/projects
git clone -b 5.0-beta https://github.com/ekylibre/ekylibre.git
cd ekylibre
Si vous travaillez sur la version GitLab privée :
git clone -b 5.0-beta git@gitlab.com:ekylibre/eky.git
bundle install
yarn install
Important : plusieurs plugins privés sont déclarés via
Gemfile.local. Si vous n'avez pas accès aux dépôts privés (github.com/ekylibre/ekylibre-bankingetc.), commentez les lignes correspondantes dansGemfile.localavant de relancerbundle install.Astuce :
bundle installéchoue parfois surnokogiri/rgeoavec une vieille version debundler. Mettre à jour :bash gem install bundler -v '>= 2.3'
.env {#env}
cp .env.dist .env
Le fichier .env.dist contient des secrets de développement uniquement (clés Devise, secret base). Pour le dev local, vous pouvez le laisser tel quel.
Quelques variables clés :
| Variable | Valeur dev | Description |
|---|---|---|
DEVISE_SECRET_KEY |
(fournie) | Authentification utilisateurs |
SECRET_KEY_BASE |
(fournie) | Chiffrement des cookies Rails |
GPG_EMAIL |
Email de votre clé GPG (voir §5) | Signature des documents |
MAILER_SENDER |
sender-is-not-defined@example.org |
Émetteur des emails |
En production : régénérer tous les secrets avec
openssl rand -hex 64, restreindrechmod 600 .env, et ne pas committer.Crédentials d'API tierces (Saisigo, Baqio, Qonto…) : demandez-les à un autre développeur Ekylibre. Sans ces clés, certaines intégrations seront désactivées (non bloquant pour le démarrage).
bundle exec rails db:create db:migrate
Si vous voyez FATAL: Peer authentication failed, c'est que pg_hba.conf n'a pas été ajusté pour utiliser md5 — voir §3.c de Native Ubuntu.
Ekylibre signe certains documents (clôtures d'exercice, archives) avec GPG.
gpg --gen-key
Suivre les instructions interactives (nom, email, mot de passe). Puis renseigner l'email dans .env :
echo "GPG_EMAIL=votre-email@example.org" >> .env
Sauter cette étape : uniquement si vous n'utiliserez pas les fonctionnalités de signature (acceptable en dev exploratoire).
Le lexicon est la base nomenclaturale d'Ekylibre (variétés végétales, équipements, intrants…) — plus de 20 millions d'items.
bin/rake lexicon:load
Cette étape prend 5 à 10 minutes. Le rake task télécharge des archives depuis un MinIO/S3 si les variables
MINIO_HOST/ACCESS_KEY/SECRET_KEYsont renseignées dans.env, ou utilise le snapshot embarqué sinon.
mkdir -p db/first_runs
git clone https://github.com/ekylibre/first_run-demo.git db/first_runs/demo
bin/rake first_run
Ajouter une entrée dans /etc/hosts pour résoudre le tenant demo :
echo '127.0.0.1 demo.ekylibre.lan' | sudo tee -a /etc/hosts
bin/rake tenant:init TENANT=my-farm
echo '127.0.0.1 my-farm.ekylibre.lan' | sudo tee -a /etc/hosts
Ekylibre nécessite trois processus en parallèle (en dev sans Docker, ouvrir trois terminaux ou utiliser tmux / foreman).
bundle exec rails s
bundle exec sidekiq
bin/webpack-dev-server
Sans
webpack-dev-server, Rails compile les assets à la volée à la première requête — plus lent mais suffisant pour exploration.
Ouvrir http://demo.ekylibre.lan:3000 (ou my-farm.ekylibre.lan selon l'option choisie).
Identifiants par défaut : voir db/first_runs/demo/ (généralement admin@ekylibre.org / 12345678).
# Console Rails accessible
bundle exec rails c
# loading development environment (Rails 6.x.x)
# Jobs en attente
bundle exec sidekiq-cli status
# Lexicon chargé
bundle exec rails runner "puts Lexicon::ProductionNature.count"
# Doit renvoyer un nombre > 0
L'installation est complète. Pour comprendre comment les pièces s'agencent, lire Architecture. Pour soumettre un correctif, lire Contribuer.
En cas d'erreur, consulter Résolution de problèmes.
Cette documentation est open-source. Aidez-nous à l'améliorer en ouvrant une issue ou une pull request.