Nomploy Nomad Packs

← All packs

bazarr v0.1.0

Media

Bazarr — a companion to Sonarr and Radarr that automatically downloads subtitles for your TV shows and movies in the languages you choose, from many subtitle providers. Deployed as a host-networked Nomad service with config and media volumes.

nomad-pack run bazarr --registry nomploy
…or one line (add registry + run)
curl -fsSL https://packs.nomploy.com/install.sh | sh -s -- bazarr

Needs nomad-pack on PATH. The script only adds the nomploy registry and runs this pack.

1 task http 6767 2 volumes image lscr.io/linuxserver/bazarr:latest tracks :latest image bumped today
Variables 12
values.hcl

Save as values.hcl, edit, then run:

nomad-pack run bazarr -f values.hcl --registry nomploy
# The name of the Nomad job.
job_name = "bazarr"

# The Nomad namespace to deploy into.
namespace = "default"

# The datacenters to deploy to.
datacenters = ["*"]

# The Bazarr container image. Pin a tag in production.
image = "lscr.io/linuxserver/bazarr:latest"

# Host port for the Bazarr web UI.
port = 6767

# User ID the app runs as (PUID).
puid = 1000

# Group ID the app runs as (PGID).
pgid = 1000

# Container timezone (TZ), e.g. Europe/Bratislava.
tz = "UTC"

# Named volume for Bazarr config (/config): the database and settings.
config_volume = "bazarr_config"

# Named volume for the media library (/data). Share this with the sonarr/radarr packs so Bazarr sees the same paths.
data_volume = "media_data"

# Placement constraints. Pin to the node holding the volumes. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []

# Resources for the Bazarr task.
resources = {
    cpu    = 300
    memory = 256
  }
NameTypeDefaultDescription
job_name string
"bazarr"
The name of the Nomad job.
namespace string
"default"
The Nomad namespace to deploy into.
datacenters list
["*"]
The datacenters to deploy to.
image string
"lscr.io/linuxserver/bazarr:latest"
The Bazarr container image. Pin a tag in production.
port number
6767
Host port for the Bazarr web UI.
puid number
1000
User ID the app runs as (PUID).
pgid number
1000
Group ID the app runs as (PGID).
tz string
"UTC"
Container timezone (TZ), e.g. Europe/Bratislava.
config_volume string
"bazarr_config"
Named volume for Bazarr config (/config): the database and settings.
data_volume string
"media_data"
Named volume for the media library (/data). Share this with the sonarr/radarr packs so Bazarr sees the same paths.
constraints list
[]
Placement constraints. Pin to the node holding the volumes. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
resources object
{
    cpu    = 300
    memory = 256
  }
Resources for the Bazarr task.
Back up this pack

This pack stores data in 2 Docker named volumes: bazarr_configmedia_data

restic

# Run on the node hosting this pack. Point restic at your repo first:
#   export RESTIC_REPOSITORY="s3:https://<account>.r2.cloudflarestorage.com/<bucket>"
#   export RESTIC_PASSWORD="<repo-password>"
#   export AWS_ACCESS_KEY_ID=<key>  AWS_SECRET_ACCESS_KEY=<secret>
restic backup \
  /var/lib/docker/volumes/bazarr_config/_data \
  /var/lib/docker/volumes/media_data/_data

rclone (sync to S3/R2)

rclone sync /var/lib/docker/volumes/bazarr_config/_data backup:<bucket>/bazarr_config
rclone sync /var/lib/docker/volumes/media_data/_data backup:<bucket>/media_data

Paths assume the default Docker volume location (/var/lib/docker/volumes). Restore by stopping the job, restoring files into the same volume, and re-running the pack.

Readme

bazarr

Bazarr — a companion to Sonarr and Radarr that automatically downloads and manages subtitles for your shows and movies, in the languages you choose, from a wide range of providers.

Single host-networked Nomad service with config and media volumes.

Deploy

nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run bazarr --registry=nomploy

Configure

Variable Default Description
port 6767 Web UI port.
config_volume bazarr_config /config — database and settings.
data_volume media_data /data — the media library (share with sonarr/radarr).
puid / pgid 1000 / 1000 User/group (PUID/PGID).
tz UTC Container timezone (TZ).
image lscr.io/linuxserver/bazarr:latest Container image. Pin a tag in production.
resources { cpu = 300, memory = 256 } Task resources.

Point Bazarr at the sonarr / radarr packs (co-located on 127.0.0.1), choose subtitle languages and providers, and it handles the rest. Use the same /data volume as those apps so paths match. For providers behind Cloudflare, add the flaresolverr pack. Serves plain HTTP — front it with a reverse proxy for TLS.