Set up slskd
This commit is contained in:
@@ -26,3 +26,4 @@ radarr_api_key: !vault |
|
|||||||
66613735373430636437343135303238663534316632363534323130313934306536633862303632
|
66613735373430636437343135303238663534316632363534323130313934306536633862303632
|
||||||
6431656565666466303837336430613062346331646432306164
|
6431656565666466303837336430613062346331646432306164
|
||||||
|
|
||||||
|
vpn_listen_port: 61383
|
||||||
|
@@ -23,3 +23,5 @@
|
|||||||
tags: test
|
tags: test
|
||||||
- navidrome
|
- navidrome
|
||||||
- webtrees
|
- webtrees
|
||||||
|
- name: slskd
|
||||||
|
tags: test
|
||||||
|
@@ -18,6 +18,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/{{ role_name }}:/config"
|
- "{{ data_dir }}/{{ role_name }}:/config"
|
||||||
- "{{ media_storage_mnt }}/data/media/music:/music"
|
- "{{ media_storage_mnt }}/data/media/music:/music"
|
||||||
|
- "{{ media_storage_mnt }}/data/import/music:/import"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: true
|
traefik.enable: true
|
||||||
traefik.http.routers.beets.rule: "Host(`beets.local.{{ personal_domain }}`)"
|
traefik.http.routers.beets.rule: "Host(`beets.local.{{ personal_domain }}`)"
|
||||||
|
@@ -22,7 +22,7 @@ services:
|
|||||||
VPN_SERVICE_PROVIDER: mullvad
|
VPN_SERVICE_PROVIDER: mullvad
|
||||||
WIREGUARD_PRIVATE_KEY: "{{ wireguard_private_key }}"
|
WIREGUARD_PRIVATE_KEY: "{{ wireguard_private_key }}"
|
||||||
WIREGUARD_ADDRESSES: "10.65.208.63/32"
|
WIREGUARD_ADDRESSES: "10.65.208.63/32"
|
||||||
FIREWALL_VPN_INPUT_PORTS: 61383
|
FIREWALL_VPN_INPUT_PORTS: {{ vpn_listen_port }}
|
||||||
SERVER_CITIES: "Chicago IL"
|
SERVER_CITIES: "Chicago IL"
|
||||||
DOT: "off"
|
DOT: "off"
|
||||||
DNS_ADRESS: 10.64.0.1
|
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 }}"
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
become: true
|
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
|
- name: Copy docker-compose file to destination
|
||||||
template:
|
template:
|
||||||
src: docker-compose.yml
|
src: docker-compose.yml
|
||||||
|
@@ -5,17 +5,14 @@ services:
|
|||||||
container_name: "slskd"
|
container_name: "slskd"
|
||||||
image: slskd/slskd
|
image: slskd/slskd
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
network_mode: container:gluetun
|
network_mode: "container:gluetun"
|
||||||
user: "{{ service_user.uid }}:{{ media_gid }}"
|
user: "{{ service_user.uid }}:{{ media_gid }}"
|
||||||
environment:
|
|
||||||
- SLSKD_SHARED_DIR=/music
|
|
||||||
- SLSKD_REMOTE_CONFIGURATION=True
|
|
||||||
- SLSKD_DOWNLOADS_DIR=/downloads
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ data_dir }}/{{ role_name }}:/app"
|
- "{{ 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"
|
- "{{ media_storage_mnt }}/data/media/music:/music:ro"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: true
|
traefik.enable: true
|
||||||
traefik.http.routers.slskd.rule: "Host(`soulseek.local.{{ personal_domain }}`)"
|
traefik.http.routers.slskd.rule: "Host(`soulseek.local.{{ personal_domain }}`)"
|
||||||
traefik.http.routers.slskd.middlewares: lan-whitelist@file
|
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