Kenalan dengan Dokploy: Self-Hosted PaaS Gratis untuk Deploy Aplikasi Apa Saja
DevOps Tutorial Self-Hosting #dokploy #self-hosted #paas #docker

Kenalan dengan Dokploy: Self-Hosted PaaS Gratis untuk Deploy Aplikasi Apa Saja

A
Abd. Asis
6 min read
Bagikan:

Kalau kamu pernah mencoba Heroku sebelum mereka menghapus tier gratis, kamu pasti tahu betapa nyamannya punya platform yang mengurus semua urusan deployment — SSL otomatis, manajemen database, CI/CD dari Git push — tanpa harus sentuh konfigurasi server sama sekali. Masalahnya, platform-platform seperti Vercel, Railway, atau Render punya batas yang cepat terasa sempit begitu aplikasimu mulai tumbuh.

Dokploy menawarkan trade-off yang berbeda: kamu bawa VPS sendiri, Dokploy yang mengurus sisanya. Tidak ada lock-in ke infrastruktur orang lain, tidak ada biaya per-deployment yang menumpuk, dan semua kontrol ada di tanganmu. Platform ini bersifat open source dengan lebih dari 31.000 bintang di GitHub, dan bisa di-install ke server mana saja hanya dengan satu perintah.

Artikel ini membahas apa itu Dokploy, bagaimana cara kerjanya, dan langkah-langkah praktis untuk mulai deploy aplikasi dari nol.

Apa Itu Dokploy dan Mengapa Perlu Dipertimbangkan

Dokploy adalah Platform as a Service yang bisa di-install di VPS milikmu sendiri. Ia berfungsi sebagai lapisan manajemen di atas Docker dan Docker Swarm — semua aplikasi yang kamu deploy berjalan sebagai container, dengan Traefik sebagai reverse proxy yang secara otomatis mengurus routing dan sertifikat SSL.

Posisinya paling tepat dibandingkan dengan dua kategori:

KategoriContohKelebihanKekurangan
Managed PaaSVercel, Railway, RenderTidak perlu urus serverMahal saat scale, vendor lock-in
Self-manage penuhNginx + Certbot + manualKontrol totalWaktu setup dan maintenance tinggi
Self-hosted PaaSDokploy, CoolifyKontrol + kemudahanPerlu VPS, perlu sedikit DevOps literacy

Dokploy cocok untuk developer atau tim kecil yang ingin pengalaman deployment modern tanpa tagihan platform yang membengkak di akhir bulan.

Cara Kerja Dokploy di Balik Layar

Saat kamu install Dokploy, beberapa komponen dijalankan secara otomatis:

  • Traefik — bertindak sebagai reverse proxy dan mengelola SSL via Let’s Encrypt
  • Docker Swarm — orkestrator container yang memungkinkan scaling multi-node
  • Dokploy Dashboard — antarmuka web di port 3000 untuk mengelola semua deployment

Ketika kamu deploy sebuah aplikasi, Dokploy akan melakukan build berdasarkan sumber yang kamu pilih (Git repository, Dockerfile, atau Docker Compose), lalu menjalankan container hasil build tersebut dan mendaftarkan domain ke Traefik secara otomatis.

Dokploy mendukung tiga metode build:

  • Nixpacks — mendeteksi bahasa dan framework secara otomatis, mirip cara kerja Heroku Buildpacks
  • Dockerfile — untuk konfigurasi build yang lebih spesifik
  • Docker Compose — untuk aplikasi multi-service yang sudah punya compose.yaml

Install Dokploy di VPS

Dokploy membutuhkan VPS dengan minimal 1 CPU dan 2 GB RAM. Ubuntu 22.04 atau 24.04 adalah pilihan yang paling banyak dipakai. Pastikan Docker belum terinstall sebelumnya — skrip instalasi akan menanganinya sendiri.

Jalankan perintah berikut sebagai root atau user dengan akses sudo:

curl -sSL https://dokploy.com/install.sh | sh

Skrip ini akan menginstall Docker, mengkonfigurasi Docker Swarm mode, dan menjalankan stack Dokploy sebagai Docker service. Proses ini biasanya selesai dalam 2-3 menit.

Setelah selesai, akses dashboard melalui browser:

http://<IP-SERVER-KAMU>:3000

Pertama kali membuka dashboard, kamu akan diminta membuat akun administrator. Isi nama, email, dan password — akun ini menjadi pemilik instance Dokploy-mu.

Untuk keamanan, pertimbangkan untuk memblokir port 3000 dari publik setelah setup selesai dan akses dashboard melalui domain dengan HTTPS. Dokploy mendukung konfigurasi domain untuk dashboard-nya sendiri.

Membuat Project dan Deploy Aplikasi Pertama

Struktur Dokploy menggunakan hierarki Project > Service. Satu project bisa berisi beberapa service, baik aplikasi maupun database.

Menghubungkan Repository Git

Buka menu Projects, klik Create Project, beri nama, lalu klik Create ServiceApplication.

Di halaman konfigurasi aplikasi, pilih sumber deployment:

Source: GitHub (atau GitLab / Bitbucket)
Repository: username/nama-repo
Branch: main

Untuk menggunakan repository private, kamu perlu menghubungkan akun Git di menu SettingsIntegrations terlebih dahulu. Dokploy akan meminta izin akses ke repository yang dipilih.

Memilih Metode Build

Pada tab Build, pilih salah satu metode:

Build Type: Nixpacks

Nixpacks adalah pilihan paling mudah untuk kebanyakan aplikasi — ia membaca file seperti package.json, composer.json, requirements.txt, atau go.mod untuk menentukan cara build yang tepat secara otomatis. Tidak perlu menulis Dockerfile dari nol.

Klik Deploy untuk memulai proses build. Kamu bisa memantau log build secara real-time langsung dari dashboard.

Konfigurasi Domain dan SSL

Setelah deployment berhasil, pergi ke tab Domains dan tambahkan domain yang ingin kamu gunakan:

Domain: app.namadomain.com
HTTPS: Enabled (Let's Encrypt)

Pastikan DNS domain tersebut sudah diarahkan ke IP server sebelum mengaktifkan HTTPS. Traefik akan secara otomatis mengurus proses verifikasi dan penerbitan sertifikat SSL — tidak perlu perintah certbot manual sama sekali.

Mengelola Database dari Dashboard

Salah satu fitur yang sering diremehkan dari Dokploy adalah manajemen database bawaan. Alih-alih install database secara manual dan mengonfigurasi koneksinya sendiri, kamu cukup buka Create ServiceDatabase dan pilih jenis database yang dibutuhkan.

Dokploy mendukung PostgreSQL, MySQL, MariaDB, MongoDB, dan Redis. Setelah database di-deploy, Dokploy langsung menampilkan connection string yang siap pakai:

postgresql://user:password@localhost:5432/nama_database

Connection string ini bisa langsung disalin ke environment variable aplikasimu. Kamu juga bisa mengatur automated backup ke S3-compatible storage seperti Wasabi, Backblaze B2, atau MinIO langsung dari tab Backups.

Database yang di-deploy melalui Dokploy berjalan sebagai Docker container. Pastikan kamu mengkonfigurasi volume persisten untuk data database agar tidak hilang saat container di-restart.

Variabel Lingkungan dan Environment Management

Environment variables dikelola melalui tab Environment di setiap service. Tambahkan variabel satu per satu atau paste langsung dalam format .env:

APP_KEY=base64:contoh-key-aplikasi-kamu
DB_CONNECTION=postgresql
DB_HOST=nama-service-database
DB_PORT=5432
DB_DATABASE=nama_database
DB_USERNAME=user
DB_PASSWORD=password-database

Untuk database yang ada di project yang sama, gunakan nama service sebagai hostname. Docker Swarm mengelola resolusi nama antar service secara internal, jadi tidak perlu IP statis.

Monitoring dan Auto-Deploy

Dokploy menyediakan dashboard monitoring bawaan yang menampilkan penggunaan CPU, memori, storage, dan jaringan untuk setiap service secara real-time. Ini berguna untuk memantau performa tanpa harus pasang Prometheus atau Grafana terlebih dahulu.

Untuk auto-deploy setiap kali ada push ke repository, aktifkan webhook di tab Deployments. Dokploy akan memberi URL webhook yang bisa didaftarkan ke GitHub atau GitLab sebagai webhook event. Setiap kali ada push ke branch yang dikonfigurasi, deployment baru akan otomatis dimulai.

Opsi Managed Plan untuk yang Tidak Ingin Urus Server

Kalau kamu tertarik dengan kemudahan Dokploy tapi tidak ingin mengelola infrastruktur sendiri, ada opsi managed plan di app.dokploy.com. Dengan harga mulai $4.50/bulan per server, Dokploy yang mengelola instance dashboard-nya — kamu tetap menyediakan VPS sendiri, tapi urusan update dan maintenance platform ditangani oleh tim Dokploy.

Ini berbeda dari fully managed hosting seperti Vercel: kamu masih membayar VPS ke provider pilihanmu (Hetzner, DigitalOcean, Vultr, dll), sementara Dokploy hanya mengenakan biaya kecil untuk lapisan manajemennya.

Kesimpulan

Dokploy mengisi celah yang selama ini kosong: platform deployment modern yang bisa berjalan sepenuhnya di infrastruktur milikmu tanpa mengorbankan kemudahan. Jika kamu sudah nyaman dengan konsep Docker dan punya VPS yang menganggur, Dokploy bisa jadi pengganti yang solid untuk platform berbayar seperti Railway atau Render — dengan kontrol yang jauh lebih besar dan tanpa biaya per-deployment. Langkah selanjutnya yang masuk akal adalah mencobanya dengan project kecil di VPS murah (Hetzner CAX11 seharga EUR 3/bulan sudah lebih dari cukup), sebelum memutuskan untuk migrasi lebih besar.

Referensi

  1. 1Dokploy — Official Website & Documentation
  2. 2Vultr Docs — How to Deploy Dokploy Self-Hosted PaaS for Docker Applications
  3. 3Dokploy GitHub Repository — Source Code & Contributing Guide

Tentang Penulis

Abd. Asis

Abd. Asis

Software Developer dan Laravel Programmer dari Madura, Indonesia. Passionate tentang PHP, Laravel, dan teknologi web modern.

Komentar

Artikel Terkait

Artikel lain yang mungkin menarik untuk kamu