Pular para o conteúdo
Um esquife com vela turquesa reboca uma barcaça de caixas brilhantes de um porto cinza rumo a um farol, à noite

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.

A rota

Três passos

Exportar, fazer deploy, virar a chave. O terminal abaixo é a migração inteira, do começo ao fim.

Um guindaste do cais baixa uma caixa luminosa em um pequeno barco atracado em um píer à noite
01 · EXPORTAR

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_*.

Um galpão de barcos iluminado em âmbar quente por dentro, um barco na rampa com algumas faíscas e um brilho turquesa
02 · DEPLOY

Faça deploy na Skiffly

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

Um farol varre com seu feixe um barco de vela turquesa atracado a um píer com uma placa iluminada
03 · VIRADA

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
Checklist

Antes da virada

Comparar com o Railway
  • 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.
Amanhecer em mar aberto: um barco de vela turquesa segue para o horizonte por uma linha tracejada de carta náutica desenhada sobre o mar

Comece a migração no plano Free

Um app e um banco de dados sem cartão para testar o build. Recarregue quando estiver pronto para a virada.