# NoMercy MediaServer - Docker Compose (NVIDIA GPU) # # Complete standalone configuration with NVIDIA GPU hardware acceleration. # Requires: NVIDIA drivers + NVIDIA Container Toolkit on host. # # Usage: # docker compose -f docker-compose.nvidia.yml up -d # docker compose -f docker-compose.nvidia.yml logs -f nomercy # docker compose -f docker-compose.nvidia.yml down # # Prerequisites: # 1. NVIDIA drivers installed on host # 2. NVIDIA Container Toolkit: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html # # Verify GPU: # docker run --rm --gpus all nvidia/cuda:12.3.1-base-ubuntu22.04 nvidia-smi services: nomercy: container_name: nomercy-mediaserver image: ghcr.io/nomercy-entertainment/nomercymediaserver:nvidia # To build locally instead of pulling from registry, uncomment: # build: # context: . # dockerfile: Dockerfile.nvidia restart: unless-stopped ports: - "7626:7626" volumes: # Configuration and data persistence # The app stores all data under $HOME/.local/share/NoMercy/ - nomercy-data:/data/.local/share/NoMercy # Host machine-id (read-only): gives the container a stable, unique server # identity that survives `docker compose down/up` and container recreation. # Without it, a recreated container registers as a brand-new server. - /etc/machine-id:/etc/machine-id:ro # Mount your media libraries (adjust paths as needed) # rw = read-write for metadata, thumbnails, and transcoding - /path/to/your/movies:/media/movies:rw - /path/to/your/tv:/media/tv:rw - /path/to/your/music:/media/music:rw environment: - TZ=UTC - PUID=1000 - PGID=1000 - NOMERCY_INTERNAL_IP=${HOST_IP:?HOST_IP is required. Set it to this host LAN IP, e.g. export HOST_IP=$(hostname -I | awk '{print $1}')} # - NOMERCY_EXTERNAL_IP=1.2.3.4 # Public IP (auto-detected via UPnP/API) # - NOMERCY_INTERNAL_PORT=7626 # Server port # - NOMERCY_EXTERNAL_PORT=7626 # External port (if different from internal) # - NOMERCY_LOG_LEVEL=Information # Verbose, Debug, Information, Warning, Error, Fatal # - NOMERCY_DEV=true # Development mode # NVIDIA environment - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility # NVIDIA GPU passthrough deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu, video, compute] memory: 1G limits: memory: 8G healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:7627/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s volumes: nomercy-data: name: nomercy-data