Dokploy: PaaS Self-Hosted untuk VPS Anda Sendiri

Foto oleh bugeaters on flickr
Dokploy adalah Platform as a Service open-source yang Anda pasang di server sendiri. Ia memberi Anda alur push-to-deploy ala Heroku, database terkelola, dan HTTPS otomatis, tetapi berjalan di VPS yang Anda kendalikan alih-alih platform cloud berbayar. Tidak ada biaya per aplikasi, dan bagian dalamnya tetap Docker standar sehingga Anda tidak pernah terkunci.
Dokploy adalah perekat di sekitar tools yang sudah teruji, bukan runtime baru. Ia menggunakan Docker Swarm untuk orkestrasi, Traefik dengan Let's Encrypt untuk routing dan HTTPS, serta Nixpacks atau Buildpacks untuk mengubah repo Git menjadi image tanpa Dockerfile. Karena lapisan ini standar, Anda selalu bisa turun ke perintah Docker atau Traefik biasa untuk melakukan debug.
Dokumentasi menyarankan VPS dengan minimal 2 GB RAM dan 30 GB ruang disk. Ia telah diuji di Ubuntu 18.04 hingga 24.04, Debian 10 sampai 12, dan beberapa distribusi keluarga RHEL. Instalasi hanya satu perintah curl yang dijalankan sebagai root, dan skrip akan memasang Docker serta menginisialisasi Swarm untuk Anda.
Bisa. Dokploy dapat menjadwalkan backup database berulang menggunakan sintaks cron dan mengalirkan dump ke bucket apa pun yang kompatibel dengan S3. Ia memanggil tool dump native untuk setiap engine, seperti pg_dump untuk PostgreSQL atau mysqldump untuk MySQL. Karena satu VPS adalah satu titik kegagalan tunggal, menyimpan backup di luar server sangat disarankan.
Ia cocok untuk proyek hobi dan beban kerja produksi kecil, dengan dua catatan. Satu VPS adalah satu titik kegagalan tunggal, jadi jika server mati semua aplikasi ikut mati sampai Anda memulihkan dari backup. Untuk uptime lebih tinggi Anda sebaiknya menskalakan Dokploy ke beberapa node Docker Swarm dan tidak pernah mengekspos port dashboard langsung ke internet.

Foto oleh bugeaters on flickr
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.
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.
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.
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.
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 |
Deploy pada umumnya hanya beberapa klik di dashboard. Alurnya mencerminkan apa yang dipopulerkan Heroku, tanpa tagihan bulanan:
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 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.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:
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.
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:
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.