Перейти к содержимому

Миграция · Railway → Skiffly

С Railway на Skiffly за три шага.

Понятия совпадают один к одному: рабочее пространство, проект, окружение, сервис, ${{Postgres.DATABASE_URL}}. Большинство API-документов работают без изменений, а команды CLI носят те же имена. Меняется лишь то, кому вы платите и где живут ваши данные.

Три шага

  1. 1

    Экспортируйте всё, что знает Railway

    Переменные каждого сервиса через railway variables --kv; pg_dump каждой базы данных. Уберите записи RAILWAY_*: Skiffly предоставляет эквиваленты SKIFFLY_*.

  2. 2

    Разверните на Skiffly

    skiffly init в каждом репозитории, затем skiffly up. Задайте переменные, разверните шаблон Postgres, восстановите дамп через skiffly connect.

  3. 3

    Перенесите домен

    Проверьте на сгенерированном домене *.skiffly.cloud, добавьте собственный домен, переключите CNAME, когда сертификат будет выпущен. Не выключайте Railway, пока DNS не обновится.

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

Перед переключением

Сравнить с Railway
  • Приложение слушает $PORT (по умолчанию 8080, если не задан).
  • Нет зависимости от *.railway.internal или приватной сети IPv6.
  • Исходящий SMTP на порту 25 заблокирован; используйте 587 с аутентификацией.
  • Лимиты планов: Hobby — 8 ГБ / 8 vCPU на сервис, Pro — 32 ГБ / 32 vCPU.
  • PR-превью включаются на уровне проекта; форки игнорируются.

Начните переезд на бесплатном тарифе

Один сервис без карты, чтобы проверить сборку. Пополните баланс, когда будете готовы переключиться.