Pular para o conteúdo

Migração · Railway → Skiffly

Do Railway para a Skiffly em três passos.

Os conceitos correspondem um a um: workspace, projeto, ambiente, serviço, ${{Postgres.DATABASE_URL}}. A maioria dos documentos de API roda sem alterações e os comandos da CLI têm os mesmos nomes. O que muda é a quem você paga e onde seus dados ficam.

Três passos

  1. 1

    Exporte o que o Railway sabe

    Variáveis por serviço com railway variables --kv; um pg_dump de cada banco de dados. Descarte as entradas RAILWAY_*: a Skiffly fornece os equivalentes SKIFFLY_*.

  2. 2

    Implante na Skiffly

    skiffly init em cada repositório, depois skiffly up. Defina as variáveis, implante o template de Postgres, restaure o dump através do skiffly connect.

  3. 3

    Mova o domínio

    Teste no domínio *.skiffly.cloud gerado, adicione o domínio personalizado, troque o CNAME quando o certificado for emitido. Mantenha o Railway rodando até o DNS propagar.

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
  • O app escuta em $PORT (padrão 8080 quando não definida).
  • Nenhuma dependência de *.railway.internal ou de rede privada IPv6.
  • SMTP de saída na porta 25 é bloqueado; use a 587 com autenticação.
  • Limites dos planos: Hobby 8 GB / 8 vCPU por serviço, Pro 32 GB / 32 vCPU.
  • As pré-visualizações de PR são ativadas por projeto; forks são ignorados.

Comece a migração no plano Free

Um serviço sem cartão para testar o build. Recarregue quando estiver pronto para a virada.