Viniendo de Heroku
Mueve una app de Heroku a un servidor propio, Dockerfile o buildpacks, Procfile, config vars, Postgres y Redis, sin lock-in.
La forma rápida: pega un token de API de Heroku en el importador y Railyard trae los procesos, variables de entorno, bases de datos con sus datos, y dominios. Los pasos de abajo son lo que hace por ti, y cómo hacerlo a mano.
Por qué los equipos dejan Heroku
La cuenta crece con cada dyno, cada add-on, y cada compañero de equipo, y está cotizada en una moneda en la que quizás no generas tus ingresos. El tier gratis ya no existe. Salesforce define el roadmap. Y cuando te vas, te llevas tu código y nada más: la plataforma nunca fue tuya para mover.
Railyard te da el mismo flujo de push para desplegar sobre un servidor Linux en tu propia cuenta de nube. Tu proveedor te factura directamente, a su precio. Cancela Railyard y la app sigue corriendo.
Qué se viene contigo
- Tu repositorio, sin cambios. Railyard construye desde un Dockerfile o desde Cloud Native Buildpacks (los mismos buildpacks que usa Heroku), así que la mayoría de las apps no necesitan cambios.
- Tu Procfile.
web,worker,releasey cualquier otro tipo de proceso se leen tal cual. - Tus config vars. Pégalas; se convierten en el entorno de la app.
- Heroku Postgres y Heroku Data for Redis se mapean a complementos administrados de Postgres y Redis. Railyard los provisiona e inyecta
DATABASE_URL/REDIS_URLpor ti. - Dominios personalizados y TLS automático.
La migración
- Apunta Railyard a un servidor. Conecta uno que ya tengas, o haz que Railyard provisione uno en tu cuenta de DigitalOcean / Hetzner / AWS.
- Agrega tu repositorio y elige tu método de build. Si tu app ya se despliega en Heroku con buildpacks, elige buildpacks y no cambies nada.
- Trae tu configuración. Pega tus config vars. Conecta Postgres y Redis; Railyard conecta las URLs.
- Despliega. Mira el build en vivo. Abre la URL temporal y recorre la app.
- Mueve tus datos.
heroku pg:backups:capturey luegopg:backups:download, y restaura el dump en el complemento administrado de Postgres. Lo mismo para Redis si lo persistes. - Cambia el DNS. Tu app de Heroku sigue sirviendo hasta que el registro cambia. No hay una ventana en la que nada esté arriba. Luego
heroku apps:destroyy cancela los add-ons.
Qué es distinto
Ahora eres responsable de un servidor, pero Railyard lo provisiona, mantiene Docker parchado, corre los despliegues, y maneja TLS, copias de seguridad y rollbacks. Lo que compras con eso: sin markup sobre el cómputo, sin lock-in de proveedor, y una máquina que puedes apuntar a la nube que prefieras.