Migrer depuis Heroku
Passer une application Heroku sur Fransys : le Procfile, les config vars, Heroku Postgres, le Scheduler et les add-ons.
La correspondance
Section intitulée « La correspondance »| Sur Heroku | Sur Fransys |
|---|---|
un dyno web du Procfile | une Application |
un dyno worker | une copie du service, avec un rôle lu par le point d’entrée |
la phase release | Commandes de déploiement › Avant une mise à jour |
| les config vars | Variables, en important un .env |
| Heroku Postgres | une base PostgreSQL |
| Heroku Redis | une base Redis |
| Heroku Scheduler | une tâche planifiée |
| un buildpack | un Dockerfile dans votre dépôt |
| le domaine | Ajouter un domaine, puis l’enregistrement DNS |
1. Le Dockerfile
Section intitulée « 1. Le Dockerfile »Fransys construit une image Docker : ajoutez un Dockerfile à votre dépôt. Voir Déployer Laravel ou Node.js et Next.js. Écoutez sur le port de votre choix, réglé ensuite dans Port du conteneur (Heroku impose $PORT, Fransys non).
2. Le service et ses variables
Section intitulée « 2. Le service et ses variables »Ajoutez l’application et branchez la CI (Depuis GitHub ou GitLab). Récupérez vos config vars :
heroku config -s -a mon-app > heroku.envpuis importez le fichier dans Variables (mode Plusieurs variables (.env)). Retirez DATABASE_URL et REDIS_URL : elles viendront des bases Fransys. Protégez les secrets.
3. Les données
Section intitulée « 3. Les données »Ajoutez une base PostgreSQL reliée à l’application, activez son accès à distance, puis :
heroku pg:backups:capture -a mon-appcurl -o dump.backup "$(heroku pg:backups:url -a mon-app)"pg_restore --no-owner --no-acl -h <hôte> -p <port> -U <utilisateur> -d <base> dump.backupavec les identifiants de la base Fransys. Coupez l’accès à distance une fois l’import fait.
4. Les workers et le scheduler
Section intitulée « 4. Les workers et le scheduler »- Chaque dyno
worker: copiez le service et donnez-lui son rôle. Voir Application. - Chaque tâche du Scheduler : une tâche planifiée.
5. Basculer
Section intitulée « 5. Basculer »Déployez, vérifiez l’adresse en fransysapp.com, puis ajoutez votre domaine et changez le DNS. Gardez l’application Heroku en lecture seule le temps que le DNS se propage. Voir Domaine et HTTPS.