added readarr, calibre, and calibre-web
This commit is contained in:
@@ -17,7 +17,10 @@
|
|||||||
- ntfy
|
- ntfy
|
||||||
- nextcloud
|
- nextcloud
|
||||||
- recyclarr
|
- recyclarr
|
||||||
- name: rimgo
|
- searxng
|
||||||
|
- readarr
|
||||||
|
- calibre
|
||||||
|
- name: calibre-web
|
||||||
tags: test
|
tags: test
|
||||||
- unifi-controller
|
- unifi-controller
|
||||||
- slskd
|
- slskd
|
||||||
@@ -26,5 +29,5 @@
|
|||||||
- gluetun
|
- gluetun
|
||||||
- barassistant
|
- barassistant
|
||||||
- synapse
|
- synapse
|
||||||
- searxng
|
- rimgo
|
||||||
- gitea
|
- gitea
|
||||||
|
31
ansible/roles/calibre-web/tasks/main.yml
Normal file
31
ansible/roles/calibre-web/tasks/main.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
- name: Create service user
|
||||||
|
user:
|
||||||
|
name: "{{ role_name }}"
|
||||||
|
groups: "{{ media_group }}"
|
||||||
|
append: yes
|
||||||
|
system: true
|
||||||
|
register: service_user
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose file to destination
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Start docker container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
pull: true
|
||||||
|
remove_orphans: yes
|
26
ansible/roles/calibre-web/templates/docker-compose.yml
Normal file
26
ansible/roles/calibre-web/templates/docker-compose.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
version: "{{ docker_compose_version }}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
{{ role_name }}:
|
||||||
|
container_name: "{{ role_name }}"
|
||||||
|
image: lscr.io/linuxserver/calibre-web:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
environment:
|
||||||
|
- "PUID={{ service_user.uid }}"
|
||||||
|
- "PGID={{ service_user.uid }}"
|
||||||
|
- "TZ={{ timezone }}"
|
||||||
|
- "UMASK=002"
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/{{ role_name }}:/config"
|
||||||
|
- "{{ media_storage_mnt }}/data/media/books:/books"
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
|
||||||
|
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file
|
||||||
|
traefik.http.services.{{ role_name }}.loadbalancer.server.port: 8083
|
31
ansible/roles/calibre/tasks/main.yml
Normal file
31
ansible/roles/calibre/tasks/main.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
- name: Create service user
|
||||||
|
user:
|
||||||
|
name: "{{ role_name }}"
|
||||||
|
groups: "{{ media_group }}"
|
||||||
|
append: yes
|
||||||
|
system: true
|
||||||
|
register: service_user
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose file to destination
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Start docker container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
pull: true
|
||||||
|
remove_orphans: yes
|
26
ansible/roles/calibre/templates/docker-compose.yml
Normal file
26
ansible/roles/calibre/templates/docker-compose.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
version: "{{ docker_compose_version }}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
{{ role_name }}:
|
||||||
|
container_name: "{{ role_name }}"
|
||||||
|
image: lscr.io/linuxserver/calibre:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
environment:
|
||||||
|
- "PUID={{ service_user.uid }}"
|
||||||
|
- "PGID={{ media_gid }}"
|
||||||
|
- "TZ={{ timezone }}"
|
||||||
|
- "UMASK=002"
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/{{ role_name }}:/config"
|
||||||
|
- "{{ media_storage_mnt }}/data:/data"
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
|
||||||
|
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file
|
||||||
|
traefik.http.services.{{ role_name }}.loadbalancer.server.port: 8080
|
31
ansible/roles/readarr/tasks/main.yml
Normal file
31
ansible/roles/readarr/tasks/main.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
- name: Create service user
|
||||||
|
user:
|
||||||
|
name: "{{ role_name }}"
|
||||||
|
groups: "{{ media_group }}"
|
||||||
|
append: yes
|
||||||
|
system: true
|
||||||
|
register: service_user
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose file to destination
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Start docker container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
pull: true
|
||||||
|
remove_orphans: yes
|
25
ansible/roles/readarr/templates/docker-compose.yml
Normal file
25
ansible/roles/readarr/templates/docker-compose.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
version: "{{ docker_compose_version }}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
{{ role_name }}:
|
||||||
|
container_name: "{{ role_name }}"
|
||||||
|
image: cr.hotio.dev/hotio/readarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
environment:
|
||||||
|
- "PUID={{ service_user.uid }}"
|
||||||
|
- "PGID={{ media_gid }}"
|
||||||
|
- "TZ={{ timezone }}"
|
||||||
|
- "UMASK=002"
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/{{ role_name }}:/config"
|
||||||
|
- "{{ media_storage_mnt }}/data:/data"
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
|
||||||
|
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file
|
Reference in New Issue
Block a user