Перейти к содержимому
Скиф с бирюзовым парусом буксирует баржу со светящимися ящиками от серой гавани к маяку ночью

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

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

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

Маршрут

Три шага

Экспорт, деплой, переключение. Терминал ниже — весь переезд от начала до конца.

Портовый кран опускает светящийся ящик в небольшую лодку у ночного причала
01 · ЭКСПОРТ

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

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

Лодочный сарай, освещённый изнутри тёплым янтарным светом, лодка на слипе, несколько искр и бирюзовое свечение
02 · ДЕПЛОЙ

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

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

Маяк ведёт лучом по лодке с бирюзовым парусом, пришвартованной у пирса с подсвеченным указателем
03 · ПЕРЕКЛЮЧЕНИЕ

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

Проверьте на сгенерированном домене *.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.
  • Preview-окружения для PR включаются на уровне проекта; форки игнорируются.
Рассвет в открытом море: лодка с бирюзовым парусом идёт к горизонту вдоль пунктирной линии карты, нарисованной на воде

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

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