Ir al contenido

Migración · Railway → Skiffly

De Railway a Skiffly en tres pasos.

Los conceptos se corresponden uno a uno: espacio de trabajo, proyecto, entorno, servicio, ${{Postgres.DATABASE_URL}}. La mayoría de documentos de la API corre sin cambios y los comandos de la CLI comparten nombre. Lo que cambia es a quién pagas y dónde viven tus datos.

Tres pasos

  1. 1

    Exporta lo que Railway sabe

    Variables por servicio con railway variables --kv; un pg_dump de cada base de datos. Quita las entradas RAILWAY_*: Skiffly provee los equivalentes SKIFFLY_*.

  2. 2

    Despliega en Skiffly

    skiffly init en cada repositorio y luego skiffly up. Define las variables, despliega la plantilla de Postgres, restaura el dump por skiffly connect.

  3. 3

    Mueve el dominio

    Prueba en el dominio generado *.skiffly.cloud, agrega el dominio propio, cambia el CNAME cuando se emita el certificado. Mantén Railway encendido hasta que el DNS se propague.

terminal
# 1. export
railway variables --kv > vars.env
pg_dump "$RAILWAY_DATABASE_URL" -Fc -f db.dump

# 2. deploy
skiffly init && skiffly up
skiffly deploy --template postgres
skiffly connect postgres --print       # → pg_restore -d <url> db.dump
skiffly variables set --skip-deploys $(grep -v '^RAILWAY_' vars.env | xargs)
skiffly variables set 'DATABASE_URL=${{Postgres.DATABASE_URL}}'
skiffly redeploy

# 3. cut over
skiffly domain app.example.com         # prints the CNAME + TXT records

Antes de cambiar el DNS

Comparar con Railway
  • La app escucha en $PORT (8080 por defecto si no lo defines).
  • Nada depende de *.railway.internal ni de red privada IPv6.
  • El SMTP saliente por el puerto 25 está bloqueado; usa 587 con autenticación.
  • Límites de plan: Hobby 8 GB / 8 vCPU por servicio, Pro 32 GB / 32 vCPU.
  • Las vistas previas de PR se activan por proyecto; los forks se ignoran.

Empieza la mudanza en el plan gratuito

Un servicio sin tarjeta para probar el build. Recarga cuando estés listo para cambiar el DNS.