Docker registry self-hosting

Run Logister from versioned Docker images in infrastructure you control.

Logister publishes release images to GitHub Container Registry and Docker Hub, plus optional Quay mirrors when configured, so self-hosters can pin a known version, run separate web and worker processes, and keep PostgreSQL, Redis, SMTP, optional S3 archive storage, and optional ClickHouse under their own operational plan.

Release images

Pin the app image that matches the release notes.

Release automation publishes version, latest, and short-SHA tags to GHCR and Docker Hub after CI, Fly deploy, and health checks pass. It can also publish the same tags to Quay when the release workflow has QUAY_USERNAME and QUAY_TOKEN. For stable self-hosting, pin a version tag such as ghcr.io/taimoorq/logister:v2.6.1 or docker.io/taimoorq/logister:v2.6.1 and review the matching changelog entry before upgrading.

Process model

The Docker shape mirrors the Rails app architecture.

ContainerResponsibility
WebRuns the Rails UI, auth, project management, dashboards, and ingest endpoints.
WorkerRuns Sidekiq for email delivery, first-occurrence alerts, digests, async ingestion, optional ClickHouse writes, and archive/prune tasks.
PostgreSQLStores accounts, projects, API keys, events, grouped errors, notification preferences, and sharing.
RedisBacks Sidekiq, caching, and rate-friendly dashboard behavior.
S3-compatible storageOptional Active Storage target for compressed telemetry archives.
ClickHouseOptional analytics store for higher-volume event and span exploration.

Self-hosting choices

Use managed data stores or a single-host stack.

Teams can run only the Logister web and worker containers while using managed PostgreSQL, Redis, and SMTP, or they can use a Compose-style single-host stack for the full footprint. The same environment reference applies in both cases.

  • Keep secrets in the deploy platform or host secret store, not in the repository.
  • Run database migrations in a release phase or explicit one-off task.
  • Keep at least one worker process running so email, digests, and async ingestion continue.

Next steps

Start with the Docker guide and environment reference.