-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Description:
When deploying Authentik using the official Docker Compose example from the documentation, the server container is always marked as unhealthy. This is caused by the healthcheck referencing wget, which is not included in the container image.
Example from the official Compose file:
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:9000/"]
interval: 15s
timeout: 5s
retries: 5
start_period: 30s
Running docker exec -it authentik_server which wget shows that wget is not installed, and neither are common alternatives like curl or nc.
Steps to reproduce:
1. Use the official Docker Compose example with healthcheck.
2. Deploy the stack using Docker Compose or Portainer.
3. Observe that the authentik_server container stays in unhealthy status.
4. Run docker exec -it authentik_server which wget → no output.
Expected behavior:
One of the following should be addressed:
• The image should include a minimal HTTP client like wget, curl, or nc, or
• The healthcheck should use a method native to the image (e.g., Python’s built-in urllib), or
• The documentation should provide a working alternative healthcheck that does not depend on missing tools.
Proposed alternative:
Using Python for the healthcheck, which is available in the image:
healthcheck:
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:9000')"]
interval: 15s
timeout: 5s
retries: 5
start_period: 30s
Environment:
• Authentik version: 2025.6.4
• Deployment method: Docker Compose (via Portainer)
• Platform: NUC (Docker engine)