# Prismarr — user-facing docker-compose.yml. # # Usage: # 1. Download this file # 2. docker compose up -d # 3. Open http://localhost:7070 # 4. Follow the setup wizard # # On first boot, Prismarr automatically generates its secrets # (APP_SECRET, MERCURE_JWT_SECRET) and creates the SQLite database. # Everything is persisted in the `prismarr_data` volume. services: prismarr: image: shoshuo/prismarr:latest container_name: prismarr restart: unless-stopped # Give the messenger worker time to finish the current job on shutdown # before Docker forces SIGKILL (default is 10s, too tight for long tasks). stop_grace_period: 30s # Exposed port (change the left side of `:` if 7070 is already taken). ports: - "7070:7070" # Optional runtime overrides. The defaults below are baked into the image # and only need to be uncommented if you actually want to change them. environment: # IANA timezone applied to the container's clock, PHP date functions, # and the /admin/settings server-time line. Falls back to UTC if unset # or invalid. (Issue #12.) # TZ: Europe/Paris # PHP runtime ceilings — bump these when /medias/films or /medias/series # crashes with ERR_EMPTY_RESPONSE on very large libraries (issue #13). # The image already ships with 1024 MB / 120 s as a sane default for # medium-large homelabs; users with >50 000 items should set 2048M+. # PHP_MEMORY_LIMIT: 1024M # PHP_MAX_EXECUTION_TIME: 120 # Allow embedding Prismarr in an iframe (e.g. inside Organizr/Heimdall). # Space-separated embedder origins. Unset = only Prismarr can frame # itself. Setting it drops X-Frame-Options. (Issue #25.) # PRISMARR_FRAME_ANCESTORS: https://organizr.example.com # FrankenPHP/Symfony worker mode (opt-in, OFF by default). Set to 1 to # keep the Symfony kernel resident across requests (skips the per-request # bootstrap for faster responses). Toggling needs no image rebuild. Leave # unset for the classic per-request mode. # PRISMARR_WORKER: 1 # Optional worker/thread count when PRISMARR_WORKER=1 (default: 2x CPU). # PRISMARR_WORKER_NUM: 4 # Persistent volume — contains SQLite DB, .env.local, sessions, cache. volumes: - prismarr_data:/var/www/html/var/data volumes: prismarr_data: