Dokploy adalah Platform as a Service open-source yang Anda pasang di server milik sendiri. Ia memposisikan diri sebagai alternatif Heroku, Vercel, dan Netlify, tetapi alih-alih membayar per aplikasi di cloud orang lain, Anda mengarahkannya ke satu VPS dan mendapatkan pengalaman deploy ala Heroku di perangkat keras yang sepenuhnya Anda kendalikan.
Dalam panduan ini saya membahas apa itu Dokploy sebenarnya, komponen apa saja yang berjalan di balik layar, bagaimana deploy aplikasi dan database bekerja, serta bagaimana routing Traefik dan backup terjadwal saling terhubung. Tujuannya adalah membangun model mental yang jelas sebelum Anda mengetik perintah instalasi, sehingga saat ada yang perlu di-debug Anda paham lapisan mana yang harus dilihat alih-alih memperlakukan keseluruhannya sebagai kotak hitam.
Apa sebenarnya Dokploy itu
Pada intinya Dokploy adalah dashboard web yang berjalan di atas Docker. Anda menghubungkan repositori Git atau mengarahkannya ke sebuah image Docker, lalu Dokploy menangani proses build, menjalankan, dan mengekspos hasilnya. Semua yang biasanya Anda siapkan secara manual di VPS mentah disajikan sebagai tombol dan formulir, sementara primitif di baliknya tetap Docker standar, sehingga tidak ada yang terkunci di dalam format kepemilikan tertentu. Di balik permukaan, setiap aplikasi menjadi sebuah layanan Docker Swarm, yang berarti tooling yang sama untuk menjalankan blog hobi nantinya dapat diskalakan ke klaster kecil tanpa mengubah cara kerja Anda sehari-hari.
- Deploy aplikasi dari repo Git, sebuah Dockerfile, atau image Docker biasa, dengan rebuild otomatis setiap kali push.
- Database terkelola termasuk PostgreSQL, MySQL, MariaDB, MongoDB, dan Redis, masing-masing berjalan sebagai kontainer tersendiri.
- Dukungan Docker Compose, sehingga stack multi-layanan dapat deploy dan diperbarui sebagai satu kesatuan.
- Template open-source sekali klik seperti Plausible, PocketBase, dan Cal.com untuk tools self-hosted yang umum.
Berikan Dokploy sebuah VPS khusus. Dokumentasi menyarankan minimal 2 GB RAM dan 30 GB disk, dan installer akan mengambil alih Docker, Swarm, serta port 80, 443, dan 3000. Menjalankannya bersebelahan dengan layanan lain di mesin yang sama mengundang konflik port dan kejutan noisy-neighbour.
Memasang Dokploy di VPS baru
Instalasi hanya satu perintah shell yang dijalankan sebagai root di server Ubuntu atau Debian yang bersih. Skrip ini mendeteksi instalasi Docker yang sudah ada alih-alih menimpanya, dan telah diuji di Ubuntu 18.04 hingga 24.04, Debian 10 sampai 12, serta beberapa distribusi keluarga RHEL. Anda dapat dengan aman menjalankan ulang perintah yang sama nanti untuk memperbarui Dokploy itu sendiri, dan ia menjaga proyek serta data Anda tetap utuh. Berikut yang sebenarnya terjadi saat pertama kali Anda menjalankannya:
# Single command install on a fresh Ubuntu VPS
curl -sSL https://dokploy.com/install.sh | sh
# The script installs, in order:
# 1. Docker Engine
# 2. Docker Swarm (single-node cluster init)
# 3. Traefik (as a Swarm service, binds 80/443)
# 4. Postgres + Redis (Dokploy's own internal state)
# 5. The Dokploy dashboard service itself
# Dashboard is reachable at:
# http://<your-server-ip>:3000Begitu dashboard terbuka di port 3000, hal pertama yang Anda lakukan adalah membuat akun admin. Setelah itu, kunci panel di balik domain sungguhan dengan HTTPS alih-alih membiarkan IP dan port mentah terekspos ke internet.
Apa yang berjalan di balik layar
Dokploy bukan penulisan ulang dari deployment stack; ia adalah perekat di sekitar tools yang sudah teruji. Memahami lapisan-lapisannya membantu Anda melakukan debug saat ada yang bermasalah, karena Anda selalu bisa turun ke perintah Docker atau Traefik biasa di bawah dashboard. Desain berlapis ini juga yang membuat perpindahan menjadi mudah: aplikasi Anda adalah kontainer biasa dan data Anda tersimpan di named volume Docker, yang keduanya bisa Anda salin ke host lain mana pun.
| Lapisan | Apa yang dilakukannya untuk Anda | Teknologi di baliknya |
|---|---|---|
| Orkestrasi | Menjadwalkan kontainer, memulai ulang yang crash, dan merilis versi baru | Docker Swarm |
| Routing dan TLS | Memetakan domain Anda ke kontainer yang tepat dan menerbitkan sertifikat HTTPS | Traefik dengan Let's Encrypt |
| Build | Mengubah repo Git menjadi image yang bisa dijalankan, tanpa perlu Dockerfile | Nixpacks atau Buildpacks |
| Backup | Menjalankan dump database terjadwal dan mengirimnya keluar dari server | Tool dump native yang dialirkan ke S3 |
Men-deploy aplikasi pertama Anda
Deploy pada umumnya hanya beberapa klik di dashboard. Alurnya mencerminkan apa yang dipopulerkan Heroku, tanpa tagihan bulanan:
- Buat sebuah proyek, lalu tambahkan aplikasi di dalamnya dan pilih penyedia Git atau image Docker sebagai sumbernya.
- Atur variabel lingkungan dan, bila perlu, sebuah build command; Dokploy mendeteksi otomatis sebagian besar stack Node, Python, Go, dan PHP melalui Nixpacks.
- Pasang domain di tab Domains dan aktifkan HTTPS, yang memberi tahu Traefik untuk meminta sertifikat secara otomatis.
- Tekan Deploy dan pantau log build secara langsung; jika berhasil, aplikasi dapat diakses di domain Anda dalam hitungan detik.
Satu VPS adalah satu titik kegagalan tunggal. Jika mesin itu mati, semua aplikasi di dalamnya ikut mati bersamaan, dan Dokploy sendiri tidak tersedia sampai Anda memulihkannya. Jadikan backup di luar server sebagai keharusan, jangan pernah mengekspos port 3000 ke internet terbuka, dan jika uptime penting, rencanakan Swarm lintas beberapa node sebelum Anda bergantung padanya.
Database dan backup otomatis
Database adalah warga kelas satu. Anda membuatnya dari dashboard, mendapatkan kredensial koneksi, dan merujuknya dari aplikasi Anda melalui jaringan Docker internal. Bagian yang sering dilupakan orang adalah backup, jadi Dokploy menjadikannya pekerjaan terjadwal yang mengalirkan dump ke bucket apa pun yang kompatibel dengan S3. Ada baiknya sesekali memulihkan salah satu dump itu ke database percobaan, karena backup yang belum pernah Anda uji hanyalah harapan, bukan rencana pemulihan:
# Dokploy backup config (set in dashboard, not a file you edit by hand)
# Backup tab -> Database -> Postgres
Destination: my-s3-bucket # configured under Settings -> S3 Destinations
Database name: production_db
Schedule: 0 3 * * * # daily at 03:00, standard cron syntax
Prefix: prod-db-backups/
Enabled: true
# Under the hood Dokploy shells out to the native dump tool per engine:
# Postgres -> pg_dump
# MySQL/MariaDB -> mysqldump
# MongoDB -> mongodump
# then streams the archive straight to the configured S3 bucket.Routing, domain, dan TLS dengan Traefik
Setiap domain yang Anda pasang menjadi sebuah aturan router Traefik. Karena Traefik memantau label Docker, menambah atau menghapus aplikasi memperbarui routing secara langsung tanpa reload manual. Beberapa hal yang perlu diketahui:
- Sertifikat diminta dan diperbarui secara otomatis melalui Let's Encrypt, sehingga Anda jarang menyentuh TLS secara manual.
- Anda dapat menyunting konfigurasi Traefik mentah dari dashboard saat Anda membutuhkan middleware, pengalihan, atau header khusus.
- Banyak aplikasi berbagi port 80 dan 443, dengan Traefik melakukan routing berdasarkan hostname, sehingga Anda tidak perlu mengatur satu port per layanan.
Katalog template adalah penghemat waktu yang kurang dihargai. Men-deploy sesuatu seperti analitik Plausible atau PocketBase hanya satu klik yang menyiapkan kontainer, database, dan konfigurasi domain untuk Anda, yang jelas lebih cepat daripada menyusun berkas Compose secara manual.
Apakah Dokploy tepat untuk VPS Anda?
Dokploy bersinar saat Anda menginginkan pengalaman developer ala Heroku tanpa biaya platform berulang dan Anda nyaman mengelola server Linux sendiri. Ia sangat cocok jika Anda bisa menjawab ya untuk hal-hal ini:
- Anda punya VPS cadangan dengan minimal 2 GB RAM yang bisa didedikasikan untuknya.
- Anda menginginkan push-to-deploy, database terkelola, dan HTTPS otomatis tanpa merangkai sendiri semua tools-nya.
- Anda menerima trade-off server tunggal untuk beban kerja hobi dan produksi kecil, atau Anda berencana menskalakannya ke beberapa node Swarm nanti.
Dokploy mengenai titik ideal bagi developer yang sudah melampaui deploy SSH manual tetapi tidak ingin tagihan dari penyedia cloud. Ia memberi Anda PaaS sungguhan di VPS Anda sendiri, menjaga bagian dalamnya tetap Docker biasa sehingga Anda tidak pernah merasa terjebak, dan membawa Anda dari server kosong ke aplikasi yang berjalan dalam waktu jauh di bawah satu jam. Karena semua yang di baliknya adalah Docker, Swarm, dan Traefik standar, keterampilan yang Anda bangun di sini langsung dapat dipindahkan ke platform kontainer mana pun yang Anda temui nanti. Mulailah di server percobaan, deploy satu aplikasi kecil secara menyeluruh, dan Anda akan cepat tahu apakah ia layak masuk ke stack Anda.

