mirror of
https://github.com/hanzoai/o11y-foundry.git
synced 2026-10-30 18:26:45 +00:00
#### 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
2.3 KiB
2.3 KiB
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
--privilegedflag (systemd needs cgroup access) docker logsis empty - usejournalctlinside the container- Single-node only (no clustering)