Skip to content

Déployer sur Heroku ​

Heroku est un PaaS reconnu qui simplifie le déploiement de TrocOS. Il gère PostgreSQL, SSL et les déploiements depuis votre dépôt Git.

1. Créer votre application ​

Inscrivez-vous sur heroku.com et créez une nouvelle application depuis le tableau de bord ou le CLI :

sh
heroku create trocos

2. Configurer les buildpacks ​

TrocOS nécessite les buildpacks Node.js (pour la compilation CSS) et Ruby. Node.js doit être en premier :

sh
heroku buildpacks:add --index 1 heroku/nodejs --app trocos
heroku buildpacks:add --index 2 heroku/ruby --app trocos

3. Ajouter Heroku Postgres ​

sh
heroku addons:create heroku-postgresql:essential-0 --app trocos

Cela provisionne une base de données PostgreSQL et définit automatiquement DATABASE_URL.

4. Définir les variables de configuration ​

sh
heroku config:set RAILS_ENV=production --app trocos
heroku config:set SECRET_KEY_BASE=$(rails secret) --app trocos

Fournisseurs OAuth (optionnel) — définissez uniquement les variables des fournisseurs que vous souhaitez activer :

sh
heroku config:set GITHUB_CLIENT_ID=... GITHUB_CLIENT_SECRET=... --app trocos
heroku config:set DISCORD_CLIENT_ID=... DISCORD_CLIENT_SECRET=... --app trocos
heroku config:set SLACK_CLIENT_ID=... SLACK_CLIENT_SECRET=... --app trocos

Consultez le guide Configuration OAuth pour créer ces identifiants.

5. Déployer ​

Connectez votre dépôt GitLab ou GitHub depuis le tableau de bord Heroku (Paramètres → Déploiement), ou poussez directement :

sh
heroku git:remote --app trocos
git push heroku main

6. Migrations et configuration initiale ​

sh
heroku run bundle exec rails db:migrate --app trocos
heroku run bundle exec rails trocos:setup --app trocos

trocos:setup crée votre premier compte administrateur.

7. Ouvrir votre application ​

sh
heroku open --app trocos

Votre instance TrocOS est disponible à https://trocos.herokuapp.com.

Optionnel : Domaine personnalisé ​

sh
heroku domains:add www.example.com --app trocos
heroku certs:auto:enable --app trocos

Heroku génère automatiquement un certificat Let's Encrypt quand l'ACM SSL est activé.

Released under the AGPL-3.0 License.