Fix Traefik "No Available Server" 503 on Coolify
Error: no available server (Traefik 503) behind your Coolify domain after a successful deploy
Traefik received the request for your domain but has no healthy backend container to forward it to, so it returns a 503 "no available server".
Even with a working cert and DNS, Traefik drops the route when the app container is unhealthy, binds to localhost/127.0.0.1 instead of 0.0.0.0, exposes the wrong port, is missing its loadbalancer port label, or when Traefik itself can't talk to the Docker API after an update. On Coolify the most frequent cause is a failing health check (the image lacks curl/wget) or an app that listens only on 127.0.0.1.
The fix
Check whether the app container is actually healthy. An (unhealthy) status means Traefik will refuse to route to it.
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"Read the proxy logs for the routing error and any Docker API version complaint.
docker logs coolify-proxy --tail 50If the app binds to localhost only, fix it to listen on 0.0.0.0. Traefik connects over the Docker network and cannot reach 127.0.0.1 inside the container (e.g. Node: app.listen(PORT, '0.0.0.0')).
Confirm the exposed port matches the app's real listening port. In Coolify: app > Configuration > set 'Ports Exposes' (or for a service add the port to the Domains field, e.g. https://your-domain.com:3000).
If the health check is failing because the image lacks a tool, either add it (RUN apk add --no-cache curl, or apt-get install -y curl) or temporarily disable the health check in the app config and redeploy to confirm that is the cause.
docker exec -it <container-name> curl -f http://localhost:3000/healthIf the log shows a 'client version is too old' Docker API error, update Traefik: Server > Proxy > Configuration, set the version to v3.6.1 (or v2.11.31), then Restart Proxy.
docker logs coolify-proxy 2>&1 | grep -i "client version"Redeploy the application and re-check container status.
Verify it worked
Request the site and confirm it returns the app, not a 503 'no available server' from Traefik.
curl -sI https://your-domain.com | head -n1Related Coolify errors
- Timeout / no response / container not starting
- 502 Bad Gateway (Traefik) — build succeeds and container runs, but your-domain.com returns 502 Bad Gateway
- Healthcheck failed / Container is unhealthy — new container never receives traffic, deploy rolls back to the old container (or shows 404 "No available server")
- ECONNREFUSED / ENOTFOUND / connection to server at "postgres" port 5432 failed