45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
# Lidify - Premium Self-Hosted Music Server
|
|
# All-in-One container with AI-powered vibe matching
|
|
#
|
|
# Features included:
|
|
# - Smart playlists with mood detection
|
|
# - Enhanced vibe matching (Essentia AI)
|
|
# - High-quality audio streaming
|
|
#
|
|
# Usage:
|
|
# 1. Edit the MUSIC_PATH below
|
|
# 2. Run: docker compose -f docker-compose.prod.yml up -d
|
|
# 3. Open http://localhost:3030
|
|
|
|
services:
|
|
lidify:
|
|
image: ${DOCKERHUB_USERNAME:-chevron7locked}/lidify:${VERSION:-latest}
|
|
container_name: lidify
|
|
ports:
|
|
- "${PORT:-3030}:3030"
|
|
volumes:
|
|
# REQUIRED: Path to your music library
|
|
- ${MUSIC_PATH:-/path/to/your/music}:/music
|
|
# Persistent data (database, cache, etc.)
|
|
- lidify_data:/data
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- SESSION_SECRET=${SESSION_SECRET:-}
|
|
# Lidarr webhook callback URL - how Lidarr reaches Lidify when downloads complete
|
|
# Default uses host.docker.internal which works on most setups with extra_hosts below
|
|
# Override if using custom Docker networks: e.g., http://192.168.0.20:3030
|
|
- LIDIFY_CALLBACK_URL=${LIDIFY_CALLBACK_URL:-http://host.docker.internal:3030}
|
|
# Makes host.docker.internal work on Linux (already works on Docker Desktop)
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "node", "/app/healthcheck.js"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
start_period: 60s
|
|
retries: 3
|
|
|
|
volumes:
|
|
lidify_data:
|