3.3 KiB
3.3 KiB
⚙️ SETUP RAILWAY WORKER - FIREBASE CREDENTIALS
🔑 Cara Mendapatkan Firebase Credentials
Step 1: Download Service Account Key
- Buka Firebase Console
- Pilih project: project-ta-951b4
- Klik ⚙️ icon (Settings) → Project Settings
- Tab Service Accounts
- Klik button "Generate New Private Key"
- Klik "Generate Key" → File JSON akan terdownload
Step 2: Extract Values dari JSON
Buka file JSON yang didownload (misalnya: project-ta-951b4-xxxxx.json) dengan text editor.
Copy values berikut:
{
"type": "service_account",
"project_id": "project-ta-951b4", ← COPY INI
"client_email": "firebase-adminsdk-xxxxx@project-ta-951b4.iam.gserviceaccount.com", ← COPY INI
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADA...\n-----END PRIVATE KEY-----\n", ← COPY INI
...
}
Step 3: Update File .env
Edit file: railway-worker/.env
FIREBASE_PROJECT_ID=project-ta-951b4
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-xxxxx@project-ta-951b4.iam.gserviceaccount.com
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nMIIEvQIBADA...\n-----END PRIVATE KEY-----\n"
FIREBASE_DATABASE_URL=https://project-ta-951b4-default-rtdb.firebaseio.com
⚠️ PENTING untuk PRIVATE_KEY:
- Harus dalam quotes
" - Harus ada
\n(backslash-n), bukan newline sebenarnya - Copy langsung dari JSON file (sudah format benar)
Step 4: Test Lokal (Optional)
cd railway-worker
node test-firebase-connection.js
Expected output:
✅ Firebase initialized
✅ DATA FOUND! Structure:
✅ DATA STRUCTURE VALID
Step 5: Set di Railway
Railway Dashboard → Service myreppril → Variables tab:
Add 4 variables (tanpa quotes!):
| Variable | Value |
|---|---|
FIREBASE_PROJECT_ID |
project-ta-951b4 |
FIREBASE_CLIENT_EMAIL |
firebase-adminsdk-xxxxx@project-ta-951b4.iam.gserviceaccount.com |
FIREBASE_PRIVATE_KEY |
-----BEGIN PRIVATE KEY-----\nMIIEvQIBADA...\n-----END PRIVATE KEY-----\n |
FIREBASE_DATABASE_URL |
https://project-ta-951b4-default-rtdb.firebaseio.com |
Railway akan auto-redeploy setelah add variables!
🚀 Setelah Setup
Check Railway Logs:
Railway → Service myreppril → Tab Logs
Harus muncul:
🚀 Starting ApsGo Railway Worker...
📡 Firebase Project: project-ta-951b4
✅ Firebase Admin initialized
✅ Redis connected
✅ Waktu Mode scheduler started
⚠️ Troubleshooting
Error: "Firebase initialization failed"
- Check PRIVATE_KEY format (harus dengan
\n) - Pastikan tidak ada extra spaces atau quotes di Railway Variables
- Regenerate key jika perlu
Error: "Redis connection failed"
- Add Redis database di Railway (+ New → Database → Redis)
- Tunggu auto-inject variables
No logs at all in Railway
- Set Root Directory =
railway-worker - Check Deployments tab untuk build errors
📞 Next Steps
Setelah .env file ready:
- Test lokal:
node test-firebase-connection.js - Set variables di Railway
- Wait for auto-redeploy
- Check Railway logs
Jika masih stuck, screenshot:
- Railway Variables tab
- Railway Deployments status
- Error message (if any)