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

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