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.