Portainer itu enak banget buat ngatur Docker lewat web UI, tapi tau gak kalau kamu sebenarnya bisa kelola beberapa VPS sekaligus dari satu dashboard Portainer yang sama? Jadi kalau kamu punya 2-3 VPS yang masing-masing jalanin Docker, gak perlu buka-tutup tab beda-beda buat tiap server.
Caranya pakai fitur namanya Portainer Agent. Di artikel ini kita bahas cara nyambungin VPS kedua ke Portainer Server yang udah jalan di VPS utama kamu.
Gambaran Topologinya
Biar gak bingung, anggap aja kita punya dua VPS kayak gini:
| Server | Fungsi |
|---|---|
| VPS Utama | Docker + Portainer Server |
| VPS Kedua | Docker + Portainer Agent |
Kurang lebih diagramnya kayak gini:
+----------------------+
| VPS Utama |
|----------------------|
| Docker |
| Portainer Server |
| Port 9443 |
+----------+-----------+
|
v
+----------------------+
| VPS Kedua |
|----------------------|
| Docker |
| Portainer Agent |
| Port 9001 |
+----------------------+
Intinya, VPS utama itu yang jadi “pusat kendali”, sedangkan VPS kedua cuma perlu jalanin Portainer Agent biar bisa “nurut” sama perintah dari dashboard di VPS utama. Setelah nyambung, semua container di VPS kedua bisa langsung kamu kelola dari dashboard Portainer di VPS utama, gak perlu login SSH terpisah.
Dari pengalaman ngurusin lebih dari 1 server, ini jenis setup yang keliatan sepele di awal tapi kerasa banget manfaatnya begitu jumlah server nambah. Buka SSH satu-satu buat cek status container itu masih kerasa oke pas cuma 2 server, tapi begitu udah 4-5 server, gampang lupa server mana yang lagi ngejalanin apa. Sebelum mulai, pastiin Portainer Server udah jalan di VPS utama, Docker udah terinstal di VPS kedua, kedua VPS bisa saling konek lewat jaringan, dan firewall udah ngizinin koneksi ke port yang dibutuhin.
1. Install Docker di VPS Kedua
Cek dulu apakah Docker udah terinstal:
docker --version
Kalau belum, install pakai script resmi (paling gampang):
curl -fsSL https://get.docker.com | sh
Tambahin user kamu ke group docker biar gak perlu sudo tiap kali:
sudo usermod -aG docker $USER
Logout dulu terus login lagi biar perubahan group-nya kepake. Cek udah beres apa belum:
docker ps
2. Bikin Volume buat Portainer Agent
Bikin volume dulu buat nyimpen data Agent-nya:
docker volume create portainer_agent_data
Pastiin volume-nya beneran kebuat:
docker volume ls

3. Jalankan Portainer Agent
Sekarang jalanin container Portainer Agent-nya di VPS kedua:

docker run -d
--name portainer_agent
--restart=always
-p 9001:9001
-v /var/run/docker.sock:/var/run/docker.sock
-v /var/lib/docker/volumes:/var/lib/docker/volumes
portainer/agent:latest
Cek apakah container-nya beneran jalan:
docker ps
Kalau berhasil, hasilnya bakal kayak gini:
CONTAINER ID IMAGE STATUS
xxxxxxx portainer/agent:latest Up
4. Buka Port di Firewall
Kalau kamu pakai UFW:
sudo ufw allow 9001/tcp
Cek aturan firewall-nya:
sudo ufw status
5. Tambahin Rule di Oracle Cloud (Kalau Pakai OCI)
Buat kamu yang pakai Oracle Cloud, ada langkah tambahan karena OCI punya firewall level cloud sendiri di luar UFW. Masuk ke:
Oracle Cloud Console
-> Networking
-> Virtual Cloud Network (VCN)
-> Security List
-> Ingress Rules
Tambahin aturan kayak gini:
| Parameter | Nilai |
|---|---|
| Source Type | CIDR |
| Source CIDR | IP VPS Utama |
| Protocol | TCP |
| Destination Port | 9001 |
Buat lebih aman, pakai IP VPS utama sebagai source, jangan dibuka ke semua orang (0.0.0.0/0), biar port Agent kamu gak keekspos ke seluruh internet.
6. Tambahin Environment Baru di Portainer
Sekarang balik ke dashboard Portainer di VPS utama:
https://IP-VPS-UTAMA:9443

Terus masuk ke:
Environments
-> Add Environment
-> Docker Standalone
-> Agent
Isi konfigurasinya:
Name (bebas, misalnya):
VPS Production
Environment URL:
IP-VPS-KEDUA:9001
Contoh:
103.xxx.xxx.xxx:9001
Klik Connect. Kalau berhasil, VPS kedua kamu bakal langsung muncul di daftar environment Portainer.
Kalau Koneksinya Gak Nyambung
Kalau connect gagal dengan error timeout, cek lagi firewall di kedua sisi (UFW dan security list cloud provider), pastiin port 9001 beneran kebuka buat koneksi dari IP VPS utama. Cara paling cepat buat mastiin ini masalah jaringan atau bukan: tes konektivitas manual dari VPS utama pakai curl http://IP-VPS-KEDUA:9001, kalau timeout, itu tandanya masalahnya di jaringan/firewall, bukan di Portainer-nya, jadi gak perlu buang waktu ngutak-atik konfigurasi Portainer.
Kalau environment nempel tapi container gak muncul, cek permission mount /var/run/docker.sock, kadang butuh restart Agent container-nya ulang. Dan kalau mau hapus environment yang salah nyambung, tinggal masuk ke Environments di dashboard, pilih environment yang mau dihapus, klik Remove, ini gak ngaruh ke container yang udah jalan di VPS kedua.
Penutup
Nah, gitu aja cara nyambungin VPS kedua ke Portainer Server kamu. Dengan cara ini, kamu bisa kelola banyak server Docker sekaligus dari satu dashboard doang, cocok banget buat yang punya beberapa VPS terpisah atau lagi belajar jadi admin server/DevOps.
Buat production, sebaiknya jangan buka port Agent langsung ke internet publik. Kombinasi Portainer + Tailscale atau VPN sejenis jauh lebih aman, karena koneksi antar server jadi lewat jaringan private, bukan lewat internet terbuka. Kalau ada yang error atau nyangkut, drop komentar aja bro.
























