Maintenance Guide
Daily Checks​
- Website and mobile app loading correctly
- Ops panel: any red alerts?
- Xendit dashboard: payments flowing?
- Support tickets: any urgent issues?
- Dokploy container logs: any error spikes?
Weekly Checks​
- Review key metrics: MAU, new listings, transactions
- Check error logs for recurring patterns (Sentry + Dokploy logs)
- Reply to App Store / Play Store reviews
- Review external service dashboards (Xendit, Biteship, Resend)
- Check DigitalOcean Spaces storage usage
- Review pending KTP verifications
Monthly Checks​
- Review infrastructure costs vs. budget (Dokploy VPS, DOCR, DO Spaces)
- Check storage usage across all buckets
- Review access permissions and API keys
- Update documentation if anything changed
- Review and rotate API keys if older than 6 months
- Run full E2E test suite
- Check dependency updates for security patches
Health Check Endpoints​
API Health Check
curl https://api.pasarseken.id/health
# Expected: { "ok": true, "version": "..." }
Dokploy Container Status
# Check container health in Dokploy dashboard → Applications → Status
Service Dashboard Links​
| Service | Dashboard URL |
|---|---|
| Dokploy (VPS management) | VPS admin URL (ask engineering) |
| DigitalOcean (DOCR + Spaces) | cloud.digitalocean.com |
| Xendit | dashboard.xendit.co |
| Resend | resend.com/overview |
| Biteship | app.biteship.com |
| Sentry | sentry.io |
Common Maintenance Tasks​
Clear Expired Invoices​
Xendit invoices expire after 24 hours. Check for stuck orders:
- Go to Ops Panel → Orders tab
- Filter by status "pending_payment" older than 24h
- Manually expire or investigate
Review Storage Usage​
Check bucket sizes in the DigitalOcean Spaces dashboard. Buckets hold listing photos, KTP docs, dispute evidence, chat photos, hiring docs, and backups.
Monitor Backend Performance​
- Check container CPU and memory in Dokploy → application metrics
- Check average response times via Sentry performance (target: < 500ms)
- Check error rates in Sentry (target: < 1%)
Rollback a Bad Deploy​
See Deployment Guide → for the rollback procedure. At a high level:
- Identify the last-good DOCR image tag
- Redeploy that tag in Dokploy → application → image tag override
- Or:
git revertthe bad merge commit and push tomainto re-trigger CI
For incidents requiring data recovery, coordinate with engineering before any destructive operation. All application deletes are soft (deleted_at); no data is hard-deleted.