No Available Server (503) Error ​
If your deployed application or service shows a "No Available Server" error, this indicates that Traefik (the reverse proxy) cannot find any (healthy) containers to route traffic to under the provided secured URL (https).
What Causes This Error? ​
The "No Available Server" error occurs when:
- Failed Health Checks - Traefik considers your container unhealthy
- Domain Configuration Issues - Incorrect domain setup or missing www/non-www variants
- Port Mismatches - Exposed ports don't match your application's actual listening port
- Deployment Downtime - Brief downtime during container updates
- Underlying Traefik Issues - Problems with Traefik itself (e.g., Docker API version mismatch)
Quick Diagnosis Steps ​
1. Check Container Health Status ​
First, verify if your containers are running healthy:
# SSH into your server and check container status
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"Look for containers showing (unhealthy) status - this indicates a health check problem.
2. Check Domain Configuration ​
Verify that you entered the domain correctly into your Application / Service configurations and your DNS records are pointing to the correct IP address. See the Domains documentation for the full formatting rules.
3. Check Traefik Proxy Logs ​
Check the Traefik logs for underlying issues:
Through Coolify UI:
- Go to
Servers→[Your Server]→Proxy→Logs
Or via SSH:
# Check proxy logs for errors
docker logs coolify-proxy --tail 50Look for error messages like client version 1.24 is too old which indicates a Docker API version mismatch.
Common Solutions ​
Fix Failed Health Checks (Most Common) ​
Symptoms:
- Container shows as
(unhealthy)in Docker - Health check path returns errors
- Missing dependencies (e.g.
curl/wget) in container
Steps:
Disable Health Check Temporarily:
- Go to your application configuration
- Disable the health check
- Restart your application
If this fixes the issue, then the problem is in your health check.
Fix Health Check Issues:
infoThese are some common solutions to fix a health check. Adjust based on your specific application and health check command. Read more about configuring Health Checks.
Missing dependencies in container:
Ensure that all necessary tools are installed in your Docker image for the health check to work. Applications will need either
curlorwgetinstalled.dockerfile# Add curl to your Dockerfile RUN apt-get update && apt-get install -y curl # OR for Alpine images RUN apk add --no-cache curlWrong health check path / hostname:
Make sure that your app is actually serving the health check endpoint and does not return an error. In most cases, the hostname will be
localhostor127.0.0.1.Port mismatch:
- Ensure health check port matches your app's listening port
- If the app runs on port
3000, health check should use port3000
Test Health Check Manually:
If the above hasn't resolved the issue, manually test the health check command inside the container and evaluate the output.
You can do this by either navigating to your container's
Terminaltab in Coolify or by SSHing into your server and running:bash# SSH into your server and test a health check which uses curl docker exec -it <container-name> curl -f http://localhost:3000/health
Fix Domain Configuration ​
Incorrect Domain Setup ​
Symptoms:
- Works with auto-generated domain (e.g.
sslip.io) but not custom domain
Steps: Verify that your domain is correctly set up in both Coolify and your DNS provider as per the Domains documentation.
Redirect Issues ​
Symptoms:
- Redirect is set to either
Redirect to wwworRedirect to non-www - Works for root domain but not www (or vice versa)
Steps:
Add Both www and non-www Domains:
Make sure both, the www and non-www versions of your domain are added in the
Domainsfield like so:https://example.com,https://www.example.comConfigure Domain Redirection:
- Set the
DirectiontoAllow www & non-wwwif you want both to work
- Set the
Restart Application:
- Always restart after domain changes
HTTPS Issues ​
If your site is only accessible via HTTP but not HTTPS, check your domain configuration:
- For HTTPS with SSL: Use
https://prefix in the domain field:https://example.com - For HTTP only: Use
http://prefix in the domain field:http://example.com(no SSL certificate will be generated)
Make sure the protocol in your domain configuration matches how you want to access your site, then restart your application.
Fix Port Configuration ​
Symptoms:
- Application / Service works via
http://IP:portbut not via domain (manual port mapping required) - Traefik can't reach the application
Steps:
Check exposed Port:
The proxy needs to know which port your application is listening on. Check that the port is configured correctly.

In Applications, this is defined in the
Ports Exposesfield.
In Service Stacks, this is defined by either adding the port at the end of the URL in the
Domainsfield (e.g.https://example.com:3000) or by defining theEXPOSEdirective in yourDockerfile.Verify Application Listening Address:

Your Application / Service might be binding to only
localhostor127.0.0.1, which makes it unreachable from outside the container. Ensure your app listens on all interfaces (0.0.0.0).
Handle Deployment Downtime ​
Symptoms:
- Brief "No Available Server" during deployments
- Happens only during container updates
Solution: Configure Rolling Updates
Ensure that Rolling Updates are correctly configured. See Rolling Updates documentation
Update Traefik to Fix Docker API Version Issue ​
Symptoms:
- "No Available Server" error appears
- Coolify proxy logs shows the following error message:py
Error response from daemon: client version 1.24 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version - Application container is running healthy but visiting the domain shows "No Available Server"
Root Cause: The problem happened because Traefik was hard-coding Docker API versions.
The Traefik team has released a fix in v2.11.31 and v3.6.1. Starting from v2.11.31 and v3.6.1, Traefik will now auto-negotiate the Docker API version, so this issue shouldn't happen again.
Solution:
If you're already using Coolify, you'll need to update Traefik manually by follow these steps:
Navigate to Proxy Configuration:
- Go to your Coolify dashboard (https://app.coolify.io/ for cloud users) → Servers → [Your Server] → Proxy → Configuration
Change Traefik Version:
- Change the version to:
v3.6.1(orv2.11.31if staying on v2)
- Change the version to:
Restart Proxy:
- Click
Restart Proxy
- Click

Notes:
- You need to do this on every server connected to your Coolify instance
- This applies to both self-hosted and Coolify Cloud users
- (Cloud users: Traefik runs on your own server not Coolify’s so you’ll need to update it yourself by following the guide above)
- If you have changed Docker daemon configs to set Minimum supported API version, then we recommend to revert it as it could potentially cause problems in the future.
Some users have custom configurations (like DNS challenges) that could break when updating to a newer Traefik version. Please check the Traefik changelog before updating.
- If you're using the default Coolify Traefik configurations, you're safe to update to v3.6.1 without any issues.
- If you're currently on Traefik v2 and don't want to upgrade to v3, you can update to the patched v2.11.31 instead.
Advanced Debugging ​
Check Traefik Configuration ​
# View Traefik dynamic configuration
cat /data/coolify/proxy/dynamic/*.yml
# Check Traefik logs
docker logs coolify-proxy -f
# Inspect container labels to verify Traefik routing configuration
docker inspect <your-container-name> --format='{{json .Config.Labels}}' | jqCheck Application Logs ​
# Check your application's logs for errors
docker logs <your-container-name> -fTest Health Check from Inside Container ​
# Execute health check command manually
docker exec -it <container-name> /bin/sh
curl -f http://localhost:3000/healthPrevention Tips ​
Always Use Health Checks:
- Implement a
/healthendpoint in your application - Ensure all dependencies (e.g.
curl/wget) are available in your container
- Implement a
Test Locally First:
- Test your health check endpoint before deploying
- Verify port configuration matches your app
Monitor Container Status:
- Regularly check
docker psfor unhealthy containers - Set up monitoring for health check failures
- Regularly check
Use Staging Environment:
- Test domain configurations in staging first
When to Seek Help ​
If none of these solutions work, join our Discord community and provide:
- Application logs
- Coolify proxy logs
- Container health status (
docker ps) - Domain configuration screenshots
- Health check configuration
- Steps you've already tried
This will help the community diagnose more complex issues specific to your setup.
