feat: add dir2opds OPDS book catalog service (tailnet-only)

This commit is contained in:
Phillip Skentelbery
2026-06-29 18:30:30 -06:00
parent 3e0b2054a9
commit a2b31ea1d1
4 changed files with 58 additions and 2 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
service_categories: service_categories:
infrastructure: ["caddy", "authentik", "dockge"] infrastructure: ["caddy", "authentik", "dockge"]
development: ["gitea", "bytestash"] development: ["gitea", "bytestash"]
media: ["audiobookshelf", "calibre", "hoarder", "manyfold"] media: ["audiobookshelf", "calibre", "dir2opds", "hoarder", "manyfold"]
productivity: ["paperlessngx", "baikal", "syncthing", "heyform", "dawarich", "obsidian-livesync"] productivity: ["paperlessngx", "baikal", "syncthing", "heyform", "dawarich", "obsidian-livesync"]
communication: ["gotosocial", "listmonk"] communication: ["gotosocial", "listmonk"]
monitoring: ["glance", "changedetection", "appriseapi", "gotify", "cronmaster"] monitoring: ["glance", "changedetection", "appriseapi", "gotify", "cronmaster"]
+26
View File
@@ -0,0 +1,26 @@
- name: make dir2opds directories
ansible.builtin.file:
path: "{{ item}}"
state: directory
loop:
- /opt/stacks/dir2opds
- name: make dir2opds book directories
ansible.builtin.file:
path: "{{ item}}"
state: directory
loop:
- /opt/stacks/dir2opds/books
- name: Template out the compose file
ansible.builtin.template:
src: dir2opds-compose.yml.j2
dest: /opt/stacks/dir2opds/compose.yml
owner: root
mode: 644
- name: deploy dir2opds stack
community.docker.docker_compose_v2:
project_src: /opt/stacks/dir2opds
files:
- compose.yml
+4
View File
@@ -30,3 +30,7 @@
- name: Install manyfold - name: Install manyfold
import_tasks: manyfold.yml import_tasks: manyfold.yml
tags: manyfold tags: manyfold
- name: Install dir2opds
import_tasks: dir2opds.yml
tags: dir2opds
@@ -0,0 +1,26 @@
---
services:
dir2opds:
image: ghcr.io/dubyte/dir2opds:v1.9.0
container_name: dir2opds
ports:
- "8080:8080"
volumes:
- ./books:/books
command:
- -dir=/books
- -extract-metadata
- -enable-cache
- -gzip
- -enable-html
restart: unless-stopped
labels:
glance.name: dir2opds
glance.icon: si:book
glance.url: http://docker-01:8080
glance.description: OPDS book catalog
mag37.dockcheck.update: true
networks:
default:
external: true
name: {{ docker.network_name }}