Added beets and slskd

This commit is contained in:
Mike Wilson
2023-03-23 14:12:50 -04:00
parent 51027a0de5
commit 3e66ed9a7d
5 changed files with 113 additions and 1 deletions

View File

@@ -19,4 +19,4 @@
- tautulli
- gitea
- unifi-controller
- homepage
- beets

View File

@@ -0,0 +1,29 @@
- 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: 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: Start docker container
community.docker.docker_compose:
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -0,0 +1,24 @@
version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
services:
beets:
container_name: beets
image: lscr.io/linuxserver/beets:latest
restart: unless-stopped
networks:
- traefik
environment:
- "PUID={{ service_user.uid }}"
- "PGID={{ media_gid }}"
- "TZ={{ timezone }}"
volumes:
- "{{ data_dir }}/{{ role_name }}:/config"
- "{{ media_storage_mnt }}/data/media/music:/music"
labels:
traefik.enable: true
traefik.http.routers.beets.rule: "Host(`beets.local.{{ personal_domain }}`)"
traefik.http.routers.beets.middlewares: lan-whitelist@file

View File

@@ -0,0 +1,38 @@
- 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: Start docker container
community.docker.docker_compose:
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -0,0 +1,21 @@
version: "{{ docker_compose_version }}"
services:
slskd:
container_name: "slskd"
image: slskd/slskd
restart: unless-stopped
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/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