3.8 KiB
3.8 KiB
Panduan Deploy Backend ke Railway
Persiapan
1. Setup MongoDB Atlas (Database Cloud)
- Buka MongoDB Atlas
- Buat akun gratis (jika belum punya)
- Buat cluster baru (pilih FREE tier)
- Tunggu cluster selesai dibuat (±5 menit)
- Klik "Connect" → "Connect your application"
- Copy connection string, contoh:
mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/autoclave?retryWrites=true&w=majority - Ganti
<password>dengan password database Anda - Simpan connection string ini untuk nanti
2. Push Code ke GitHub
A. Inisialisasi Git (jika belum)
cd Back-end
git init
B. Buat repository di GitHub
- Buka GitHub
- Klik tombol "+" → "New repository"
- Nama repository:
autoclave-backend(atau nama lain) - Pilih "Public" atau "Private"
- JANGAN centang "Initialize with README" (karena sudah ada)
- Klik "Create repository"
C. Push code ke GitHub
# Tambahkan semua file
git add .
# Commit
git commit -m "Initial commit: Backend autoclave system"
# Tambahkan remote (ganti dengan URL repository Anda)
git remote add origin https://github.com/username/autoclave-backend.git
# Push ke GitHub
git branch -M main
git push -u origin main
3. Deploy ke Railway
A. Buat akun Railway
- Buka Railway.app
- Klik "Login" → pilih "Login with GitHub"
- Authorize Railway untuk akses GitHub Anda
B. Deploy dari GitHub
- Di Railway dashboard, klik "New Project"
- Pilih "Deploy from GitHub repo"
- Pilih repository
autoclave-backendyang baru dibuat - Railway akan otomatis detect Node.js project
- Klik "Deploy Now"
C. Set Environment Variables
-
Setelah deploy, klik project Anda
-
Klik tab "Variables"
-
Tambahkan variabel berikut:
PORT=5000 MONGODB_URI=mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/autoclave?retryWrites=true&w=majority -
Klik "Add" untuk setiap variabel
D. Dapatkan URL Production
- Klik tab "Settings"
- Scroll ke "Domains"
- Klik "Generate Domain"
- Copy URL yang digenerate, contoh:
https://autoclave-backend-production.up.railway.app
4. Update Frontend
Setelah mendapat URL production, update file .env di frontend:
BACKEND_URL=https://autoclave-backend-production.up.railway.app
Atau update Front-end/src/config.ts:
export const BACKEND_URL = 'https://autoclave-backend-production.up.railway.app';
Testing
Test endpoint dengan curl atau Postman:
# Test root endpoint
curl https://your-app.up.railway.app/
# Test API endpoint
curl https://your-app.up.railway.app/sterilisasi/running/last
Monitoring
- Di Railway dashboard, klik project Anda
- Klik tab "Deployments" untuk melihat status deploy
- Klik tab "Logs" untuk melihat log real-time
- Klik tab "Metrics" untuk melihat usage
Troubleshooting
Deploy Gagal
- Cek logs di Railway dashboard
- Pastikan
package.jsonmemiliki script"start": "node server.js" - Pastikan semua dependencies sudah di-install
Database Connection Error
- Pastikan MongoDB Atlas cluster sudah running
- Pastikan IP whitelist di MongoDB Atlas diset ke
0.0.0.0/0(allow all) - Pastikan connection string benar (username, password, database name)
MQTT Connection Error
- MQTT broker (HiveMQ) harus bisa diakses dari Railway
- Cek logs untuk error connection
- Pastikan tidak ada firewall yang blocking
Update Code
Setiap kali ada perubahan code:
git add .
git commit -m "Update: deskripsi perubahan"
git push
Railway akan otomatis re-deploy setelah push ke GitHub.
Free Tier Limits
Railway free tier:
- $5 credit per bulan
- 500 jam execution time
- 1GB RAM
- 1GB disk
Cukup untuk development dan testing!