docker-compose.yml
Rama dev · réplica de lectura del repositorio original.
# NoMercy MediaServer - Docker Compose (CPU Only)
#
# Basic configuration without GPU hardware acceleration.
# For GPU support, use the appropriate compose file instead.
#
# Usage:
# docker compose up -d # Start in background
# docker compose logs -f nomercy # View logs
# docker compose down # Stop and remove containers
#
# GPU Alternatives:
# docker compose -f docker-compose.nvidia.yml up -d # NVIDIA GPU
# docker compose -f docker-compose.intel.yml up -d # Intel Quick Sync
# docker compose -f docker-compose.amd.yml up -d # AMD GPU
services:
nomercy:
container_name: nomercy-mediaserver
image: ghcr.io/nomercy-entertainment/nomercymediaserver:latest
# To build locally instead of pulling from registry, uncomment:
# build:
# context: .
# dockerfile: Dockerfile
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
# Server configuration (CLI args take precedence; env vars fill the rest)
- 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
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:7627/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# Resource limits (optional, adjust as needed)
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 512M
volumes:
nomercy-data:
name: nomercy-data