Cara Install Portainer di VPS Ubuntu
Apa Itu Portainer?
Portainer adalah web-based management UI untuk Docker dan Kubernetes. Dengan Portainer, kamu bisa mengelola container, image, volume, network, dan stack tanpa harus selalu menggunakan command line.
1. Prasyarat
- VPS Ubuntu 20.04 / 22.04
- Docker sudah terinstall
- Port 9000 atau 9443 tidak digunakan aplikasi lain
- Akses SSH ke server
2. Pastikan Docker Sudah Terinstall
Cek versi Docker:
docker --version
*Jika belum ada, install Docker terlebih dahulu.
3. Buat Volume Portainer
Portainer memerlukan volume untuk menyimpan data persistent:
docker volume create portainer_data
4. Install Portainer (Metode CLI)
Jalankan perintah berikut:
docker run -d \
--name portainer \
--restart unless-stopped \
-p 9000:9000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Penjelasan:
- -p 9000:9000 → HTTP access
- -p 9443:9443 → HTTPS secure access
- -v docker.sock → agar Portainer bisa mengontrol Docker
- -v portainer_data → penyimpanan data
5. Akses Dashboard Portainer
Buka browser:
https://IP_VPS_KAMU:9443
Saat pertama kali login, kamu akan diminta membuat password admin.
6. Hardening & Security (Production)
6.1 Batasi Port dengan Firewall
sudo ufw allow 9443
sudo ufw deny 9000
sudo ufw status
6.2 Gunakan Reverse Proxy (Rekomendasi)
Disarankan agar Portainer tidak diakses langsung melalui IP dan port. Gunakan Nginx atau Nginx Proxy Manager untuk mengatur domain dan SSL.
Contoh reverse proxy Nginx:
location / {
proxy_pass https://127.0.0.1:9443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
7. Install Portainer Menggunakan Docker Compose
Buat file docker-compose.yml:
nano docker-compose.yml
Isi konfigurasi berikut:
version: '3'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Jalankan:
docker compose up -d
8. Troubleshooting Umum
8.1 Port Already in Use
sudo ss -tulpn | grep 9443
8.2 Container Tidak Running
docker ps -a
8.3 Tidak Bisa Login
Reset container dan hapus volume jika perlu:
docker stop portainer
docker rm portainer
docker volume rm portainer_data
9. Best Practice Production
- Gunakan domain + SSL (Let’s Encrypt)
- Backup volume portainer_data secara berkala
- Batasi akses IP admin dengan firewall
- Gunakan password kuat dan aktifkan 2FA jika tersedia
10. Kesimpulan
Portainer memudahkan pengelolaan Docker melalui antarmuka web yang user-friendly. Dengan konfigurasi security dan reverse proxy yang tepat, Portainer dapat digunakan secara aman untuk environment production.