diff --git a/push-server/README.md b/push-server/README.md index bf24c4e..3dbdf1a 100644 --- a/push-server/README.md +++ b/push-server/README.md @@ -84,6 +84,14 @@ docker compose up -d --force-recreate traefik docker compose logs --tail=50 traefik ``` +Falls die API im Log bereits `Server listening` meldet, Compose sie aber als `unhealthy` einstuft, muss die aktuelle Compose-Datei verwendet werden. Der API-Healthcheck läuft mit Node gegen `http://127.0.0.1:4020/health` und benötigt kein zusätzliches `wget` im Image: + +```bash +git pull +docker compose up -d --force-recreate api admin +docker compose ps +``` + ## Admin-Zugang Das Dashboard nutzt den Wert aus `ADMIN_TOKEN`. Der Token wird im Browser nur lokal gespeichert und als `Authorization: Bearer ...` an die API gesendet. diff --git a/push-server/docker-compose.yml b/push-server/docker-compose.yml index 090b17e..82ede58 100644 --- a/push-server/docker-compose.yml +++ b/push-server/docker-compose.yml @@ -57,10 +57,15 @@ services: postgres: condition: service_healthy healthcheck: - test: ["CMD", "wget", "-qO-", "http://localhost:4020/health"] + test: + - CMD + - node + - -e + - "fetch('http://127.0.0.1:4020/health').then(response => { if (!response.ok) process.exit(1) }).catch(() => process.exit(1))" interval: 15s timeout: 5s retries: 5 + start_period: 20s labels: - traefik.enable=true - traefik.http.routers.fedeo-central-api.rule=Host(`${CENTRAL_API_DOMAIN}`)