Migrer depuis Lerd, Herd, DDEV ou Sail
Reprendre en une fois les sites de Lerd, Laravel Herd, DDEV ou Laravel Sail : projets et domaines, bases de données copiées dans Joppa, .env réécrit avec diff et sauvegarde.
Vous utilisez déjà Lerd, Laravel Herd, DDEV ou Laravel Sail ? Migrer vers Joppa reprend vos sites en une fois : chaque site devient un projet Joppa avec son domaine .test en HTTPS, ses bases sont copiées dans les services de Joppa, et son .env est pointé vers Joppa. L’ancien outil est seulement lu : ses fichiers et ses bases ne sont jamais modifiés, et il n’est arrêté que si vous le demandez.
Ouvrez-la depuis :
- l’écran d’accueil, au premier lancement : Migrer depuis Lerd, Herd, DDEV ou Sail… ;
- Réglages › Migrer vers Joppa ;
- la palette ⌘ K : « Migrer depuis Lerd, Herd, DDEV ou Sail… » ;
- le bandeau du proxy, quand Lerd, Herd, DDEV ou Sail tient le port 443 : Migrer ses sites vers Joppa… (voir Ports 80 et 443 occupés).
1. Les sites trouvés
Joppa cherche les sites de chaque outil là où il les range :

| Outil | Où Joppa regarde | Bases |
|---|---|---|
| Lerd | lerd sites, son fichier de sites, et .lerd.yaml dans chaque projet |
Ses conteneurs Podman (lerd-mysql, lerd-postgres), avec les identifiants du .env du projet |
| Laravel Herd | Sa configuration : les dossiers parqués (chaque sous-dossier est un site) et les liens (herd link) |
Les services de Herd Pro sur votre machine (DB_HOST et DB_PORT du .env) |
| DDEV | ~/.ddev/project_list.yaml et .ddev/config.yaml |
Le conteneur ddev-<projet>-db |
| Laravel Sail | Les conteneurs laravel.test qui tournent, et les docker-compose.yml avec un service laravel.test |
Les services MySQL, MariaDB ou PostgreSQL du fichier Compose |
Joppa regarde aussi vos dossiers de code habituels (~/Code, ~/Sites, ~/Projects, ~/Herd…), un niveau en dessous. Un projet ailleurs ? Ajouter un dossier… le lit.
Chaque site affiche ses domaines, son dossier, ses bases et sa version de PHP. Les sites qui ne sont pas encore dans Joppa sont cochés ; ceux qui y sont déjà sont marqués « déjà dans Joppa ». Cochez ceux à migrer, puis Préparer le plan.
2. Le plan
Pour chaque site, avant que rien ne change :
- Le domaine : celui de l’outil s’il est déjà en
.test(Lerd, Herd), sinon<nom>.test(blog.ddev.sitedevientblog.test). S’il est déjà pris dans Joppa,blog-2.test. Il est routé vers127.0.0.1:8000, le port dephp artisan serve, ou vers le serveur de dev que Joppa détecte pour un projet non Laravel. - Chaque base : son moteur et sa version, sa taille, d’où elle est lue, et le service Joppa qui la reçoit (« → MySQL 8.4 dans Joppa · boutique »). Sans service compatible, Joppa en crée un, dans la version de la source si Joppa la propose et sur un port libre (« → nouveau service PostgreSQL 17 (port 5433) »). Une base de même nom existe déjà ? Le premier nom libre est utilisé (
boutique_import). - Le
.env: le diff de ce qui change (DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAME,DB_PASSWORD,APP_URLenhttps://), avec Voir les changements.
Trois cases par site :

| Case | Effet |
|---|---|
| Copier les bases | Copie chaque base dans son service Joppa, comme l’import Docker Compose : export avec le client de la source, création de la base, restauration, puis comparaison du nombre de tables |
| Pointer le .env vers Joppa | Écrit le .env montré par le diff. L’original est gardé en .env.joppa-backup |
| Puis arrêter … | Arrête l’ancien outil une fois le site migré : lerd stop, herd stop, ddev stop <projet>, ./vendor/bin/sail stop |
3. La migration
Migrer N sites enchaîne les étapes, site par site, avec leur progression : projet, bases, .env, arrêt. Une étape en échec n’arrête pas les autres ; le compte rendu final dit, pour chaque site, ce qui a été fait ou pourquoi ça a échoué, avec Ouvrir pour aller au projet. Relancer la migration d’un site déjà migré reprend son projet existant.
Si l’ancien outil a été arrêté et que le proxy de Joppa ne tournait pas (l’outil tenait le port 443), Joppa démarre son proxy à la fin.
Ce qui ne bouge pas
- Les fichiers du projet, sauf le
.envsi vous l’avez coché (sauvegardé avant). - Les bases de l’ancien outil : elles sont seulement lues.
- La configuration de l’ancien outil (ses sites, ses liens, son DNS). Si vous gardez Lerd, Herd ou Valet, leur résolution
.testcontinue de servir Joppa ; si vous les désinstallez, Joppa propose de poser la sienne (voir La résolution des domaines .test).