Lewati ke konten utama
  1. Posts/

Cara Ganti Port Aplikasi Docker di CasaOS yang Bentrok (Port Conflict)

·977 kata·5 menit·
Noor Khafidzin
Penulis
Noor Khafidzin
Seorang homelab enthusiast yang terobsesi pada efisiensi sistem dan seni pemecahan masalah (troubleshooting).
Daftar isi

Sedang install aplikasi baru di CasaOS tapi muncul error? Atau tiba-tiba salah satu aplikasi tidak bisa diakses setelah install aplikasi lain? Kemungkinan besar itu masalah port conflict — dua aplikasi yang mencoba menggunakan nomor port yang sama.

Di dunia Docker dan homelab, port conflict adalah masalah yang sangat umum. Artikel ini menjelaskan apa itu port conflict, cara mendeteksinya, dan cara mengatasinya dengan mengubah port aplikasi di CasaOS.


Apa Itu Port dan Mengapa Bisa Bentrok?
#

Bayangkan port seperti pintu masuk ke sebuah gedung. Setiap pintu punya nomor unik, dan setiap aplikasi perlu masuk lewat pintu dengan nomor tertentu. Masalah muncul ketika dua aplikasi ingin menggunakan pintu yang sama — hanya satu yang bisa menang, yang lain gagal masuk.

Contoh port yang sering bentrok di CasaOS:

Port Aplikasi yang Sering Memakai
80 Nginx Proxy Manager, Apache, CasaOS sendiri
443 HTTPS / SSL
8080 Berbagai aplikasi web (Heimdall, Portainer, dll)
3000 Grafana, berbagai app Node.js
8096 Jellyfin
8123 Home Assistant

Cara Cek Port yang Sudah Digunakan
#

Sebelum mengubah port, cari tahu dulu port mana saja yang sudah dipakai:

Cek semua port yang aktif
#

sudo ss -tulpn | grep LISTEN

Contoh output:

tcp   LISTEN  0  128  0.0.0.0:80     0.0.0.0:*  users:(("nginx",pid=1234))
tcp   LISTEN  0  128  0.0.0.0:8096   0.0.0.0:*  users:(("jellyfin",pid=5678))
tcp   LISTEN  0  128  0.0.0.0:3000   0.0.0.0:*  users:(("grafana",pid=9012))

Cek apakah port tertentu sudah digunakan
#

sudo ss -tulpn | grep :8080

Jika ada output, berarti port 8080 sudah dipakai. Jika kosong, port tersebut bebas digunakan.

Cek port dari sisi Docker
#

docker ps --format "table {{.Names}}\t{{.Ports}}"

Ini menampilkan daftar container beserta port yang dipetakan:

NAMES          PORTS
jellyfin       0.0.0.0:8096->8096/tcp
nextcloud      0.0.0.0:8080->80/tcp
grafana        0.0.0.0:3000->3000/tcp

Cara 1: Ganti Port via CasaOS GUI (Cara Termudah)
#

Saat menginstall aplikasi baru via CasaOS App Store, kamu bisa mengubah port sebelum instalasi dimulai:

  1. Buka CasaOS Dashboard → App Store.

  2. Pilih aplikasi yang ingin diinstall.

  3. Sebelum klik Install, klik tombol konfigurasi atau edit (biasanya ikon pensil atau tanda panah).

  4. Di bagian Ports, ubah nomor port host (bagian kiri dari format HOST:CONTAINER).

    Contoh: ubah 8080:80 menjadi 8181:80

  5. Klik Install.

Untuk aplikasi yang sudah terpasang, ubah portnya melalui:

  1. Klik ikon aplikasi di dashboard → pilih Settings atau Edit.
  2. Temukan bagian Ports di pengaturan container.
  3. Ubah port host sesuai kebutuhan.
  4. Simpan dan restart container.

Cara 2: Ganti Port via Terminal (Lebih Fleksibel)
#

Langkah 1: Stop container yang akan diubah portnya
#

docker stop nama-container

Langkah 2: Hapus container (data tetap aman)
#

docker rm nama-container

Langkah 3: Jalankan ulang dengan port baru
#

Untuk aplikasi yang dijalankan via docker run:

docker run -d \
  --name nama-container \
  --restart unless-stopped \
  -p PORT_BARU:PORT_CONTAINER \
  nama-image

Contoh — mengubah Grafana dari port 3000 ke port 3001:

docker run -d \
  --name grafana \
  --restart unless-stopped \
  -p 3001:3000 \
  -v grafana-data:/var/lib/grafana \
  grafana/grafana

Sekarang Grafana bisa diakses di http://IP-SERVER:3001.


Cara 3: Ganti Port via Docker Compose
#

Jika aplikasimu menggunakan docker-compose.yml (ini adalah cara yang direkomendasikan untuk semua instalasi di CasaOS), ubah portnya langsung di file tersebut.

Temukan file docker-compose
#

File Compose biasanya ada di:

  • /DATA/AppData/nama-aplikasi/
  • /var/lib/casaos/apps/nama-aplikasi/
find /DATA/AppData -name "docker-compose.yml" 2>/dev/null

Edit file docker-compose.yml
#

sudo nano /DATA/AppData/nama-aplikasi/docker-compose.yml

Cari bagian ports:

ports:
  - "8080:80"   # format: HOST_PORT:CONTAINER_PORT

Ubah angka di kiri (HOST_PORT) sesuai kebutuhan:

ports:
  - "8181:80"   # ganti dari 8080 ke 8181

⚠️ Jangan ubah angka di kanan (CONTAINER_PORT) — itu adalah port internal aplikasi yang sudah ditentukan oleh pembuat image.

Terapkan perubahan
#

cd /DATA/AppData/nama-aplikasi
docker compose down
docker compose up -d

Memilih Nomor Port yang Aman
#

Saat memilih port pengganti, hindari port yang sudah umum dipakai. Berikut panduan singkatnya:

Range Port Keterangan
0 – 1023 Well-known ports — dipakai sistem (HTTP=80, HTTPS=443, SSH=22). Hindari.
1024 – 49151 Registered ports — dipakai aplikasi tertentu. Bisa dipakai tapi hati-hati.
49152 – 65535 Dynamic/private ports — aman dipakai untuk aplikasi custom.

Untuk homelab, port yang aman dan mudah diingat di kisaran 8000–9999 atau 10000–19999 biasanya pilihan yang baik. Contoh: 8081, 8181, 8282, 9090, 9091, dll.


Cara Akses Aplikasi Setelah Ganti Port
#

Setelah port berhasil diubah, akses aplikasi dengan format:

http://IP-SERVER:PORT-BARU

Contoh jika IP server adalah 192.168.1.100 dan port baru adalah 8181:

http://192.168.1.100:8181

Jika menggunakan Nginx Proxy Manager atau reverse proxy lain, update konfigurasi upstream di sana juga agar mengarah ke port yang baru.


Troubleshooting: Port Masih Bentrok Setelah Diganti?
#

1. Cek apakah port baru sudah benar-benar kosong
#

sudo ss -tulpn | grep :PORT-BARU

Jika ada output, port tersebut masih dipakai proses lain. Pilih port yang berbeda.

2. Container tidak mau start — cek log error
#

docker logs nama-container --tail 30

Cari pesan seperti bind: address already in use. Ini konfirmasi bahwa port masih bentrok.

3. Aplikasi bisa diakses tapi koneksi ditolak
#

Kemungkinan firewall memblokir port baru. Izinkan port tersebut:

sudo ufw allow 8181/tcp
sudo ufw reload

4. CasaOS menampilkan port lama di dashboard
#

Restart CasaOS agar membaca konfigurasi terbaru:

sudo systemctl restart casaos

Tips: Dokumentasikan Port yang Kamu Pakai
#

Semakin banyak aplikasi yang diinstall, semakin sulit melacak port mana sudah dipakai. Biasakan membuat catatan sederhana — bisa di file teks, Notion, atau papan tulis di sebelah server:

Aplikasi Port Host URL Akses
CasaOS Dashboard 80 http://192.168.1.100
Jellyfin 8096 http://192.168.1.100:8096
Nextcloud 8181 http://192.168.1.100:8181
Grafana 3001 http://192.168.1.100:3001
Uptime Kuma 3002 http://192.168.1.100:3002

Alternatif yang lebih rapi: pasang Heimdall atau Homarr di CasaOS — aplikasi dashboard yang bisa menampilkan semua link aplikasi dalam satu halaman, lengkap dengan port dan status masing-masing.


Kesimpulan
#

Port conflict di CasaOS bisa diatasi dengan beberapa cara:

  • Via GUI — saat install aplikasi baru, ubah port di layar konfigurasi sebelum install
  • Via terminal — stop → rm → run ulang dengan port baru
  • Via docker-compose.yml — edit baris ports:, lalu docker compose up -d

Selalu cek port yang sudah terpakai dengan sudo ss -tulpn sebelum menginstall aplikasi baru, dan dokumentasikan semua port yang kamu gunakan agar tidak bingung di kemudian hari.


Referensi: CasaOS Community Forum | Docker Docs — Networking | CasaOS Wiki

Terkait


Muat Komentar