Langsung ke konten

Migrasi dari Fly.io ​

Aplikasi Fly.io adalah image Docker, jadi biasanya bisa di-deploy di Zenavo dengan Dockerfile yang sama. fly.toml tidak dibaca; pengaturannya dipetakan ke layanan seperti di bawah.

Padanan Fly.io di Zenavo ​

Fly.ioZenavo
AppLayanan di sebuah proyek di satu server
[build] dengan DockerfileDockerfile di direktori root
internal_port dari [http_service]Port HTTP layanan
[env] dan secretsVariabel
[processes]Satu layanan per proses dari repositori yang sama, dengan perintah start-nya
[deploy] release_commandPerintah yang dijalankan sebelum aplikasi, di perintah start
Volume [[mounts]]Volume
Pemeriksaan HTTPHealth check HTTP
<app>.internal dan Flycast<hostname>.zenavo.internal (Jaringan Privat)
Region, auto stop dan startSatu server per proyek; layanan tetap berjalan
fly certsSertifikat Let's Encrypt otomatis

1. Deploy aplikasi ​

  1. Tambahkan server dan buat proyek.
  2. Add Service → GitHub, pilih repositori; pratinjau seharusnya menampilkan Dockerfile. Atur port HTTP ke internal_port aplikasi.
  3. Tambahkan satu layanan untuk setiap entri di [processes] dengan perintahnya, dan satu volume untuk setiap [[mounts]] di path yang sama.

2. Salin variabel ​

Salin [env] ke Variable → Edit Raw Variables. fly secrets list hanya menampilkan nama, bukan nilainya, jadi ambil nilainya dari tempat Anda menyimpannya. Arahkan URL database ke database Zenavo, seperti DATABASE_URL=${POSTGRESQL_CONNECTION_STRING}.

3. Pindahkan data ​

PostgreSQL. Buka tunnel ke aplikasi Fly Postgres dan buat dump SQL biasa; Zenavo tidak membaca format custom pg_dump:

sh
fly proxy 15432:5432 -a my-db
pg_dump --no-owner --no-acl "postgres://postgres:PASSWORD@localhost:15432/my_app" | gzip > fly.sql.gz

Unggah dan pulihkan di tab Backup & Restore layanan PostgreSQL baru, dengan versi mayor yang sama (Mengunggah backup).

Volume. Kemas volume menjadi arsip tanpa kompresi di mesin, lalu unduh:

sh
fly ssh console -a my-app -C "tar cf /tmp/data.tar -C /data ."
fly ssh sftp get /tmp/data.tar -a my-app

Pulihkan data.tar ke volume baru yang kosong dari tab Backup & Restore layanan, dengan proyek dihentikan (Backup & Restore).

4. Alihkan domain ​

Pasang domain di Networking, lalu ganti record A dan AAAA yang mengarah ke Fly dengan record A ke alamat IP server (Domain & HTTPS).

Tidak berafiliasi dengan Zeabur.