Skip to main content
Comis publishes official Docker images to Docker Hub under the comisai organization. Releases are built automatically on every version tag via GitHub Actions and produce multi-arch manifests for linux/amd64 and linux/arm64.

Available images

Tag strategy

Every release tag (v1.0.19) produces the following tags automatically: Variants:
  • Default (comisai/comis:latest) — node:22-bookworm base. Includes extra system packages useful for debugging in production.
  • Slim (comisai/comis:latest-slim) — node:22-bookworm-slim base. Smaller image with a reduced attack surface. Recommended for most deployments.
Pin to an immutable version tag in production (e.g. comisai/comis:1.0.19) rather than latest to avoid unexpected updates.

Pulling images

Use with Docker Compose by setting the image environment variables:
Or in your .env file:

Automated releases via GitHub Actions

The workflow .github/workflows/dockerhub-release.yml runs on every v* tag push. It builds multi-arch images for both linux/amd64 and linux/arm64 using per-platform runners that merge into a single manifest — no QEMU emulation for the daemon, which keeps build times fast.

Workflow structure

Each build job compiles both the default and slim variants. Because the two variants share the same build stage layers, the second variant uses the cached layers and completes near-instantly.

Required GitHub secrets

Add these two secrets at Settings → Secrets and variables → Actions: To create an access token: Docker Hub → Account Settings → Personal access tokens → Generate new token.

Triggering a release

Pushing a v* tag fires the Docker Hub workflow alongside release.yml (GitHub Release) and npm-publish.yml (npm packages) in parallel:
The Docker Hub, GitHub Release, and npm publish all complete from a single tag push.

Caching

Build layers are cached in GitHub Actions cache (type=gha) scoped by platform and variant: Subsequent releases reuse cached dependency and build layers, cutting build time significantly after the first run.

Manual publishing

To build and push manually from the repository root:
For multi-arch builds locally (requires docker buildx):

Docker Operations

Production Dockerfile details, Compose services, and security hardening.

Install with Docker

Quick-start setup using the automated setup script.