64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
---
|
|
|
|
# Name of the Nomad job
|
|
instance: navidrome
|
|
|
|
navidrome:
|
|
|
|
# The Docker image to use
|
|
image: deluan/navidrome:0.52.5
|
|
|
|
# The public URL to reach your navidrome instance
|
|
public_url: https://navidrome.domain.tld
|
|
|
|
traefik:
|
|
# List of Traefik middlewares to add
|
|
middlewares:
|
|
redir:
|
|
- 'redirectregex.regex=^(https://[^/]+)/?$'
|
|
- 'redirectregex.replacement=/app/'
|
|
|
|
# Resources allocation for the navidrome task
|
|
resources:
|
|
cpu: 200
|
|
memory: 256
|
|
memory_max: 512
|
|
|
|
# Navidrome uses 3 volumes :
|
|
# - to store its sqlite DB, and some caches. This must be read/write, and preferably not NFS
|
|
# - to store SQLite backups
|
|
# - to access the music collection, used as read only.
|
|
volumes:
|
|
music:
|
|
type: csi
|
|
source: music
|
|
read_only: true
|
|
access_mode: multi-node-reader-only
|
|
data:
|
|
type: csi
|
|
source: '[[ .instance ]]-data'
|
|
|
|
# Optional env vars to pass to the container
|
|
env:
|
|
ND_ENABLEGRAVATAR: 'false'
|
|
ND_ENABLESHARING: 'true'
|
|
ND_ENABLETRANSCODINGCONFIG: 'true'
|
|
# ND_REVERSEPROXYUSERHEADER: Auth-User
|
|
|
|
prometheus:
|
|
enabled: "[[ .prometheus.available ]]"
|
|
metrics_url: http://localhost:4533/metrics
|
|
|
|
backup:
|
|
enabled: false
|
|
cron: "15 19 * * *"
|
|
image: '[[ .docker.repo ]][[ .docker.base_images.sqlite.image ]]'
|
|
resources:
|
|
cpu: 10
|
|
memory: 32
|
|
volumes:
|
|
backup:
|
|
type: csi
|
|
source: '[[ .instance ]]-backup'
|
|
access_mode: multi-node-multi-writer
|