Files
NageshbansalandGitHub 1b372d89be feat: introduce signoz-standalone and fix systemdcasting (#80)
#### Features   
- Add standalone Docker image (docs/standalone/): single container
running all SigNoz components via systemd
  casting
- Add SQLite metastore support in systemd casting (enricher, signoz
molding, forge, cast)
- Add Restart=on-failure with RestartSec=5 to migrator, ingester, and
signoz service templates to remove job readiness checks with
`After`/`Wants`/`Requires`
#### Fixes
                                                                     
- Enable all services before starting any (fixes Unit not found during
start)
- Use --no-block for systemctl start (prevents cast from blocking on
oneshot services)
 #### Refactors                                                 
- Remove inter-service dependency coupling (After=/Requires=/Wants=)
from all service templates; services manage their own readiness via
restart policies and readiness checks
- Move config material paths from configs/<component>/ to
<component>/<kind>/
- Move IsEnabled() checks to forgeCasting dispatcher instead of
individual forge methods
- Simplify discoverAndPrepareServices and startAllService, remove
service categorization map
- Render environment variables (Spec.Env) and ClickHouse DSN in
ingester, migrator, and telemetrystore templates
Related: https://github.com/SigNoz/platform-pod/issues/1522
2026-03-26 23:51:57 +05:30
..

Standalone Docker Image

Casting systemd / binary
Use Case Single Docker image for quick testing, development, and CI

Overview

An OpenTelemetry-native observability backend in a single Docker image. The standalone image bundles all SigNoz components into one container for development, demo, and testing environments.

Included components:

  • SigNoz - query engine and UI
  • OpenTelemetry Collector - telemetry ingestion
  • ClickHouse - telemetry storage
  • SQLite - metadata storage
  • Foundry - deployment orchestration via foundryctl

Applications can send telemetry using OpenTelemetry's standard defaults (OTLP gRPC/HTTP) without additional configuration. On first boot, Foundry generates all service configs and starts components via systemd.

Prerequisites

  • Docker Engine 20.10+

Deploy

docker run -d --name signoz --privileged \
    -p 8080:8080 \
    -p 4317:4317 \
    -p 4318:4318 \
    signoz/signoz-standalone:latest

Access SigNoz UI at http://localhost:8080.

Send telemetry to:

  • OTLP gRPC: localhost:4317
  • OTLP HTTP: localhost:4318

Customization

To customize the deployment, mount your own casting.yaml into the container:

docker run -d --name signoz --privileged \
    -p 8080:8080 \
    -p 4317:4317 \
    -p 4318:4318 \
    -v ./casting.yaml:/etc/foundry/casting.yaml \
    signoz/signoz-standalone:latest

See the default casting.yaml for the full config structure.

Persist Data

docker run -d --name signoz --privileged \
    -p 8080:8080 \
    -p 4317:4317 \
    -p 4318:4318 \
    -v signoz-clickhouse:/var/lib/clickhouse \
    -v signoz-data:/var/lib/signoz \
    signoz/signoz-standalone:latest

After deployment

# View logs for all services
docker exec signoz journalctl -f

# View logs for a specific service
docker exec signoz journalctl -u signoz-signoz.service -f
docker exec signoz journalctl -u signoz-ingester.service -f
docker exec signoz journalctl -u signoz-telemetrystore-clickhouse-0-0.service -f

Limitations

  • Requires --privileged flag (systemd needs cgroup access)
  • docker logs is empty - use journalctl inside the container
  • Single-node only (no clustering)