Files
truenas-stacks/docs/planning/DEPLOY_KIMA_HUB.md

2.8 KiB

Kima-Hub Deployment Plan

Host: PlausibleDeniability (PD)
Port: 3333
Stack dir: /mnt/docker-ssd/docker/compose/media-extra/
Status: Pending

What It Is

Kima-Hub is a self-hosted music streaming platform — think personal Spotify. Point it at your music library and it handles cataloging, artist discovery, AI-powered playlists, podcast subscriptions, and seamless integration with Lidarr and Audiobookshelf.

Pre-Deploy Checklist

  • Confirm music library path on Unraid NFS (/mnt/unraid/data/media/music or similar)
  • Create appdata directory: sudo mkdir -p /mnt/tank/docker/appdata/kima-hub
  • Create stack directory: sudo mkdir -p /mnt/docker-ssd/docker/compose/media-extra

docker-compose.yaml

services:
  kima-hub:
    image: chevron7locked/kima:latest
    container_name: kima-hub
    restart: unless-stopped
    ports:
      - "3333:3030"
    volumes:
      - /mnt/tank/docker/appdata/kima-hub:/data
      - /mnt/unraid/data/media/music:/music:ro
    environment:
      - TZ=${TZ}
    healthcheck:
      test: ["CMD-SHELL", "cat /proc/net/tcp6 | grep -q 0BD6 || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
    networks:
      - pangolin

networks:
  pangolin:
    external: true

Note: Internal port is 3030, mapped to 3333 on the host. Hex 0BD6 = port 3030 for healthcheck.
Music path: Adjust /mnt/unraid/data/media/music to match your actual Unraid music library path.
Read-only mount: Music library is mounted :ro — Kima-Hub should not need write access to source files.

.env.example

TZ=America/New_York

Deploy

cd /mnt/docker-ssd/docker/compose/media-extra
sudo docker compose --env-file .env config    # validate
sudo docker compose --env-file .env up -d
sudo docker logs kima-hub --tail 30

Post-Deploy

  1. Open http://10.5.1.6:3333 and create your account
  2. Point Kima at your music directory (/music)
  3. In Lidarr: Settings → Connect → add Kima-Hub webhook
  4. In Audiobookshelf: verify Kima can reach it at http://10.5.1.6:13358
  5. Add Pangolin resource: kima.paccoco.com → port 3333

Pangolin Resource

Add in Pangolin dashboard:

  • Subdomain: kima.paccoco.com
  • Target: http://10.5.1.6:3333
  • Auth: Enable (personal use only)

Storage Decision

Path Tier Reason
/mnt/tank/docker/appdata/kima-hub tank Config, DB, playlists — not write-heavy
/mnt/unraid/data/media/music Unraid NFS (read-only) Source library stays on Serenity

Notes

  • NFS mount must be up before starting (sudo bash /mnt/tank/docker/scripts/mount-unraid-nfs.sh)
  • If you transcode on the fly, CPU load on PD will spike; Kima-Hub is CPU-bound for transcoding
  • Kima-Hub has no GPU acceleration — pure CPU transcoding