Skip to content

Installation

chodeus edited this page Apr 20, 2026 · 4 revisions

Installation

CHUB runs as a Docker container. The image is published at ghcr.io/chodeus/chub:latest.

After CHUB is running, finish the setup with First Run.


✅ What you need

  • A Linux host with Docker 24 or newer (or Docker Desktop on macOS/Windows).
  • A folder on the host for CHUB's config, database, and logs (50–200 MB over time).
  • Optional: the folders that already hold your posters, media, and Kometa assets.

🐳 Docker Compose (recommended)

Create a folder for the stack (e.g. /opt/stacks/chub/) and save this as compose.yaml:

services:
  chub:
    image: ghcr.io/chodeus/chub:latest
    container_name: chub
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      PUID: "1000"            # Unraid: 99
      PGID: "1000"            # Unraid: 100
      TZ: "America/Los_Angeles"
    volumes:
      - /srv/apps/chub/config:/config
      - /srv/apps/chub/posters:/posters
      - /srv/media:/media
      - /srv/kometa/assets:/kometa
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8000/api/health >/dev/null || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 45s
    security_opt:
      - no-new-privileges:true
    tmpfs:
      - /tmp

Replace the four host paths, set PUID / PGID to the user that owns them, adjust TZ to your timezone.

Start:

docker compose up -d

Then open http://localhost:8000 and follow First Run.

Updating

docker compose pull
docker compose up -d

No manual migrations — CHUB updates its database schema automatically on startup.


🏃 Docker single-run

If you don't use Compose:

docker run -d \
  --name chub \
  --restart unless-stopped \
  -p 8000:8000 \
  -e PUID=1000 -e PGID=1000 -e TZ=America/Los_Angeles \
  -v /srv/apps/chub/config:/config \
  -v /srv/apps/chub/posters:/posters \
  -v /srv/media:/media \
  -v /srv/kometa/assets:/kometa \
  ghcr.io/chodeus/chub:latest

If it won't start

docker compose logs chub

Common causes in Troubleshooting → Container won't start.

Clone this wiki locally