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 LISTENContoh 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 :8080Jika 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/tcpCara 1: Ganti Port via CasaOS GUI (Cara Termudah) #
Saat menginstall aplikasi baru via CasaOS App Store, kamu bisa mengubah port sebelum instalasi dimulai:
-
Buka CasaOS Dashboard → App Store.
-
Pilih aplikasi yang ingin diinstall.
-
Sebelum klik Install, klik tombol konfigurasi atau edit (biasanya ikon pensil atau tanda panah).
-
Di bagian Ports, ubah nomor port host (bagian kiri dari format
HOST:CONTAINER).Contoh: ubah
8080:80menjadi8181:80 -
Klik Install.
Untuk aplikasi yang sudah terpasang, ubah portnya melalui:
- Klik ikon aplikasi di dashboard → pilih Settings atau Edit.
- Temukan bagian Ports di pengaturan container.
- Ubah port host sesuai kebutuhan.
- Simpan dan restart container.
Cara 2: Ganti Port via Terminal (Lebih Fleksibel) #
Langkah 1: Stop container yang akan diubah portnya #
docker stop nama-containerLangkah 2: Hapus container (data tetap aman) #
docker rm nama-containerLangkah 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-imageContoh — 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/grafanaSekarang 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/nullEdit file docker-compose.yml #
sudo nano /DATA/AppData/nama-aplikasi/docker-compose.ymlCari bagian ports:
ports:
- "8080:80" # format: HOST_PORT:CONTAINER_PORTUbah 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 -dMemilih 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-BARUContoh jika IP server adalah 192.168.1.100 dan port baru adalah 8181:
http://192.168.1.100:8181Jika 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-BARUJika 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 30Cari 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 reload4. CasaOS menampilkan port lama di dashboard #
Restart CasaOS agar membaca konfigurasi terbaru:
sudo systemctl restart casaosTips: 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:, laludocker 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