Deploy ke Server Sendiri Seharusnya Semudah Ini
Gw ganti workflow deploy SSH-dan-doa dengan Dokploy, platform open-source self-hosted. Satu install, Dockerfile deploy, SSL otomatis, dan dashboard seharga $0/bulan. Ini setup-nya dan yang gw pelajari.
Setiap solo developer pasti kena tembok yang sama: project jalan di localhost, dan sekarang harus di internet. Pilihannya biasanya tiga:
- Vercel/Netlify — gampang, tapi mahal kalau butuh database, cron job, atau apapun yang bukan static site.
- VPS + SSH — murah, tapi selangkah lagi dari debugging jam 2 pagi gara-gara salah config.
- AWS/GCP — powerful, tapi dashboard billing-nya aja udah kerjaan full-time.
Gw udah lewat ketiganya. Vercel buat preview (masih bagus buat itu). VPS buat production (murah tapi fragile). AWS buat satu project (ga mau lagi buat solo developer). Terus gw nemu Dokploy, dan cerita deploy gw berubah total.
Dokploy itu apa
Dokploy itu platform deployment open-source dan self-hosted. Bayangin kayak Vercel, Railway, atau Render — tapi lo jalanin di server sendiri. Lo dapet:
- Dashboard web buat manage deployment
- SSL otomatis via Traefik (Let's Encrypt)
- Deploy pake Dockerfile, Nixpacks, atau Docker Compose
- Manage database (Postgres, MySQL, MongoDB, Redis) dengan backup built-in
- Monitoring real-time (CPU, memory, network)
- Multi-server support
- API dan CLI access
Satu command buat install:
curl -sSL https://dokploy.com/install.sh | sh
Gitu aja. Lo sekarang punya deployment platform jalan di VPS lo.
Pipeline deploy gw
Ini cara gw ship code sekarang:
- Push ke GitHub —
git push origin main - GitHub Actions build Docker image — push ke GitHub Container Registry (GHCR) sebagai
ghcr.io/muhfauziazhar/<repo>:latest - Dokploy pull dan deploy — webhook trigger Dokploy buat pull image baru dan restart container
- Traefik handle routing + SSL — HTTPS otomatis, ga perlu nginx config, ga perlu certbot
Seluruh proses 2-3 menit dari git push sampai live. Ga SSH. Ga docker command manual. Ga "coba cek container udah jalan belum."
Kenapa ga Vercel aja?
Vercel bagus buat project frontend-heavy. Gw masih pake buat preview deploy. Tapi buat production, gw terus-terusan kena tembok:
- Database: Vercel ga host database. Lo butuh Supabase, Neon, atau PlanetScale — service lain, tagihan lain.
- Background jobs: Function Vercel ada timeout 10 detik. Cron job, queue worker, dan proses jangka panjang ga muat.
- Cost: Begitu lo butuh lebih dari hobby project, Vercel Pro $20/bulan per team member. VPS + Dokploy $5-10/bulan total.
- Control: Pakai Dokploy, lo punya server-nya. Lo bisa SSH, cek log, jalankan migrasi, install package system. Pakai Vercel, lo di runtime mereka, limit mereka, aturan mereka.
Tradeoff-nya lo manage server sendiri. Tapi Dokploy bikin management itu 90% lebih gampang.
Apa yang dashboard-nya kasih
UI web Dokploy bisa:
- Deploy app dari Dockerfile, Nixpacks, atau Docker Compose
- Manage database — bikin instance Postgres dalam 2 klik, dengan backup otomatis
- Set environment variables — per-app, dengan UI yang rapi (ga perlu juggle .env file)
- Lihat log — real-time container log, ga perlu
docker logs -fdi terminal - Monitor resource — CPU, memory, network per app
- Konfigurasi domain — point domain lo, Dokploy handle Traefik + SSL otomatis
- Manage user — kalau punya team, role-based access
Buat solo developer, fitur killer-nya one-click deploy dan SSL otomatis. Dulu gw abis 30 menit konfigurasi nginx dan certbot buat tiap domain baru. Sekarang 30 detik.
Pola GHCR + webhook
Pola deploy favorit gw pake GitHub Container Registry sebagai image store dan webhook Dokploy buat trigger deploy:
GitHub repo
→ GitHub Actions: docker build + push ke ghcr.io/<user>/<repo>:latest
→ Webhook call ke Dokploy API
→ Dokploy: docker pull + restart container
Kenapa GHCR bukan Docker Hub? GitHub Actions punya autentikasi GHCR native (ga perlu extra secret), dan GHCR punya storage gratis yang generous buat public repo. Rate limit DockerHub pernah gw kena.
Pola webhook berarti gw bisa trigger deploy dari mana-mana — CI/CD, cron job, bahkan curl command. Cuma HTTP POST aja.
Berapa biayanya
Setup gw:
- VPS: 2 vCPU, 4GB RAM, 80GB SSD — ~$10/bulan (Hetzner/Contabo)
- Dokploy: Gratis, open source
- GHCR: Gratis buat public repo
- Domain: ~$10/tahun
- SSL: Gratis (Let's Encrypt via Traefik)
Total: ~$11/bulan buat host unlimited apps dengan database, SSL, monitoring, dan backup. Bandingkan sama Vercel Pro ($20/bulan) + Neon ($19/bulan) + SaaS lain yang lo butuh.
Yang perlu diwaspadai
Ga semuanya mulus:
- Lo manage server sendiri. Update OS, security patch, disk space — itu urusan lo. Dokploy bikin deploy gampang, tapi ga bikin lo jadi sysadmin.
- Backup perlu setup. Dokploy punya fitur backup built-in, tapi lo harus konfigurasi kemana (S3, storage external). Jangan skip ini.
- Single point of failure. Kalau VPS lo down, semuanya down. Buat portfolio atau side project, ini fine. Buat app bisnis kritis, butuh multi-server.
- Community-driven. Dokploy open source dengan 34k+ stars dan development aktif, tapi bukan perusahaan miliaran dollar. Dokumentasi kadang ketinggalan fitur.
Buat siapa ini
Dokploy cocok kalau lo:
- Solo developer atau team kecil yang jalanin side project
- Mau deploy production-grade tanpa biaya production-grade
- Nyaman dengan basic server management (SSH, Docker dasar)
- Capek bayar per-app di platform kayak Railway atau Render
Mungkin bukan untuk lo kalau:
- Butuh SLA 99.99% uptime (ambil platform managed)
- Belum pernah pegang terminal (mulai dari Vercel, lulus ke Dokploy nanti)
- Team lo 10+ orang (di titik itu, overhead ops ga seberapa dibanding fitur platform)
Intinya
Dokploy ubah workflow deploy gw dari "SSH ke server, pull, build, doa" jadi UI web 3 tombol. Ga sempurna, dan ga untuk semua orang. Tapi buat solo developer yang mau control tanpa overhead, ini tool $0 terbaik yang gw temuin.
Gw jalanin 8 apps di satu VPS $10. Masing-masing punya domain, SSL, database, dan monitoring sendiri. Deploy 2-3 menit. Gw ga SSH ke server buat deploy udah berbulan-bulan.
Ini workflow sekarang. Push code, dapet URL. Bagian boring udah di-handle.
