Ctrl K
ComunidadGuías…

docker-compose.nvidia.yml

Rama dev · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 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