snackpot.yml templates/* - add navidrome and bonob containers
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
nextcloud_db_user: nextcloud
|
nextcloud_db_user: nextcloud
|
||||||
nextcloud_db: nextcloud
|
nextcloud_db: nextcloud
|
||||||
jellyfin_hostname: jf.noodlefactory.co.uk
|
jellyfin_hostname: jf.noodlefactory.co.uk
|
||||||
|
navidrome_hostname: nd.noodlefactory.co.uk
|
||||||
letsencrypt_email: webmaster@noodlefactory.co.uk
|
letsencrypt_email: webmaster@noodlefactory.co.uk
|
||||||
docker_compose_base_dir: /opt/docker-compose
|
docker_compose_base_dir: /opt/docker-compose
|
||||||
docker_compose_cmd: docker-compose
|
docker_compose_cmd: docker-compose
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ volumes:
|
|||||||
minidlna_state:
|
minidlna_state:
|
||||||
minidlna_data:
|
minidlna_data:
|
||||||
mopidy_data:
|
mopidy_data:
|
||||||
|
navidrome_cache:
|
||||||
|
navidrome_data:
|
||||||
borgmatic-cache:
|
borgmatic-cache:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
@@ -132,6 +134,45 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- letsencrypt-companion.env
|
- letsencrypt-companion.env
|
||||||
|
|
||||||
|
navidrome:
|
||||||
|
build: ./navidrome
|
||||||
|
ports:
|
||||||
|
- "4533:4533"
|
||||||
|
volumes:
|
||||||
|
- navidrome_data:/data
|
||||||
|
- navidrome_cache:/cache
|
||||||
|
- minidlna_data:/music
|
||||||
|
networks:
|
||||||
|
proxy-tier:
|
||||||
|
default:
|
||||||
|
group_add:
|
||||||
|
# audio group ID (gid) on host system
|
||||||
|
- "29"
|
||||||
|
devices:
|
||||||
|
- "/dev/snd:/dev/snd"
|
||||||
|
depends_on:
|
||||||
|
- letsencrypt-companion
|
||||||
|
env_file:
|
||||||
|
- navidrome.env
|
||||||
|
|
||||||
|
bonob:
|
||||||
|
image: simojenki/bonob:latest
|
||||||
|
ports:
|
||||||
|
- "4534:4534"
|
||||||
|
networks:
|
||||||
|
lan: # Static ip for the container on the macvlan net
|
||||||
|
ipv4_address: 192.168.0.244
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
BNB_PORT: 4534
|
||||||
|
# ip address of your machine running bonob
|
||||||
|
BNB_URL: http://192.168.0.244:4534
|
||||||
|
BNB_SONOS_AUTO_REGISTER: "true"
|
||||||
|
BNB_SONOS_DEVICE_DISCOVERY: "true"
|
||||||
|
BNB_SUBSONIC_URL: http://navidrome:4533
|
||||||
|
depends_on:
|
||||||
|
- navidrome
|
||||||
|
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: jellyfin/jellyfin:latest
|
image: jellyfin/jellyfin:latest
|
||||||
restart: always
|
restart: always
|
||||||
@@ -159,6 +200,7 @@ services:
|
|||||||
lan: # Static ip for the container on the macvlan net
|
lan: # Static ip for the container on the macvlan net
|
||||||
ipv4_address: 192.168.0.242
|
ipv4_address: 192.168.0.242
|
||||||
environment:
|
environment:
|
||||||
|
# UID/GID are assumed to both be 2000 in other containers, to allow access
|
||||||
- UPID=2000
|
- UPID=2000
|
||||||
- UGID=2000
|
- UGID=2000
|
||||||
- MINIDLNA_INOTIFY=yes
|
- MINIDLNA_INOTIFY=yes
|
||||||
@@ -202,11 +244,13 @@ services:
|
|||||||
image: alpine:latest # a small dumy image
|
image: alpine:latest # a small dumy image
|
||||||
command: sh -c "sleep infinity"
|
command: sh -c "sleep infinity"
|
||||||
depends_on:
|
depends_on:
|
||||||
|
- bonob
|
||||||
- nextcloud
|
- nextcloud
|
||||||
- nextcloud_cron
|
- nextcloud_cron
|
||||||
- web
|
- web
|
||||||
- jellyfin
|
- jellyfin
|
||||||
- minidlna
|
- minidlna
|
||||||
|
- navidrome
|
||||||
- upmpdcli
|
- upmpdcli
|
||||||
|
|
||||||
borgmatic:
|
borgmatic:
|
||||||
@@ -228,6 +272,7 @@ services:
|
|||||||
- jellyfin_config:/mnt/source/jellyfin_config:ro
|
- jellyfin_config:/mnt/source/jellyfin_config:ro
|
||||||
- minidlna_state:/mnt/source/minidlna_state:ro
|
- minidlna_state:/mnt/source/minidlna_state:ro
|
||||||
- minidlna_data:/mnt/source/minidlna_data:ro
|
- minidlna_data:/mnt/source/minidlna_data:ro
|
||||||
|
- navidrome_data:/mnt/source/navidrome_data:ro
|
||||||
# System volumes
|
# System volumes
|
||||||
- /etc/timezone:/etc/timezone:ro # timezone
|
- /etc/timezone:/etc/timezone:ro # timezone
|
||||||
- /etc/localtime:/etc/localtime:ro # localtime
|
- /etc/localtime:/etc/localtime:ro # localtime
|
||||||
|
|||||||
9
templates/docker-compose/navidrome.env.j2
Normal file
9
templates/docker-compose/navidrome.env.j2
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ND_SCANSCHEDULE=1h
|
||||||
|
ND_LOGLEVEL=info
|
||||||
|
ND_CACHEFOLDER="/cache"
|
||||||
|
ND_JUKEBOX_ENABLED="true"
|
||||||
|
ND_BASEURL="https://{{ navidrome_hostname }}"
|
||||||
|
VIRTUAL_HOST="{{ navidrome_hostname }}"
|
||||||
|
VIRTUAL_PORT=4533
|
||||||
|
LETSENCRYPT_HOST="{{ navidrome_hostname }}"
|
||||||
|
LETSENCRYPT_EMAIL="{{ letsencrypt_email }}"
|
||||||
5
templates/docker-compose/navidrome/Dockerfile
Normal file
5
templates/docker-compose/navidrome/Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
FROM deluan/navidrome:0.50.2
|
||||||
|
|
||||||
|
RUN apk add --no-cache mpv
|
||||||
|
# Ensure that navidrome has access to these directories
|
||||||
|
RUN mkdir -p /data /cache && chown -R 1000:1000 /data /cache
|
||||||
Reference in New Issue
Block a user