# Vellum — one container, alongside the existing stack. # # Mounts match the conventions used elsewhere in this stack: # :z SELinux relabel (mandatory on this host, getenforce = Enforcing) # :ro the media library is read-only; Vellum never writes to it # # Paths here are the TARGET HOST's (/opt/mediaserver, /mnt/storage). They do # not exist on the dev workstation — build locally with the Dockerfile instead. services: vellum: build: context: . args: VERSION: 0.1.0-dev image: localhost/vellum:0.1.0-dev container_name: vellum restart: unless-stopped security_opt: - no-new-privileges:true deploy: resources: limits: cpus: '2.0' memory: 1G environment: - PUID=1001 - PGID=1001 - TZ=America/New_York - VELLUM_LISTEN=:7788 - VELLUM_LOG_LEVEL=info # Read-only library roots, colon-separated. Add comics/music/etc. as # those modules land. - VELLUM_MEDIA_DIRS=/media/ebooks:/media/comics volumes: - /opt/mediaserver/vellum/data:/data:z - /opt/mediaserver/vellum/config:/config:z - /mnt/storage/media:/media:ro,z ports: - 127.0.0.1:7788:7788 logging: driver: "json-file" options: max-size: "10m" max-file: "3"