| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
| .woodpecker | ||
| meta | ||
| roles | ||
| tasks | ||
| .ansible-lint | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .markdownlint-cli2.jsonc | ||
| .sops.yaml | ||
| .yamllint | ||
| ansible.cfg | ||
| playbook.yaml | ||
| readme.md | ||
| renovate.json | ||
Ansible Role: Audiobookshelf
Install and configure Audiobookshelf - a self-hosted audiobook and podcast server. The role runs Audiobookshelf as a Docker container and prunes unused Docker resources afterwards.
Requirements
A host with Docker (installed by the docker role) and Traefik (installed by the traefik role) in front of the
container.
Dependencies
The playbook runs these roles first (see roles/requirements.yml):
dockertraefik
Variables
The role has no defaults/main.yaml. It only uses one variable that is expected to be defined elsewhere
(for example by the common role or in the inventory).
| Variable | Required | Default | Description |
|---|---|---|---|
timezone |
Yes | Timezone (TZ) for the container |
The image tag (2.37.1) and the paths are hardcoded in tasks/audiobookshelf.yaml.
Example
timezone: "Europe/Amsterdam"
Usage
Run the role through Semaphore using playbook.yaml. The playbook first runs
ansible-galaxy install -f -r roles/requirements.yml to refresh the role dependencies, then runs the docker,
traefik and audiobookshelf roles.
Notes
| Item | Value |
|---|---|
| Container | audiobookshelf (restart policy always) |
| Image | cr.simoncor.net/ghcr/advplyr/audiobookshelf:2.37.1 |
| Port | 8080/tcp on the host (container port 80) |
| Directories | /mnt/audiobookshelf/{config,metadata,audiobooks,podcasts} |
The four directories are created with mode 0755 and mounted at /config, /metadata, /audiobooks and
/podcasts.
The cleanup tasks run docker_prune and docker system prune --all --force --volumes after every run. This
removes all unused images, networks and volumes on the host, including those of other containers.