diff --git a/dns.yml b/dns.yml index 795b8ae..0f9107a 100644 --- a/dns.yml +++ b/dns.yml @@ -17,6 +17,8 @@ ip: "152.53.36.98" - name: "auth" ip: "152.53.36.98" + - name: "audio" + ip: "152.53.36.98" tasks: - name: Add A records for subdomains diff --git a/roles/docker/files/Caddyfile b/roles/docker/files/Caddyfile index 55a2367..24af8b5 100644 --- a/roles/docker/files/Caddyfile +++ b/roles/docker/files/Caddyfile @@ -6,6 +6,10 @@ pin.thesatelliteoflove.com { reverse_proxy pinry-pinry-1:80 } +audio.thesatelliteoflove.com { + reverse_proxy audiobookshelf-audiobookshelf-1:80 +} + post.thesatelliteoflove.com { reverse_proxy postiz:5000 } diff --git a/roles/docker/tasks/audiobookshelf.yml b/roles/docker/tasks/audiobookshelf.yml new file mode 100644 index 0000000..6791540 --- /dev/null +++ b/roles/docker/tasks/audiobookshelf.yml @@ -0,0 +1,19 @@ +- name: make audiobookshelf directories + ansible.builtin.file: + path: "{{ item}}" + state: directory + loop: + - /opt/stacks/audiobookshelf + +- name: Template out the compose file + ansible.builtin.template: + src: audiobookshelf-compose.yml.j2 + dest: /opt/stacks/audiobookshelf/compose.yml + owner: root + mode: 644 + +- name: deploy audiobookshelf stack + community.docker.docker_compose_v2: + project_src: /opt/stacks/audiobookshelf + files: + - compose.yml \ No newline at end of file diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index d267e7d..33d73ed 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -108,4 +108,8 @@ - name: Install pinry import_tasks: pinry.yml - tags: pinry \ No newline at end of file + tags: pinry + +- name: Install audiobookshelf + import_tasks: audiobookshelf.yml + tags: audiobookshelf \ No newline at end of file diff --git a/roles/docker/templates/audiobookshelf-compose.yml.j2 b/roles/docker/templates/audiobookshelf-compose.yml.j2 new file mode 100644 index 0000000..45c81ec --- /dev/null +++ b/roles/docker/templates/audiobookshelf-compose.yml.j2 @@ -0,0 +1,23 @@ +services: + audiobookshelf: + image: ghcr.io/advplyr/audiobookshelf:2.16.0 + volumes: + - audiobooks:/audiobooks + - podcasts:/podcasts + - config:/config + - metadata:/metadata + environment: + - TZ=America/Denver +volumes: + audiobooks: + driver: local + podcasts: + driver: local + config: + driver: local + metadata: + driver: local +networks: + default: + external: true + name: lava \ No newline at end of file