I moved my whole server off Easypanel with one command, and five things broke
说明与用途
作者使用单个命令将服务器从 Easypanel 迁移到 Tugport,但出现了五个问题:环境变量模板未解析、占位域名导致健康检查失败、网络池冲突、无害的 409 错误以及 Telegram 机器人冲突。修复后迁移成功,但需要手动调整和健康检查设置。
问题
Migrating a production server from Easypanel to Tugport caused five operational issues that required manual fixes.
结果
The migration succeeded with 54 services running, but required manual intervention for five bugs and adjustments to health checks and image pinning.
工作流
- Run "tugport migrate easypanel --dry-run" to preview changes.
- Execute "tugport migrate easypanel" to perform the migration.
- Fix literal env templates by setting variables manually.
- Remove conflicting placeholder domains and network pools.
- Address cosmetic 409 errors and Telegram bot conflicts.
- Adjust database health check intervals and pin image versions.
- Clean up remaining Easypanel resources and set new backup schedules.
- Verify deployments and webhook configurations.
证据
I moved my main server from Easypanel to Tugport, the deploy panel I've been building.
Five things broke along the way, and I'll go through each of them below.
Easypanel's env templates were copied literally.
Placeholder domains confused the health checks.
"Pool overlaps." My CI runner is a Compose stack that pins its subnet, and the stopped old stack was still holding that network.
A harmless "already attached" 409 on rerun was printed as an error.
Telegram bots fought over updates.
Databases are now checked every 30 seconds with a 15-second timeout.
Every database image on the server is pinned to an exact version, and the migrator pins moved databases to the exact image they ran under Easypanel.
- 记录日期: 2026-10-27T17:11:10.454Z