Multica self-hosted secara default memakai port yang juga dipakai banyak tool lain: frontend di 3000 dan backend di 8080. Project utama saya di kantor sudah jalan di localhost:3000, jadi Multica harus pindah. Begini cara mengganti port-nya tanpa menyentuh Docker image.
Jawaban cepat
Set host port di .env Multica, restart stack, lalu arahkan CLI ke URL yang baru:
# .env
PORT=8765
FRONTEND_PORT=4321
make selfhost-stop && make selfhost
multica setup self-host --server-url http://localhost:8765 --app-url http://localhost:4321
Langkah 1: Edit .env
Buka .env di root repo Multica dan ubah dua host port ini:
PORT=8765
FRONTEND_PORT=4321
PORT untuk backend, FRONTEND_PORT untuk web app. Pakai port apa saja yang tidak bentrok dengan project lain.
Ini cuma host port. Di dalam Docker, container tetap listen di 8080 dan 3000, jadi tidak perlu rebuild apa pun.
Cek juga FRONTEND_ORIGIN. Di .env.example default nilainya http://localhost:${FRONTEND_PORT}, jadi otomatis ikut port baru. Kalau sebelumnya kamu hardcode, update juga, kalau tidak login akan gagal karena CORS.
Langkah 2: Restart stack
make selfhost-stop && make selfhost
Docker Compose membaca .env saat start, jadi port baru langsung berlaku.
Langkah 3: Arahkan CLI ke port baru
multica setup self-host mengasumsikan 8080 dan 3000. Kasih URL baru secara eksplisit:
multica setup self-host --server-url http://localhost:8765 --app-url http://localhost:4321
Perintah ini meng-update config CLI, membuka browser untuk login, dan me-restart daemon.
Verifikasi
curl http://localhost:8765/health
Harusnya backend membalas dengan status healthy. Lalu buka http://localhost:4321. Kamu harusnya sampai di halaman login Multica.
Bagaimana dengan PostgreSQL di 5432?
Di mode self-host tidak perlu diubah. docker-compose.selfhost.yml sama sekali tidak mem-publish Postgres ke mesin kamu. Backend bicara dengan Postgres lewat network Docker, jadi tidak mungkin bentrok dengan Postgres lokal.
Ini cuma relevan kalau kamu menjalankan setup dev Multica dengan docker-compose.yml, yang binding ke 127.0.0.1:5432:5432. Kalau bentrok, ganti sisi host dari binding-nya dan samakan POSTGRES_PORT serta DATABASE_URL di .env:
ports:
- "127.0.0.1:${POSTGRES_PORT:-5499}:5432"
Kesimpulan
Untuk mengganti port di Multica self-hosted, set PORT dan FRONTEND_PORT di .env, restart dengan make selfhost, lalu jalankan ulang multica setup self-host dengan --server-url dan --app-url. Postgres bisa dibiarkan, kecuali kamu pakai compose file untuk dev.