From 7a7b6408a3cc5306bcbc9de49763dbdcfcff3de9 Mon Sep 17 00:00:00 2001 From: orejudo Date: Fri, 3 Jul 2026 23:22:26 +0200 Subject: [PATCH] Fix port conflict on Coolify host: map to 8090 instead of 8080 Coolify deployment failed with "port is already allocated" since 8080 was already bound by another resource on the host. Container still listens on 8080 internally; host mapping moved to 8090. --- README.md | 20 ++++++++++++-------- docker-compose.yml | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 725e24e..84ced29 100644 --- a/README.md +++ b/README.md @@ -49,13 +49,14 @@ per Proxy an das Backend weiter. ## Deployment (Docker) Die App läuft als ein Container: Das Backend serviert die REST-API und das -gebaute Frontend über denselben Port 8080. +gebaute Frontend intern über Port 8080, nach außen gemappt auf Host-Port 8090 +(siehe `docker-compose.yml`). ```bash docker compose up --build ``` -Danach ist die App unter http://localhost:8080 erreichbar. Die SQLite-Datenbank +Danach ist die App unter http://localhost:8090 erreichbar. Die SQLite-Datenbank liegt im Docker-Volume `data`. ## Deployment in Coolify @@ -66,12 +67,15 @@ liegt im Docker-Volume `data`. 2. **Build-Pack**: **Docker Compose** wählen. Das mitgelieferte `docker-compose.yml` baut das `Dockerfile` (Multi-Stage: Vue-Build + Node-Server) und startet einen einzelnen Container. -3. **Port**: Der Container lauscht auf Port `8080`. In Coolify unter - "Domains"/der Port-Konfiguration der Ressource **muss dieser Port (8080) - explizit eingetragen werden** — das passiert nicht automatisch. Falls - Port 8080 auf dem Host bereits von einer anderen Coolify-Ressource belegt - ist, in `docker-compose.yml` den Host-Port anpassen (z. B. `"8081:8080"`) - und die Coolify-Konfiguration entsprechend nachziehen. +3. **Port**: Der Container lauscht intern auf Port `8080`, im + `docker-compose.yml` auf Host-Port `8090` gemappt (Port 8080 war auf dem + Host bereits durch eine andere Ressource belegt → + `driver failed programming external connectivity ... port is already + allocated`). In Coolify unter "Domains"/der Port-Konfiguration der + Ressource **muss der Host-Port (8090) explizit eingetragen werden** — + das passiert nicht automatisch. Falls auch 8090 belegt sein sollte, in + `docker-compose.yml` einen anderen freien Host-Port wählen (z. B. + `"8091:8080"`) und die Coolify-Konfiguration entsprechend nachziehen. 4. **Persistenz**: Das Docker-Volume `data` sichert `server/data/data.db` (SQLite). Bei Redeploys bleiben die Daten erhalten, solange das Volume nicht gelöscht wird. Coolifys eingebaute Volume-Backup-Funktion kann diff --git a/docker-compose.yml b/docker-compose.yml index f138d3f..50d8f03 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ services: app: build: . ports: - - "8080:8080" + - "8090:8080" volumes: - data:/app/server/data restart: unless-stopped