Files
NomadBackup/nomad_backup/20251115_142246/gonic.json
2025-11-21 13:07:40 -08:00

10 lines
4.2 KiB
JSON

{
"Format": "hcl2",
"JobID": "gonic",
"JobModifyIndex": 13923644,
"Namespace": "default",
"Source": "job \"gonic\" {\n datacenters = [\"dc1\"]\n type = \"service\"\n\n\n\n group \"gonic\" {\n count = 1\n task \"gonic\" {\n driver = \"docker\"\n config {\n image = \"sentriz/gonic\"\n port_map {\n http = 80\n }\n volumes = [\n \"/mnt/configs/gonic/data:/data\",\n \"/mnt/configs/gonic/cache:/cache\",\n \"/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro\",\n \"/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro\",\n \"/mnt/Public/Downloads/podcasts:/podcasts\",\n \"/mnt/Public/Downloads/musicplaylists:/musicplaylists\",\n\n ]\n }\n env{\n GONIC_SCAN_INTERVAL = \"120\"\n GONIC_MUSIC_PATH = \"/music\"\n GONIC_PODCAST_PATH = \"/podcasts\"\n GONIC_PLAYLISTS_PATH = \"/musicplaylists\"\n }\n resources {\n cpu = 100 # 100 MHz\n memory = 256 # 128 MB\n network {\n port \"http\" {\n static = \"4747\"\n }\n }\n }\n service {\n name = \"gonic\"\n tags = [ \n \"gonic\",\n \"web\",\n \"urlprefix-/gonic\",\n \"backend\",\n \"traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)\",\n \"traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)\",\n \"traefik.http.routers.gonicwan.tls=true\",\n \"traefik.http.routers.gonicwan.tls.certresolver=myresolver\"\n \n ]\n // \"traefik.http.middlewares.gonic_auth.basicauth.users=admin:$2y$05$cJGONoS0BFTeBUXqmETikeI14QhLDKIDkYuPdA1umIOC129grVMAm\",\n port = \"http\"\n meta {\n ALLOC = \"${NOMAD_ALLOC_ID}\"\n }\n check {\n type = \"tcp\"\n interval = \"10s\"\n timeout = \"2s\"\n }\n }\n } #end gonic\n\n task \"init-manual\" {\n driver = \"docker\"\n lifecycle {\n hook = \"prestart\"\n sidecar = false\n }\n config {\n memory_hard_limit = \"2048\"\n\n image = \"ghcr.io/sstent/rsync\"\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\" \n ]\n\n args = [\"flock\", \"-x\",\"/locks/${NOMAD_GROUP_NAME}_rsync.lock\",\"rsync\",\"-av\",\"--exclude=Backups\",\"/configbackup/\",\"/config/\",\"--delete-before\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n }\n\n\n task \"finalsync-manual\" {\n driver = \"docker\"\n lifecycle {\n hook = \"poststop\"\n }\n config {\n memory_hard_limit = \"2048\"\n\n image = \"ghcr.io/sstent/rsync\"\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\",\n \"/mnt/Public/config/locks:/locks\" \n ]\n\n args = [\"flock\", \"-x\",\"/locks/${NOMAD_GROUP_NAME}_rsync.lock\",\"rsync\",\"-av\",\"/config/\",\"/configbackup/\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n }\n\n task \"db-sync\" {\n driver = \"docker\"\n lifecycle {\n hook = \"poststart\"\n sidecar = true\n }\n config {\n memory_hard_limit = \"2048\"\n\n image = \"ghcr.io/sstent/rsync\"\n volumes = [\n \"/mnt/configs/${NOMAD_GROUP_NAME}:/config\",\n \"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup\", \n ]\n \n // args = [\"/usr/local/bin/litestream\", \"replicate\", \"-config\",\"/local/litestream.yml\"]\n }\n resources {\n cpu = 20 # 500 MHz\n memory = 20 # 128MB\n }\n template {\n data = <<EOH\ndbs:\n - path: /data/gonic.db\n replicas:\n - path: /configbackup\n EOH\n\n destination = \"local/litestream.yml\"\n }\n\n } #####\n\n\n }\n}",
"VariableFlags": null,
"Variables": "",
"Version": 0
}