Compare commits
No commits in common. "main" and "1.0.1" have entirely different histories.
@ -1,13 +0,0 @@
|
||||
skip_list:
|
||||
- 'yaml'
|
||||
- 'risky-shell-pipe'
|
||||
- 'role-name'
|
||||
- 'no-handler'
|
||||
|
||||
kinds:
|
||||
- meta: "**/meta/main.yml"
|
||||
- tasks: "**/tasks/*.yml"
|
||||
- vars: "**/vars/*.yml"
|
||||
|
||||
exclude_paths:
|
||||
- "**/requirements.yml"
|
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@ -1,2 +0,0 @@
|
||||
github: equinoxel
|
||||
patreon: laurivan
|
@ -9,7 +9,7 @@ sudo: false
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python-pip
|
||||
- python-pip
|
||||
|
||||
install:
|
||||
# Install ansible
|
||||
@ -26,4 +26,4 @@ script:
|
||||
- ansible-playbook tests/test.yml -i tests/inventory --syntax-check
|
||||
|
||||
notifications:
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
19
CHANGELOG.md
19
CHANGELOG.md
@ -1,19 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [1.2.0](https://git.laurivan.com/Dev/ansible-role-arrs/compare/v1.1.0...v1.2.0) (2024-01-26)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add FlareSolverr docker ([eded032](https://git.laurivan.com/Dev/ansible-role-arrs/commit/eded03224311a2cdc8c68dd2655d1bd42674faad))
|
||||
|
||||
## [1.1.0](https://git.laurivan.com/Dev/ansible-role-arrs/compare/v1.0.1...v1.1.0) (2024-01-26)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Pull new images on running the role. ([d7397e0](https://git.laurivan.com/Dev/ansible-role-arrs/commit/d7397e00b016cab0a154ef00b4573ab7637ccd4d))
|
||||
|
||||
### 1.0.1 (2022-12-12)
|
38
README.md
38
README.md
@ -32,7 +32,6 @@ If you need to install the containers with a specific user/group ID, then define
|
||||
arrs_uid:
|
||||
arrs_gid:
|
||||
```
|
||||
|
||||
The role allows oyu to specify which components will be installed:
|
||||
|
||||
```yml
|
||||
@ -64,32 +63,6 @@ You can also overwrite the location where deluge's configuration is stored (e.g.
|
||||
deluge_config_volume: '{{ arrs_configuration_volume }}/deluge'
|
||||
```
|
||||
|
||||
### Radarr
|
||||
|
||||
You can specify the image version and the port exposed:
|
||||
|
||||
```yml
|
||||
radarr_image_version: 'latest'
|
||||
radarr_host_port: 7878
|
||||
```
|
||||
|
||||
You can also overwrite the location where radarr's configuration is stored (e.g. if you already have it installed and you want to use the Ansible role):
|
||||
|
||||
```yml
|
||||
radarr_config_volume: '{{ arrs_configuration_volume }}/radarr'
|
||||
```
|
||||
|
||||
Radarr needs a place to copy the downloaded series:
|
||||
|
||||
```yml
|
||||
radarr_series_volume: '/mnt/videos/Movies'
|
||||
```
|
||||
|
||||
**Notes**:
|
||||
|
||||
- Depending on your settings, it will also rename your current series
|
||||
- You need write access to that directory, so Sonarr can actually copy the files
|
||||
|
||||
### Sonarr
|
||||
|
||||
You can specify the image version and the port exposed:
|
||||
@ -98,7 +71,6 @@ You can specify the image version and the port exposed:
|
||||
sonarr_image_version: 'latest'
|
||||
sonarr_host_port: 8989
|
||||
```
|
||||
|
||||
You can also overwrite the location where sonarr's configuration is stored (e.g. if you already have it installed and you want to use the Ansible role):
|
||||
|
||||
```yml
|
||||
@ -116,7 +88,7 @@ sonarr_series_volume: '/mnt/videos/Series'
|
||||
- Depending on your settings, it will also rename your current series
|
||||
- You need write access to that directory, so Sonarr can actually copy the files
|
||||
|
||||
### Lidarr
|
||||
# Lidarr
|
||||
|
||||
You can specify the image version and the port exposed:
|
||||
|
||||
@ -124,13 +96,11 @@ You can specify the image version and the port exposed:
|
||||
lidarr_image_version: 'latest'
|
||||
lidarr_host_port: 8686
|
||||
```
|
||||
|
||||
You can also overwrite the location where lidarr's configuration is stored (e.g. if you already have it installed and you want to use the Ansible role):
|
||||
|
||||
```yml
|
||||
lidarr_config_volume: '{{ arrs_configuration_volume }}/lidarr'
|
||||
```
|
||||
|
||||
Lidarr needs a place to copy the downloaded music:
|
||||
|
||||
```yml
|
||||
@ -148,8 +118,7 @@ lidarr_music_volumes:
|
||||
|
||||
The `path` is the actual directory where the collection is located and the `alias` is the internal mapping name in Docker.
|
||||
|
||||
### Jakett
|
||||
|
||||
# Jakett
|
||||
You can specify the image version, the port exposed and to autoupdate:
|
||||
|
||||
```yml
|
||||
@ -157,7 +126,6 @@ jackett_image_version: 'latest'
|
||||
jackett_auto_update: true
|
||||
jackett_host_port: 9117
|
||||
```
|
||||
|
||||
You can also overwrite the location where jackett's configuration is stored (e.g. if you already have it installed and you want to use the Ansible role):
|
||||
|
||||
```yml
|
||||
@ -180,6 +148,6 @@ You need a machine with docker and docker-compose installed.
|
||||
|
||||
MIT
|
||||
|
||||
## Author Information
|
||||
## Author Information
|
||||
|
||||
This role was created in 2022 by [Laur Ivan](https://www.laurivan.com).
|
||||
|
@ -10,10 +10,9 @@ arrs_setup_path: '~/arrs'
|
||||
arrs_uid:
|
||||
arrs_gid:
|
||||
|
||||
deluge_enabled: true
|
||||
radarr_enabled: true
|
||||
sonarr_enabled: true
|
||||
lidarr_enabled: true
|
||||
deluge_enabled: true
|
||||
sonarr_enabled: true
|
||||
lidarr_enabled: true
|
||||
jackett_enabled: true
|
||||
|
||||
# Deluge torrent
|
||||
@ -26,50 +25,27 @@ deluge_admin_port: 8112
|
||||
|
||||
deluge_config_volume: '{{ arrs_configuration_volume }}/deluge'
|
||||
|
||||
# Radarr
|
||||
#
|
||||
radarr_image_version: 'latest'
|
||||
radarr_host_port: 7878
|
||||
|
||||
radarr_config_volume: '{{ arrs_configuration_volume }}/radarr'
|
||||
radarr_upload_volume: '/mnt/videos/Movies'
|
||||
radarr_library_volumes:
|
||||
- {path: '/mnt/video/Gold', alias: 'gold'}
|
||||
- {path: '/mnt/video/Current', alias: 'current'}
|
||||
- {path: '/mnt/video/Temporary', alias: 'temporary'}
|
||||
|
||||
# Sonarr
|
||||
#
|
||||
sonarr_image_version: 'latest'
|
||||
sonarr_host_port: 8989
|
||||
|
||||
sonarr_config_volume: '{{ arrs_configuration_volume }}/sonarr'
|
||||
sonarr_upload_volume: '/mnt/videos/Series'
|
||||
sonarr_library_volumes:
|
||||
- {path: '/mnt/tv/Series', alias: 'series'}
|
||||
- {path: '/mnt/tv/Animation', alias: 'animation'}
|
||||
- {path: '/mnt/tv/SciFi', alias: 'scifi'}
|
||||
sonarr_series_volume: '/mnt/videos/Series'
|
||||
|
||||
# Lidarr
|
||||
lidarr_image_version: 'latest'
|
||||
lidarr_host_port: 8686
|
||||
|
||||
lidarr_config_volume: '{{ arrs_configuration_volume }}/lidarr'
|
||||
lidarr_upload_volume: '/mnt/music/Reference'
|
||||
lidarr_library_volumes:
|
||||
- {path: '/mnt/music/Sonos', alias: 'sonos'}
|
||||
- {path: '/mnt/music/Audiophile', alias: 'audiophile'}
|
||||
- {path: '/mnt/music/Raw', alias: 'raw'}
|
||||
lidarr_music_upload_volume: '/mnt/music/Reference'
|
||||
lidarr_music_volumes:
|
||||
- {path: '/mnt/music/Sonos', alias: 'sonos' }
|
||||
- {path: '/mnt/music/Audiophile', alias: 'audiophile' }
|
||||
- {path: '/mnt/music/Raw', alias: 'raw' }
|
||||
|
||||
# Jakett
|
||||
jackett_image_version: 'latest'
|
||||
jackett_auto_update: true
|
||||
jackett_host_port: 9117
|
||||
jackett_config_volume: '{{ arrs_configuration_volume }}/jackett'
|
||||
|
||||
# FlareSolverr
|
||||
flaresolverr_log_level: info
|
||||
flaresolverr_log_html: "false"
|
||||
flaresolverr_captcha_solver: none
|
||||
flaresolverr_timezone: 'Europe/Brussels'
|
||||
flaresolverr_host_port: 8191
|
||||
|
@ -1,2 +1,2 @@
|
||||
---
|
||||
# handlers file for arrs
|
||||
# handlers file for arrs
|
@ -1,4 +1,3 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: Laur Ivan
|
||||
namespace: laurivan
|
||||
@ -26,7 +25,7 @@ galaxy_info:
|
||||
versions:
|
||||
- all
|
||||
|
||||
galaxy_tags:
|
||||
galaxy_tags:
|
||||
- sonarr
|
||||
- lidarr
|
||||
- deluge
|
||||
|
@ -15,7 +15,7 @@
|
||||
state: absent
|
||||
when: docker_compose_file.stat.exists
|
||||
become: false
|
||||
|
||||
|
||||
- name: Remove the docker-compose file
|
||||
ansible.builtin.file:
|
||||
path: "~/arrs/docker-compose.yml"
|
||||
|
@ -6,6 +6,7 @@
|
||||
- name: "Include necessary variables"
|
||||
ansible.builtin.include_vars:
|
||||
file: "../../.env.yml"
|
||||
|
||||
|
||||
roles:
|
||||
- role: laurivan.arrs
|
||||
|
||||
|
@ -27,4 +27,4 @@ verifier:
|
||||
lint: |
|
||||
set -e
|
||||
yamllint .
|
||||
ansible-lint .
|
||||
ansible-lint .
|
@ -8,31 +8,28 @@
|
||||
register: docker_sock_stat
|
||||
|
||||
- name: Create docker.sock
|
||||
ansible.builtin.raw: touch /var/run/docker.sock
|
||||
raw: touch /var/run/docker.sock
|
||||
become: true
|
||||
changed_when: false
|
||||
when: not docker_sock_stat.stat.exists
|
||||
|
||||
- name: Move docker.sock from tmp
|
||||
ansible.builtin.raw: >
|
||||
mount --move /tmp/docker_mounted.sock /var/run/docker.sock
|
||||
raw: mount --move /tmp/docker_mounted.sock /var/run/docker.sock
|
||||
become: true
|
||||
changed_when: false
|
||||
when: not docker_sock_stat.stat.exists
|
||||
|
||||
|
||||
- name: Update apt cache.
|
||||
ansible.builtin.apt: update_cache=yes cache_valid_time=600
|
||||
apt: update_cache=yes cache_valid_time=600
|
||||
when: ansible_os_family == 'Debian'
|
||||
|
||||
- name: Install python requests
|
||||
ansible.builtin.pip:
|
||||
name:
|
||||
pip:
|
||||
name:
|
||||
- requests
|
||||
- docker
|
||||
- docker-compose
|
||||
|
||||
- name: Install docker
|
||||
vars:
|
||||
docker_service_manage: false
|
||||
ansible.builtin.include_role:
|
||||
include_role:
|
||||
name: geerlingguy.docker
|
||||
|
@ -1,46 +1,18 @@
|
||||
---
|
||||
# tasks file for arrs
|
||||
- name: Set up main directory
|
||||
- name: Set up directories
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: "{{ ansible_effective_user_id }}"
|
||||
group: "{{ ansible_effective_group_id }}"
|
||||
mode: "0750"
|
||||
with_items:
|
||||
- "{{ arrs_setup_path }}"
|
||||
tags:
|
||||
- configuration
|
||||
become: true
|
||||
|
||||
- name: Set up config directories
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: "{% if arrs_uid %}{{ arrs_uid }}{% else %}{{ ansible_effective_user_id }}{% endif %}"
|
||||
group: "{% if arrs_gid %}{{ arrs_gid }}{% else %}{{ ansible_effective_group_id }}{% endif %}"
|
||||
mode: "0750"
|
||||
with_items:
|
||||
- "{{ deluge_config_volume }}"
|
||||
- "{{ radarr_config_volume }}"
|
||||
- "{{ sonarr_config_volume }}"
|
||||
- "{{ lidarr_config_volume }}"
|
||||
- "{{ jackett_config_volume }}"
|
||||
tags:
|
||||
- configuration
|
||||
become: true
|
||||
|
||||
- name: Set up upload directories
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: "{% if arrs_uid %}{{ arrs_uid }}{% else %}{{ ansible_effective_user_id }}{% endif %}"
|
||||
group: "{% if arrs_gid %}{{ arrs_gid }}{% else %}{{ ansible_effective_group_id }}{% endif %}"
|
||||
mode: "0750"
|
||||
with_items:
|
||||
- "{{ radarr_upload_volume }}"
|
||||
- "{{ sonarr_upload_volume }}"
|
||||
- "{{ lidarr_upload_volume }}"
|
||||
- "{{ arrs_setup_path }}"
|
||||
tags:
|
||||
- configuration
|
||||
become: true
|
||||
@ -53,11 +25,9 @@
|
||||
loop:
|
||||
- "docker-compose.yml"
|
||||
- "env.deluge.conf"
|
||||
- "env.radarr.conf"
|
||||
- "env.sonarr.conf"
|
||||
- "env.lidarr.conf"
|
||||
- "env.jackett.conf"
|
||||
- "env.flaresolverr.conf"
|
||||
tags:
|
||||
- configuration
|
||||
|
||||
@ -65,5 +35,4 @@
|
||||
community.docker.docker_compose:
|
||||
project_src: "{{ arrs_setup_path }}"
|
||||
build: false
|
||||
pull: true
|
||||
become: false
|
||||
|
@ -3,12 +3,12 @@ services:
|
||||
{% if deluge_enabled %}
|
||||
deluge:
|
||||
image: "lscr.io/linuxserver/deluge:{{ deluge_image_version }}"
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
env_file:
|
||||
- "{{ arrs_setup_path }}/env.deluge.conf"
|
||||
- {{ arrs_setup_path }}/env.deluge.conf
|
||||
volumes:
|
||||
- "{{ deluge_config_volume }}:/config"
|
||||
- "{{ torrent_downloads_volume }}:/downloads"
|
||||
- {{ deluge_config_volume }}:/config
|
||||
- {{ torrent_downloads_volume }}:/downloads
|
||||
ports:
|
||||
- {{ deluge_admin_port }}:8112
|
||||
- {{ deluge_host_port }}:6881
|
||||
@ -16,37 +16,16 @@ services:
|
||||
networks:
|
||||
- arrs
|
||||
{% endif %}
|
||||
{% if radarr_enabled %}
|
||||
radarr:
|
||||
image: "lscr.io/linuxserver/radarr:{{ radarr_image_version }}"
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- "{{ arrs_setup_path }}/env.radarr.conf"
|
||||
volumes:
|
||||
- "{{ radarr_config_volume }}:/config"
|
||||
- "{{ torrent_downloads_volume }}:/downloads"
|
||||
- "{{ radarr_upload_volume }}:/movies"
|
||||
{% for item in radarr_library_volumes %}
|
||||
- "{{ item.path }}:/library/{{ item.alias }}"
|
||||
{% endfor %}
|
||||
ports:
|
||||
- {{ radarr_host_port }}:7878
|
||||
networks:
|
||||
- arrs
|
||||
{% endif %}
|
||||
{% if sonarr_enabled %}
|
||||
sonarr:
|
||||
image: "lscr.io/linuxserver/sonarr:{{ sonarr_image_version }}"
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
env_file:
|
||||
- "{{ arrs_setup_path }}/env.sonarr.conf"
|
||||
- {{ arrs_setup_path }}/env.sonarr.conf
|
||||
volumes:
|
||||
- "{{ sonarr_config_volume }}:/config"
|
||||
- "{{ torrent_downloads_volume }}:/downloads"
|
||||
- "{{ sonarr_upload_volume }}:/tv"
|
||||
{% for item in sonarr_library_volumes %}
|
||||
- "{{ item.path }}:/library/{{ item.alias }}"
|
||||
{% endfor %}
|
||||
- {{ sonarr_config_volume }}:/config
|
||||
- {{ sonarr_series_volume }}:/tv
|
||||
- {{ torrent_downloads_volume }}:/downloads
|
||||
ports:
|
||||
- {{ sonarr_host_port }}:8989
|
||||
networks:
|
||||
@ -55,16 +34,12 @@ services:
|
||||
{% if lidarr_enabled %}
|
||||
lidarr:
|
||||
image: "lscr.io/linuxserver/lidarr:{{ lidarr_image_version }}"
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
env_file:
|
||||
- "{{ arrs_setup_path }}/env.sonarr.conf"
|
||||
- {{ arrs_setup_path }}/env.sonarr.conf
|
||||
volumes:
|
||||
- "{{ lidarr_config_volume }}:/config"
|
||||
- "{{ torrent_downloads_volume }}:/downloads"
|
||||
- "{{ lidarr_upload_volume }}:/music"
|
||||
{% for item in lidarr_library_volumes %}
|
||||
- "{{ item.path }}:/library/{{ item.alias }}"
|
||||
{% endfor %}
|
||||
- {{ lidarr_config_volume }}:/config
|
||||
- {{ torrent_downloads_volume }}:/downloads
|
||||
ports:
|
||||
- {{ lidarr_host_port }}:8686
|
||||
networks:
|
||||
@ -73,30 +48,20 @@ services:
|
||||
{% if jackett_enabled %}
|
||||
jackett:
|
||||
image: "lscr.io/linuxserver/jackett:{{ jackett_image_version }}"
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
env_file:
|
||||
- "{{ arrs_setup_path }}/env.jackett.conf"
|
||||
- {{ arrs_setup_path }}/env.jackett.conf
|
||||
volumes:
|
||||
- {{ jackett_config_volume }}:/config
|
||||
- {{ torrent_downloads_volume }}:/downloads
|
||||
|
||||
{% for item in lidarr_music_volumes %}
|
||||
- {{ item.path }}:/music/{{ item.alias }}
|
||||
{% endfor %}
|
||||
ports:
|
||||
- {{ jackett_host_port }}:9117
|
||||
networks:
|
||||
- arrs
|
||||
|
||||
flaresolverr:
|
||||
image: ghcr.io/flaresolverr/flaresolverr:latest
|
||||
container_name: flaresolverr
|
||||
env_file:
|
||||
- "{{ arrs_setup_path }}/env.flaresolverr.conf"
|
||||
ports:
|
||||
- "{{ flaresolverr_host_port }}:8191"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- arrs
|
||||
{% endif %}
|
||||
|
||||
|
||||
networks:
|
||||
arrs: {}
|
||||
|
@ -4,5 +4,5 @@ DELUGE_LOGLEVEL={{ deluge_loglevel }}
|
||||
PUID={{ arrs_uid }}
|
||||
{% endif %}
|
||||
{% if arrs_gid %}
|
||||
PGID={{ arrs_gid }}
|
||||
{% endif %}
|
||||
PUID={{ arrs_gid }}
|
||||
{% endif %}
|
@ -1,4 +0,0 @@
|
||||
LOG_LEVEL={{ flaresolverr_log_level }}
|
||||
LOG_HTML={{ flaresolverr_log_html }}
|
||||
CAPTCHA_SOLVER={{ flaresolverr_captcha_solver }}
|
||||
TZ={{ flaresolverr_timezone }}
|
@ -4,5 +4,5 @@ TZ={{ timezone }}
|
||||
PUID={{ arrs_uid }}
|
||||
{% endif %}
|
||||
{% if arrs_gid %}
|
||||
PGID={{ arrs_gid }}
|
||||
{% endif %}
|
||||
PUID={{ arrs_gid }}
|
||||
{% endif %}
|
@ -3,5 +3,5 @@ TZ={{ timezone }}
|
||||
PUID={{ arrs_uid }}
|
||||
{% endif %}
|
||||
{% if arrs_gid %}
|
||||
PGID={{ arrs_gid }}
|
||||
{% endif %}
|
||||
PUID={{ arrs_gid }}
|
||||
{% endif %}
|
@ -1,8 +0,0 @@
|
||||
MONO_EXTERNAL_ENCODINGS=UTF-8
|
||||
TZ={{ timezone }}
|
||||
{% if arrs_uid %}
|
||||
PUID={{ arrs_uid }}
|
||||
{% endif %}
|
||||
{% if arrs_gid %}
|
||||
PGID={{ arrs_gid }}
|
||||
{% endif %}
|
@ -4,5 +4,5 @@ TZ={{ timezone }}
|
||||
PUID={{ arrs_uid }}
|
||||
{% endif %}
|
||||
{% if arrs_gid %}
|
||||
PGID={{ arrs_gid }}
|
||||
PUID={{ arrs_gid }}
|
||||
{% endif %}
|
||||
|
@ -2,4 +2,4 @@
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- arrs
|
||||
- arrs
|
@ -1,2 +1,2 @@
|
||||
---
|
||||
# vars file for arrs
|
||||
# vars file for arrs
|
Loading…
Reference in New Issue
Block a user