Ansible role for installing all requirements for Blackbeard operations
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Simon Cornet 39d740b449
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
docs: improve readme
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-05 17:28:44 +02:00
.woodpecker chore(package): update cr.simoncor.net/dockerhub/davidanson/markdownlint-cli2 docker tag to v0.23.3 2026-09-20 05:46:56 +00:00
tasks feat: initial commit 2026-04-13 15:41:51 +02:00
vars feat: initial commit 2026-04-13 15:41:51 +02:00
.ansible-lint fix: exclude only sops yml files from lint 2026-07-14 16:23:36 +02:00
.editorconfig chore: add .editorconfig and .gitattributes 2026-05-27 14:23:40 +02:00
.gitattributes chore: add .editorconfig and .gitattributes 2026-05-27 14:23:40 +02:00
.gitignore feat: initial commit 2026-04-13 15:41:51 +02:00
.markdownlint-cli2.jsonc style: ignore line length for markdown tables 2026-05-15 13:44:00 +02:00
.sops.yaml fix: correct sops regex to ya?ml 2026-07-14 16:01:43 +02:00
.yamllint chore: exclude .yml files from lint configs 2026-07-14 16:17:19 +02:00
ansible.cfg chore: sync linting and config files from common 2026-07-14 11:33:15 +02:00
readme.md docs: improve readme 2026-10-05 17:28:44 +02:00
renovate.json feat: initial commit 2026-04-13 15:41:51 +02:00

Ansible Role: Blackbeard

Create the shared blackbeard group and the per-application service users used by the media (arr) stack, so that containers and NFS storage share consistent UIDs and GIDs.

Requirements

A Linux host that supports the group and user modules. The role has no OS specific variables.

Dependencies

None. The repository has no meta/main.yaml, playbook.yaml or roles/requirements.yml, it is meant to be included by other playbooks.

Variables

The values live in vars/main.yaml (not defaults/), so they have a high precedence and are not meant to be overridden from the inventory.

Variable Required Default Description
blackbeard_guid n/a 10000 GID of the blackbeard group
jellyfin_puid n/a 10100 UID reserved for Jellyfin
sonarr_puid n/a 10200 UID of the sonarr user
radarr_puid n/a 10300 UID of the radarr user
lidarr_puid n/a 10400 UID reserved for Lidarr
qbittorrent_puid n/a 10500 UID of the qbittorrent user
prowlarr_puid n/a 10600 UID of the prowlarr user

The tasks also use bazarr_puid and readarr_puid. These are not defined in this repository and must be provided by the inventory.

Example

bazarr_puid: "10700"
readarr_puid: "10800"

Usage

Include the role from a playbook, for example before the roles that run the arr containers:

- name: "execute role: blackbeard"
  ansible.builtin.include_role:
    name: "blackbeard"

Notes

The role creates the group blackbeard and the users bazarr, prowlarr, qbittorrent, radarr, readarr and sonarr. All users have blackbeard as primary group and /bin/bash as shell. No users are created for Jellyfin and Lidarr, their UIDs are only defined.