Set up slskd
This commit is contained in:
@@ -26,3 +26,4 @@ radarr_api_key: !vault |
|
||||
66613735373430636437343135303238663534316632363534323130313934306536633862303632
|
||||
6431656565666466303837336430613062346331646432306164
|
||||
|
||||
vpn_listen_port: 61383
|
||||
|
@@ -23,3 +23,5 @@
|
||||
tags: test
|
||||
- navidrome
|
||||
- webtrees
|
||||
- name: slskd
|
||||
tags: test
|
||||
|
@@ -18,6 +18,7 @@ services:
|
||||
volumes:
|
||||
- "{{ data_dir }}/{{ role_name }}:/config"
|
||||
- "{{ media_storage_mnt }}/data/media/music:/music"
|
||||
- "{{ media_storage_mnt }}/data/import/music:/import"
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.beets.rule: "Host(`beets.local.{{ personal_domain }}`)"
|
||||
|
@@ -22,7 +22,7 @@ services:
|
||||
VPN_SERVICE_PROVIDER: mullvad
|
||||
WIREGUARD_PRIVATE_KEY: "{{ wireguard_private_key }}"
|
||||
WIREGUARD_ADDRESSES: "10.65.208.63/32"
|
||||
FIREWALL_VPN_INPUT_PORTS: 61383
|
||||
FIREWALL_VPN_INPUT_PORTS: {{ vpn_listen_port }}
|
||||
SERVER_CITIES: "Chicago IL"
|
||||
DOT: "off"
|
||||
DNS_ADRESS: 10.64.0.1
|
||||
|
4
ansible/roles/slskd/handlers/main.yml
Normal file
4
ansible/roles/slskd/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
- name: restart service
|
||||
community.docker.docker_compose:
|
||||
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||
restarted: true
|
@@ -22,6 +22,14 @@
|
||||
mode: "{{ docker_compose_directory_mask }}"
|
||||
become: true
|
||||
|
||||
- name: Copy config file to config directory
|
||||
template:
|
||||
src: slskd.yml
|
||||
dest: "{{ data_dir }}/{{ role_name }}"
|
||||
owner: "{{ service_user.uid }}"
|
||||
become: true
|
||||
notify: restart service
|
||||
|
||||
- name: Copy docker-compose file to destination
|
||||
template:
|
||||
src: docker-compose.yml
|
||||
|
@@ -5,17 +5,14 @@ services:
|
||||
container_name: "slskd"
|
||||
image: slskd/slskd
|
||||
restart: unless-stopped
|
||||
network_mode: container:gluetun
|
||||
network_mode: "container:gluetun"
|
||||
user: "{{ service_user.uid }}:{{ media_gid }}"
|
||||
environment:
|
||||
- SLSKD_SHARED_DIR=/music
|
||||
- SLSKD_REMOTE_CONFIGURATION=True
|
||||
- SLSKD_DOWNLOADS_DIR=/downloads
|
||||
volumes:
|
||||
- "{{ data_dir }}/{{ role_name }}:/app"
|
||||
- "{{ data_dir }}/{{ role_name }}/downloads:/downloads"
|
||||
- "{{ media_storage_mnt }}/data/import/music/soulseek:/downloads"
|
||||
- "{{ media_storage_mnt }}/data/media/music:/music:ro"
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.slskd.rule: "Host(`soulseek.local.{{ personal_domain }}`)"
|
||||
traefik.http.routers.slskd.middlewares: lan-whitelist@file
|
||||
traefik.http.services.slskd.loadbalancer.server.port: 5030
|
||||
|
36
ansible/roles/slskd/templates/slskd.yml
Normal file
36
ansible/roles/slskd/templates/slskd.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
# debug: false
|
||||
remote_configuration: true
|
||||
|
||||
directories:
|
||||
downloads: /downloads
|
||||
shares:
|
||||
directories:
|
||||
- '/music'
|
||||
filters:
|
||||
- \.ini$
|
||||
- Thumbs.db$
|
||||
- \.DS_Store$
|
||||
cache:
|
||||
storage_mode: memory
|
||||
|
||||
global:
|
||||
upload:
|
||||
slots: 20
|
||||
speed_limit: 1000
|
||||
download:
|
||||
slots: 500
|
||||
|
||||
soulseek:
|
||||
description: A slskd user. https://github.com/slskd/slskd
|
||||
username: {{ soulseek_username }}
|
||||
password: {{ soulseek_password }}
|
||||
#listen_port: {{ vpn_listen_port }}
|
||||
connection:
|
||||
timeout:
|
||||
connect: 10000
|
||||
inactivity: 15000
|
||||
|
||||
web:
|
||||
port: 5030
|
||||
url_base: /
|
||||
logging: false
|
2
ansible/roles/slskd/vars/main.yml
Normal file
2
ansible/roles/slskd/vars/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
soulseek_username: mikewilzn
|
||||
soulseek_password: humptydumpty
|
Reference in New Issue
Block a user