first
This commit is contained in:
92
navidrome-juice.nomad
Normal file
92
navidrome-juice.nomad
Normal file
@@ -0,0 +1,92 @@
|
||||
job "navidrome" {
|
||||
datacenters = ["dc1"]
|
||||
type = "service"
|
||||
|
||||
constraint {
|
||||
attribute = "${attr.unique.hostname}"
|
||||
operator = "regexp"
|
||||
value = "odroid.*"
|
||||
}
|
||||
|
||||
group "navidrome" {
|
||||
count = 1
|
||||
|
||||
volume "navidrome-csi-vol" {
|
||||
type = "csi"
|
||||
source = "navidrome-volume" # This must match the 'id' in your volume registration
|
||||
attachment_mode = "file-system"
|
||||
access_mode = "multi-node-multi-writer"
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Main Navidrome task
|
||||
task "navidrome" {
|
||||
driver = "docker"
|
||||
|
||||
volume_mount {
|
||||
volume = "navidrome-csi-vol" # Matches the name in the volume block above
|
||||
destination = "/data" # Where it appears inside the container
|
||||
read_only = false
|
||||
}
|
||||
|
||||
|
||||
config {
|
||||
image = "ghcr.io/navidrome/navidrome:latest"
|
||||
memory_hard_limit = "2048"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro",
|
||||
"/mnt/Public/Downloads/news/slskd/downloads:/music/slskd:ro",
|
||||
"/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro"
|
||||
]
|
||||
}
|
||||
env {
|
||||
ND_DATAFOLDER = "/data"
|
||||
ND_CACHEFOLDER = "/data/cache"
|
||||
ND_CONFIGFILE= "/data/navidrome.toml"
|
||||
ND_DBPATH = "/data/navidrome.db?_busy_timeout=30000&_journal_mode=DELETE&_foreign_keys=on&synchronous=NORMAL&cache=shared&nolock=1"
|
||||
ND_SCANSCHEDULE = "32 8-20 * * *"
|
||||
ND_LOGLEVEL = "trace"
|
||||
ND_REVERSEPROXYWHITELIST = "0.0.0.0/0"
|
||||
ND_REVERSEPROXYUSERHEADER = "X-Forwarded-User"
|
||||
ND_SCANNER_GROUPALBUMRELEASES = "False"
|
||||
ND_BACKUP_PATH = "/data/backups"
|
||||
ND_BACKUP_SCHEDULE = "0 0 * * *"
|
||||
ND_BACKUP_COUNT = "7"
|
||||
}
|
||||
resources {
|
||||
cpu = 100
|
||||
memory = 128
|
||||
}
|
||||
service {
|
||||
name = "navidrome"
|
||||
tags = [
|
||||
"navidrome",
|
||||
"web",
|
||||
"urlprefix-/navidrome",
|
||||
"tools",
|
||||
"traefik.http.routers.navidromelan.rule=Host(`navidrome.service.dc1.consul`)",
|
||||
"traefik.http.routers.navidromewan.rule=Host(`m.fbleagh.duckdns.org`)",
|
||||
"traefik.http.routers.navidromewan.middlewares=dex@consulcatalog",
|
||||
"traefik.http.routers.navidromewan.tls=true",
|
||||
]
|
||||
port = "http"
|
||||
check {
|
||||
type = "tcp"
|
||||
interval = "10s"
|
||||
timeout = "2s"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
network {
|
||||
port "http" {
|
||||
static = 4533
|
||||
to = 4533
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user