90 lines
2.5 KiB
YAML
90 lines
2.5 KiB
YAML
---
|
|
- name: Enable repository
|
|
ansible.builtin.yum_repository:
|
|
name: audiobookshelf
|
|
baseurl: https://raw.githubusercontent.com/lkiesow/audiobookshelf-rpm/el$releasever/
|
|
description: Audiobookshelf el$releasever repository
|
|
gpgcheck: true
|
|
gpgkey: https://raw.githubusercontent.com/lkiesow/audiobookshelf-rpm/main/audiobookshelf-rpm.key
|
|
enabled: true
|
|
|
|
- name: Install packcages
|
|
ansible.builtin.package:
|
|
name: audiobookshelf
|
|
state: present
|
|
|
|
- name: Create data directories
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: "0770"
|
|
owner: root
|
|
group: audiobookshelf
|
|
with_items:
|
|
- /export/audiobookshelf
|
|
- /export/audiobookshelf/audiobooks
|
|
- /export/audiobookshelf/config
|
|
- /export/audiobookshelf/metadata
|
|
- /export/audiobookshelf/podcasts
|
|
- /export/audiobookshelf/radioplays
|
|
|
|
- name: Link data directory
|
|
ansible.builtin.file:
|
|
dest: /srv/audiobookshelf
|
|
src: /export/audiobookshelf
|
|
state: link
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
follow: false
|
|
|
|
- name: Copy naming instructions
|
|
ansible.builtin.copy:
|
|
dest: /srv/audiobookshelf/audiobooks/README.md
|
|
src: meta.md
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
|
|
- name: Copy service config
|
|
ansible.builtin.copy:
|
|
dest: /etc/default/audiobookshelf
|
|
src: audiobookshelf.default
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: Restart audiobookshelf
|
|
|
|
- name: Enable service
|
|
ansible.builtin.service:
|
|
name: audiobookshelf
|
|
state: started
|
|
enabled: true
|
|
|
|
- name: Allow nginx to connect audiobookshelf
|
|
ansible.posix.seboolean:
|
|
name: httpd_can_network_connect
|
|
state: true
|
|
persistent: true
|
|
|
|
- name: Copy nginx config
|
|
ansible.builtin.copy:
|
|
dest: "/etc/nginx/conf.d/{{ inventory_hostname }}/audiobookshelf.conf"
|
|
content: |
|
|
location / {
|
|
proxy_set_header Connection $connection_upgrade;
|
|
proxy_set_header Host audiobooks.foo.sh;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_http_version 1.1;
|
|
proxy_pass http://127.0.0.1:13378/;
|
|
location /audiobookshelf/api/upload {
|
|
# increase size to allow uploads
|
|
client_max_body_size 10g;
|
|
proxy_pass http://127.0.0.1:13378/api/upload;
|
|
}
|
|
}
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: Restart nginx
|