Troubleshooting SigNoz on Docker and Docker Swarm

Self-Hosted Community - This page applies to self-hosted SigNoz without a license.

These are issues specific to deploying SigNoz on Docker (Compose or Swarm). For installation steps, see the Docker install guide.

Compose tooling not found

Cause: neither 'docker-compose' nor the 'docker compose' plugin is available means you are deploying with flavor: compose but no Compose tooling was found.

Resolution: install the Compose v2 plugin (it ships with Docker Desktop and modern Docker Engine). Foundry accepts either docker compose (the v2 plugin) or the legacy docker-compose binary, and prefers the plugin.

Swarm mode is not active

Cause: docker swarm is not active (state: inactive) means you are deploying with flavor: swarm but Swarm mode is off.

Resolution: initialize Swarm on the node you deploy from:

docker swarm init

Deploying from a non-manager node

Cause: current node is a swarm worker, not a manager. docker stack deploy only runs from a Swarm manager.

Resolution: run foundryctl from a manager node. Check which nodes are managers:

docker node ls   # MANAGER STATUS column shows Leader / Reachable

Compose file not found

Cause: compose file does not exist at path: ... means you ran cast before generating the deployment. cast deploys what forge writes under pours/.

Resolution: let cast do both, or generate first:

foundryctl cast -f casting.yaml          # runs gauge, forge, then deploys
# or, step by step
foundryctl forge -f casting.yaml

If your pours live in a non-default directory, point to it with -p ./my-pours.

A container is unhealthy or the UI does not load

Resolution: inspect the workload and follow the logs of the component that is failing:

# Compose
docker ps -a
docker compose -f pours/deployment/compose.yaml logs -f signoz-signoz-0

# Swarm (services are prefixed with the stack name)
docker stack services signoz
docker service logs signoz_signoz-signoz-0 -f

Docker Swarm starts services in parallel and does not honor depends_on, so dependent services may restart a few times until ClickHouse and Postgres are ready. That is expected; persistent failures are not.

A ClickHouse bootstrap container hangs fetching the histogram binary

Cause: on first start, the signoz-telemetrystore-clickhouse-user-scripts job downloads a helper binary (histogram-quantile) from GitHub, and ClickHouse waits on it. A slow or blocked connection to GitHub stalls it.

Resolution: check its logs, then give it time or restart the stack so it retries:

docker compose -f pours/deployment/compose.yaml logs signoz-telemetrystore-clickhouse-user-scripts
docker compose -f pours/deployment/compose.yaml restart

On Docker Swarm the service is signoz_signoz-telemetrystore-clickhouse-user-scripts; re-run foundryctl cast -f casting.yaml to redeploy it.

Containers keep restarting

Resolution: increase the memory allocated to Docker. SigNoz needs at least 4GB.

Last updated: June 25, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.