Déployer sur Scalingo
Scalingo est un PaaS français, particulièrement adapté aux déploiements TrocOS pour les communautés européennes. Il gère PostgreSQL, SSL et la mise à l'échelle automatiquement.
1. Créer votre application
Inscrivez-vous sur scalingo.com et créez une nouvelle application. Lors de la création, liez-la à votre fork GitLab de TrocOS — cela vous permet de déclencher des déploiements directement depuis le tableau de bord.
2. Ajouter l'extension PostgreSQL
Dans le tableau de bord de votre app, allez dans Extensions et ajoutez PostgreSQL. Scalingo provisionne une base de données et définit automatiquement la variable DATABASE_URL.
3. Définir les variables d'environnement
Dans Environnement, ajoutez les variables suivantes :
| Variable | Valeur |
|---|---|
RAILS_ENV | production |
SECRET_KEY_BASE | Générez une valeur avec rails secret |
DATABASE_URL est déjà défini par l'extension PostgreSQL.
Fournisseurs OAuth (optionnel) — définissez uniquement les variables des fournisseurs que vous souhaitez activer :
| Variable | Description |
|---|---|
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET | Identifiants de l'app OAuth GitHub |
DISCORD_CLIENT_ID / DISCORD_CLIENT_SECRET | Identifiants de l'app OAuth Discord |
SLACK_CLIENT_ID / SLACK_CLIENT_SECRET | Identifiants de l'app OAuth Slack |
Consultez le guide Configuration OAuth pour créer ces identifiants.
4. Déployer
Déclenchez un déploiement manuel depuis le tableau de bord — Scalingo compile l'application, exécute les migrations automatiquement et la rend accessible via votre URL Scalingo.
5. Configuration initiale
Après le premier déploiement, exécutez la tâche de configuration avec le CLI Scalingo :
scalingo --app <nom-de-votre-app> run bundle exec rails trocos:setupCette commande crée votre premier compte administrateur.
6. Accéder à votre application
Votre instance TrocOS est disponible à l'URL indiquée dans votre tableau de bord Scalingo.
Optionnel : Domaine personnalisé
Dans Domaines, ajoutez votre domaine personnalisé et activez SSL. Scalingo génère automatiquement un certificat Let's Encrypt.