Install Docker & Compose di VPS
Cara memasang Docker Engine dan Compose di VPS KVM Ubuntu 24.04 atau Debian 12, menambah user ke grup docker, memasang Portainer, dan tips disk NVMe & log.
4 Oktober 2026 · 6 menit baca · Tim VPS Indonesia
Semua paket VPS kami memakai KVM, jadi Docker terpasang persis seperti di server fisik — tanpa batasan khas container hosting. Untuk Compose beberapa layanan, mulai dari Basic 2 vCPU; untuk Coolify/Dokploy, Standar 6 GB.
1. Instal Docker Engine (skrip resmi)
apt update && apt -y upgrade
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
systemctl enable --now docker
docker --version && docker compose version
Skrip resmi memasang Docker Engine, CLI, containerd, dan plugin Compose v2 untuk Ubuntu 24.04/22.04 dan Debian 12/11.
2. Jalankan Docker tanpa sudo
usermod -aG docker deploy # ganti dengan user non-root kamu
# logout-login agar grup berlaku
3. Uji dengan Compose
Buat ~/apps/kuma/compose.yml:
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
cd ~/apps/kuma && docker compose up -d
Perhatikan 127.0.0.1:3001 — layanan hanya terbuka lokal; publikasikan lewat reverse proxy (bagian 5) agar punya HTTPS.
4. Portainer (opsional, GUI)
docker volume create portainer_data
docker run -d -p 127.0.0.1:9443:9443 --name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data \
portainer/portainer-ce:lts
5. Reverse proxy + SSL otomatis dengan Caddy
Pasang Caddy sebagai container atau paket sistem, lalu Caddyfile:
status.domainmu.com {
reverse_proxy 127.0.0.1:3001
}
Caddy mengurus sertifikat Let’s Encrypt otomatis. Alternatif: Nginx Proxy Manager (GUI) atau Traefik (label Docker).
6. Tips untuk VPS
- Batasi log container agar disk tidak penuh: di
/etc/docker/daemon.json→{"log-driver":"json-file","log-opts":{"max-size":"10m","max-file":"3"}}lalusystemctl restart docker. - Bersihkan image lama berkala:
docker system prune -af --volumes(hati-hati: menghapus volume tak terpakai). - Swap membantu paket kecil saat build: lihat checklist keamanan bagian swap.
- Firewall: Docker menulis aturan iptables sendiri; port yang dipublikasikan ke
0.0.0.0akan terbuka walau ufw aktif. Ikat ke127.0.0.1seperti contoh di atas. - Disk NVMe membuat
docker pulldan build layer jauh lebih cepat — manfaatkan dengan cache build.