# Linux VAAPI profile for Intel iGPU/QSV and AMD VAAPI. # # Usage: # cp .env.example .env # docker compose -f docker-compose.vaapi.yml up -d --build # # The worker discovers renderD* nodes and validates each encoder at startup. # Override VAAPI_DEVICE when a host has more than one GPU. VIDEO_GID and # RENDER_GID should match the host's `video`/`render` group IDs when the # container needs explicit supplementary group access. services: 8mblocal: build: context: . dockerfile: Dockerfile args: BUILD_VERSION: "${APP_VERSION:-143.0.0.0}" image: jms1717/8mblocal:vaapi container_name: 8mblocal ports: - "8001:8001" # Keep the VAAPI profile's auto/memory upload behavior RAM-preferred too. shm_size: "${MEDIA_SHM_SIZE:-10g}" volumes: - ./uploads:/app/uploads - ./outputs:/app/outputs - ./state:/app/state - ./redis-data:/var/lib/redis - type: bind source: ./.env target: /app/.env bind: create_host_path: false devices: - /dev/dri:/dev/dri group_add: - "${VIDEO_GID:-44}" - "${RENDER_GID:-109}" environment: - REDIS_URL=redis://127.0.0.1:6379/0 - ENV_FILE=/app/.env - SETTINGS_FILE=/app/state/settings.json - MEDIA_STORAGE=${MEDIA_STORAGE:-auto} - MEDIA_MEMORY_LIMIT_GB=${MEDIA_MEMORY_LIMIT_GB:-10} - HISTORY_FILE=/app/state/history.json - TMPDIR=/app/uploads/.tmp - VAAPI_DEVICE=${VAAPI_DEVICE:-} - WORKER_CONCURRENCY=${WORKER_CONCURRENCY:-auto} restart: unless-stopped