Personal project in BETA! I built this for my own homelab using the tools I use daily: Zed, Claude, and OpenCode. AI is part of my regular workflow the same way Stack Overflow and docs always have been. If you spot any issues, chuck in a ticket and I'll get to it.
A self-hosted dashboard for searching missing media across your arr stack.
Currently supports Sonarr. Radarr support coming soon.
# 1. Copy the env file and set your JWT secret
cp .env.example .env
# Edit .env — generate a secret with:
# openssl rand -hex 32
# 2. Start
docker compose up -d
# 3. Open http://localhost:8080 and create your admin accountservices:
sleeparr:
image: ghcr.io/codevski/sleeparr:latest
container_name: sleeparr
restart: unless-stopped
ports:
- "${PORT:-8080}:8080"
volumes:
- ./config:/config
environment:
- JWT_SECRET=${JWT_SECRET:-change-me-generate-with-openssl-rand-hex-32}
- GIN_MODE=${GIN_MODE:-release}
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-America/New_York}
env_file:
- .env
All configuration is stored in /config/config.json and managed through the UI. Environment variables are for startup only.
| Variable | Required | Default | Description |
|---|---|---|---|
JWT_SECRET |
Yes | — | Secret for signing JWT tokens. Generate with openssl rand -hex 32 |
PORT |
No | 8080 |
Port to listen on |
DATA_DIR |
No | /config |
Path to store config.json |
GIN_MODE |
No | release |
Set to debug to enable verbose request logging |
If file ownership matters on your setup, set PUID and PGID to match your user:
id
# uid=1000(youruser) gid=1000(yourgroup)environment:
- PUID=1000
- PGID=1000
- TZ=Australia/MelbourneThis ensures /config files are owned by your user rather than root.
# Backend (with hot reload)
air
# Frontend (separate terminal)
cd frontend && bun run devSee bruno/sleeparr/ for the API collection.
MIT

