Add soularr

This commit is contained in:
Mike Wilson
2025-06-27 15:26:23 -04:00
parent c1ae312ea3
commit f26e1c518b
9 changed files with 139 additions and 6 deletions

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
- name: restart service
community.docker.docker_compose_v2:
project_src: "{{ install_directory }}/{{ role_name }}"
restarted: true
state: restarted

View File

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

View File

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

View File

@@ -0,0 +1,4 @@
- name: restart service
community.docker.docker_compose_v2:
project_src: "{{ install_directory }}/{{ role_name }}"
state: restarted

View 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

View 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

View 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"