cluster-state/modules/media-centre/jobspec.json

84 lines
No EOL
2 KiB
JSON

{
"ID": "media-centre",
"Name": "Media Centre",
"TaskGroups": [
{
"Name": "Media Servers",
"Tasks": [
{
"Name": "Jellyfin",
"User": "985",
"Driver": "docker",
"Config": {
"image": "jellyfin/jellyfin",
"runtime": "nvidia",
"group_add": [
"997"
],
"ports": [
"jellyfin"
],
"mounts": [
{
"type": "volume",
"target": "/media",
"volume_options": {
"driver_config": {
"name": "local",
"options": [
{
"type": "nfs",
"o": "addr=martinibar.lan,nolock,soft,rw",
"device": ":/volume1/docker"
}
]
}
}
},
{
"type": "volume",
"target": "/config",
"source": "jellyfin-config"
}
]
},
"Env": {
"JELLYFIN_PublishedServerUrl": "192.168.1.5"
},
"Resources": {
"CPU": 1200,
"MemoryMB": 4096,
"Devices": [
{
"Name": "nvidia/gpu",
"Count": 1
}
]
}
}
],
"Services": [
{
"Name": "Jellyfin",
"Provider": "nomad",
"PortLabel": "jellyfin",
"Tags": [
"traefik.enable=true",
"traefik.http.routers.jellyfin.entrypoints=websecure",
"traefik.http.routers.jellyfin.rule=Host(`jellyfin.brmartin.co.uk`)"
]
}
],
"Networks": [
{
"DynamicPorts": [
{
"Label": "jellyfin",
"To": 8096
}
]
}
]
}
]
}