# 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 ```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 ```env TZ=America/New_York ``` ## Deploy ```bash 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