Cara Menambahkan VPS Docker Lain ke Portainer Server yang Sudah Jalan

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:

ServerFungsi
VPS UtamaDocker + Portainer Server
VPS KeduaDocker + 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:

ParameterNilai
Source TypeCIDR
Source CIDRIP VPS Utama
ProtocolTCP
Destination Port9001

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.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.