Langsung ke konten

Migrasi dari Railway ​

Proyek Railway sangat mirip dengan proyek Zenavo: layanan, jaringan privat, variabel bersama, dan volume semuanya punya padanan.

Padanan Railway di Zenavo ​

RailwayZenavo
Proyek dan environmentProyek di satu server; environment lain adalah proyek hasil kloning
Layanan dari GitHubLayanan dari GitHub, di-deploy ulang saat push
Build Nixpacks atau Railpackzbpack, atau Dockerfile Anda
Perintah start, path healthcheck (railway.json)Perintah start dan health check HTTP
Variabel referensi ${{Postgres.DATABASE_URL}}Variabel bersama, seperti ${POSTGRESQL_CONNECTION_STRING} (Variabel Lingkungan)
<service>.railway.internal<hostname>.zenavo.internal (Jaringan Privat)
VolumeVolume
Watch pathsWatch paths
ReplikaReplika, di satu server
Jadwal cronBelum ada job terjadwal: jalankan layanan worker dengan scheduler di aplikasi

1. Bangun ulang layanan ​

  1. Tambahkan server dan buat proyek.
  2. Tambahkan database terlebih dahulu (Database), lalu setiap layanan aplikasi dari Add Service → GitHub, dengan direktori root yang sama.
  3. Salin perintah start dan path healthcheck setiap layanan dari pengaturan Railway atau railway.json ke Settings layanan.

2. Salin variabel ​

Raw Editor di Variables layanan Railway menampilkannya sebagai baris KEY=value; tempel di Variable → Edit Raw Variables. Ganti variabel referensi dengan variabel bersama Zenavo: ${{Postgres.DATABASE_URL}} menjadi ${POSTGRESQL_CONNECTION_STRING}, dan ${{api.RAILWAY_PRIVATE_DOMAIN}} menjadi api.zenavo.internal.

3. Pindahkan data ​

Untuk PostgreSQL, buat dump SQL biasa lewat URL publik database (DATABASE_PUBLIC_URL di Railway), dengan versi mayor yang sama di Zenavo:

sh
pg_dump --no-owner --no-acl "$DATABASE_PUBLIC_URL" | gzip > railway.sql.gz

Unggah di tab Backup & Restore database baru dan pulihkan ke database yang masih kosong (Mengunggah backup). Untuk MySQL, gunakan mysqldump dengan cara yang sama.

Untuk volume, salin file-nya keluar (misalnya dengan tar dari shell di layanan Railway), lalu unggah dengan kartu Files layanan, atau pulihkan .tar tanpa kompresi ke volume kosong (Backup & Restore).

4. Alihkan domain ​

Pasang setiap domain di Networking, lalu ganti CNAME Railway dengan record A ke alamat IP server (Domain & HTTPS).

Tidak berafiliasi dengan Zeabur.