Template deploy PocketBase ke Railway menggunakan Dockerfile dengan:
- ✅ Auto create superuser saat first deploy
- ✅ Persistent volume
- ✅ Production ready setup
- ✅ Support Railway dynamic
$PORT
- Fork / Clone repo ini
- Push ke GitHub kamu
- Masuk ke Railway
- New Project → Deploy from GitHub
- Pilih repo ini
Masuk ke:
Service → Variables
Tambahkan:
ADMIN_EMAIL=admin@demo.demo
ADMIN_PASSWORD=demo12345
Masuk ke:
Service → Settings → Volumes → Add Volume
Isi Mount Path:
/pb_data
Tanpa volume ini, database akan hilang setiap redeploy.
Setelah deploy berhasil, Railway akan memberikan URL seperti:
https://your-project.up.railway.app
Admin panel tersedia di:
https://your-project.up.railway.app/_/
Login menggunakan:
Email: ADMIN_EMAIL
Password: ADMIN_PASSWORD
(Values sesuai Environment Variables yang kamu set.)
Saat container pertama kali jalan:
- Jika
/pb_data/data.dbbelum ada - Maka akan otomatis menjalankan:
pocketbase superuser upsert ADMIN_EMAIL ADMIN_PASSWORD
Setelah database dibuat, superuser tidak akan dibuat ulang.
Untuk test lokal:
docker build -t pocketbase-railway .
docker run -p 8090:8090 \
-e ADMIN_EMAIL=admin@demo.demo \
-e ADMIN_PASSWORD=demo12345 \
-v $(pwd)/pb_data:/pb_data \
pocketbase-railwayAkses di:
http://localhost:8090/_/
Disarankan untuk:
- Gunakan password kuat
- Aktifkan backup (Railway Volume snapshot / external storage)
- Lock down public API rules di PocketBase
- Gunakan custom domain