Compare commits

..

No commits in common. "main" and "1.0.1" have entirely different histories.
main ... 1.0.1

22 changed files with 56 additions and 227 deletions

View File

@ -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
View File

@ -1,2 +0,0 @@
github: equinoxel
patreon: laurivan

View File

@ -9,7 +9,7 @@ sudo: false
addons:
apt:
packages:
- python-pip
- python-pip
install:
# Install ansible

View File

@ -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)

View File

@ -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).

View File

@ -11,7 +11,6 @@ arrs_uid:
arrs_gid:
deluge_enabled: true
radarr_enabled: true
sonarr_enabled: true
lidarr_enabled: true
jackett_enabled: true
@ -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

View File

@ -1,4 +1,3 @@
---
galaxy_info:
author: Laur Ivan
namespace: laurivan

View File

@ -9,3 +9,4 @@
roles:
- role: laurivan.arrs

View File

@ -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:
pip:
name:
- requests
- docker
- docker-compose
- name: Install docker
vars:
docker_service_manage: false
ansible.builtin.include_role:
include_role:
name: geerlingguy.docker

View File

@ -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

View File

@ -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: {}

View File

@ -4,5 +4,5 @@ DELUGE_LOGLEVEL={{ deluge_loglevel }}
PUID={{ arrs_uid }}
{% endif %}
{% if arrs_gid %}
PGID={{ arrs_gid }}
PUID={{ arrs_gid }}
{% endif %}

View File

@ -1,4 +0,0 @@
LOG_LEVEL={{ flaresolverr_log_level }}
LOG_HTML={{ flaresolverr_log_html }}
CAPTCHA_SOLVER={{ flaresolverr_captcha_solver }}
TZ={{ flaresolverr_timezone }}

View File

@ -4,5 +4,5 @@ TZ={{ timezone }}
PUID={{ arrs_uid }}
{% endif %}
{% if arrs_gid %}
PGID={{ arrs_gid }}
PUID={{ arrs_gid }}
{% endif %}

View File

@ -3,5 +3,5 @@ TZ={{ timezone }}
PUID={{ arrs_uid }}
{% endif %}
{% if arrs_gid %}
PGID={{ arrs_gid }}
PUID={{ arrs_gid }}
{% endif %}

View File

@ -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 %}

View File

@ -4,5 +4,5 @@ TZ={{ timezone }}
PUID={{ arrs_uid }}
{% endif %}
{% if arrs_gid %}
PGID={{ arrs_gid }}
PUID={{ arrs_gid }}
{% endif %}