Add soularr
This commit is contained in:
@@ -7,6 +7,7 @@ docker_compose_directory_mask: 0775
|
||||
docker_compose_file_mask: 0664
|
||||
install_directory: /srv
|
||||
|
||||
vpn_listen_port: 61383
|
||||
|
||||
sonarr_api_key: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
@@ -26,4 +27,26 @@ radarr_api_key: !vault |
|
||||
66613735373430636437343135303238663534316632363534323130313934306536633862303632
|
||||
6431656565666466303837336430613062346331646432306164
|
||||
|
||||
vpn_listen_port: 61383
|
||||
slskd_api_key: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
39666166376666636338643866636262356665363135386336343030326539363163333963626163
|
||||
6666313861613930663433623933343439366562356563340a663639363566336435376436303762
|
||||
65613536356139356364653432643736366436333139666165383736323834656130393036306339
|
||||
3065646663366136320a383936643239343039656334336236623232313035633664303434383030
|
||||
66626663303961333936306661623339333634653433633035633734373261366231333365383062
|
||||
33633863366639326236373234326264616136656463353164353730376366373939643061306239
|
||||
36353234333363386563643066313861343633376236333162313737366536613066303633363566
|
||||
36633636653261343431356230666234626162333630333536633233313036326661373836333766
|
||||
39343331396465323261393563306631666632343330306637636365373963613430633236656539
|
||||
63663665386334306235336262656438396336633037363534666438373534623333333061646130
|
||||
653230663539386239396337306130373531
|
||||
|
||||
lidarr_api_key: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
64336163343037336539353364636235383462643538396534636630323266333730353636366235
|
||||
3938396634613464613639356466616365353738633433320a323333333339316332613266373939
|
||||
33613133653436316230623634323066383535653961386465643334396166353064666135343030
|
||||
3638613966616630390a613261336531343934393634316263303632353038643634663236666162
|
||||
62653835383739653661363962303862613338333865363430383335643635353037656537323034
|
||||
6164633230363736306565646233333466313362653738303065
|
||||
|
||||
|
@@ -13,7 +13,9 @@
|
||||
- ntfy
|
||||
- gluetun
|
||||
- autobrr
|
||||
- name: lidarr
|
||||
- name: slskd
|
||||
tags: test
|
||||
- name: soularr
|
||||
tags: test
|
||||
- beets
|
||||
- qbittorrent
|
||||
@@ -29,7 +31,7 @@
|
||||
- firefly3
|
||||
- sabnzbd
|
||||
- unifi-controller
|
||||
- slskd
|
||||
- lidarr
|
||||
- navidrome
|
||||
- recyclarr
|
||||
- lubelogger
|
||||
|
@@ -1,4 +1,4 @@
|
||||
- name: restart service
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||
restarted: true
|
||||
state: restarted
|
||||
|
@@ -8,7 +8,7 @@ services:
|
||||
user: "{{ service_user.uid }}:{{ media_gid }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/{{ role_name }}:/app"
|
||||
- "{{ media_storage_mnt }}/data/import/music/soulseek:/downloads"
|
||||
- "{{ media_storage_mnt }}/data/ddl/soulseek:/downloads"
|
||||
- "{{ media_storage_mnt }}/data/media/music:/music:ro"
|
||||
labels:
|
||||
traefik.enable: true
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# debug: false
|
||||
remote_configuration: true
|
||||
remote_configuration: false
|
||||
|
||||
directories:
|
||||
downloads: /downloads
|
||||
@@ -34,3 +34,8 @@ web:
|
||||
port: 5030
|
||||
url_base: /
|
||||
logging: false
|
||||
authentication:
|
||||
api_keys:
|
||||
my_api_key:
|
||||
key: "{{ slskd_api_key }}"
|
||||
#cidr: 10.0.0.0/24,172.16.0.0/12
|
||||
|
4
ansible/roles/soularr/handlers/main.yml
Normal file
4
ansible/roles/soularr/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
- name: restart service
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||
state: restarted
|
44
ansible/roles/soularr/tasks/main.yml
Normal file
44
ansible/roles/soularr/tasks/main.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
- name: Create service user
|
||||
user:
|
||||
name: "{{ role_name }}"
|
||||
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: Create config directory
|
||||
file:
|
||||
path: "{{ data_dir }}/{{ role_name }}"
|
||||
state: directory
|
||||
owner: "{{ service_user.uid }}"
|
||||
group: "{{ media_gid }}"
|
||||
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: Install config.ini
|
||||
ansible.builtin.template:
|
||||
src: config.ini
|
||||
dest: "{{ data_dir }}/{{ role_name }}/config.ini"
|
||||
notify: restart service
|
||||
|
||||
- name: Start docker container
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||
pull: always
|
||||
remove_orphans: yes
|
44
ansible/roles/soularr/templates/config.ini
Normal file
44
ansible/roles/soularr/templates/config.ini
Normal file
@@ -0,0 +1,44 @@
|
||||
[Lidarr]
|
||||
api_key = {{ lidarr_api_key }}
|
||||
host_url = https://lidarr.local.{{ personal_domain }}
|
||||
# This is the soulseek downloads directory as lidarr sees it
|
||||
download_dir = /data/ddl/soulseek
|
||||
disable_sync = False
|
||||
|
||||
[Slskd]
|
||||
api_key = {{ slskd_api_key }}
|
||||
host_url = https://soulseek.local.{{ personal_domain }}
|
||||
url_base = /
|
||||
download_dir = /downloads
|
||||
delete_searches = False
|
||||
stalled_timeout = 3600
|
||||
|
||||
[Release Settings]
|
||||
use_most_common_tracknum = True
|
||||
allow_multi_disc = True
|
||||
accepted_countries = Europe,Japan,United Kingdom,United States,[Worldwide],Australia,Canada
|
||||
skip_region_check = False
|
||||
accepted_formats = CD,Digital Media,Vinyl
|
||||
|
||||
[Search Settings]
|
||||
search_timeout = 5000
|
||||
maximum_peer_queue = 50
|
||||
minimum_peer_upload_speed = 0
|
||||
minimum_filename_match_ratio = 0.8
|
||||
allowed_filetypes = flac 24/192,flac 16/44.1,flac
|
||||
ignored_users = User1,User2,Fred,Bob
|
||||
search_for_tracks = True
|
||||
album_prepend_artist = False
|
||||
track_prepend_artist = True
|
||||
search_type = incrementing_page
|
||||
number_of_albums_to_grab = 10
|
||||
remove_wanted_on_failure = False
|
||||
title_blacklist = BlacklistWord1,blacklistword2
|
||||
search_source = missing
|
||||
|
||||
[Logging]
|
||||
level = INFO
|
||||
# https://docs.python.org/3/library/logging.html#logrecord-attributes
|
||||
format = [%(levelname)s|%(module)s|L%(lineno)d] %(asctime)s: %(message)s
|
||||
# https://docs.python.org/3/library/time.html#time.strftime
|
||||
datefmt = %Y-%m-%dT%H:%M:%S%z
|
11
ansible/roles/soularr/templates/docker-compose.yml
Normal file
11
ansible/roles/soularr/templates/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
services:
|
||||
soularr:
|
||||
container_name: "soularr"
|
||||
image: mrusse08/soularr:latest
|
||||
restart: unless-stopped
|
||||
user: "{{ service_user.uid }}:{{ media_gid }}"
|
||||
environment:
|
||||
- "TZ={{ timezone }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/{{ role_name }}:/data"
|
||||
- "{{ media_storage_mnt }}/data/ddl/soulseek:/downloads"
|
Reference in New Issue
Block a user