add ampache stack
This commit is contained in:
parent
833b1a2b5e
commit
c7ddefaa3d
4 changed files with 68 additions and 0 deletions
|
@ -47,6 +47,12 @@ nfs_shares:
|
||||||
path: /mnt/data/grafana/data
|
path: /mnt/data/grafana/data
|
||||||
- name: kitchenowl_data
|
- name: kitchenowl_data
|
||||||
path: /mnt/data/kitchenowl/data
|
path: /mnt/data/kitchenowl/data
|
||||||
|
- name: ampache_mysql
|
||||||
|
path: /mnt/data/ampache/mysql
|
||||||
|
- name: ampache_config
|
||||||
|
path: /mnt/data/ampache/config
|
||||||
|
- name: music
|
||||||
|
path: /mnt/data/nextcloud/data/data/pim/files/Music
|
||||||
|
|
||||||
database_passwords:
|
database_passwords:
|
||||||
nextcloud: !vault |
|
nextcloud: !vault |
|
||||||
|
|
|
@ -20,3 +20,4 @@
|
||||||
- {role: syncthing, tags: syncthing}
|
- {role: syncthing, tags: syncthing}
|
||||||
- {role: monitoring, tags: monitoring}
|
- {role: monitoring, tags: monitoring}
|
||||||
- {role: kitchenowl, tags: kitchenowl}
|
- {role: kitchenowl, tags: kitchenowl}
|
||||||
|
- {role: ampache, tags: ampache}
|
||||||
|
|
56
ansible/roles/ampache/docker-stack.yml.j2
Normal file
56
ansible/roles/ampache/docker-stack.yml.j2
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# vi: ft=yaml
|
||||||
|
version: '3.7'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
ampache_mysql:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=192.168.30.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/data/ampache/mysql"
|
||||||
|
ampache_config:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=192.168.30.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/data/ampache/config"
|
||||||
|
music:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=192.168.30.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/data/nextcloud/data/data/pim/files/Music"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ampache:
|
||||||
|
image: ampache/ampache:6
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: ampache_mysql
|
||||||
|
target: /var/lib/mysql
|
||||||
|
volume:
|
||||||
|
nocopy: true
|
||||||
|
- type: volume
|
||||||
|
source: ampache_config
|
||||||
|
target: /var/www/config
|
||||||
|
volume:
|
||||||
|
nocopy: true
|
||||||
|
- type: volume
|
||||||
|
source: music
|
||||||
|
target: /media
|
||||||
|
read_only: true
|
||||||
|
volume:
|
||||||
|
nocopy: true
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
deploy:
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.ampache.entrypoints=websecure
|
||||||
|
- traefik.http.routers.ampache.rule=Host(`music.kun.is`)
|
||||||
|
- traefik.http.routers.ampache.tls=true
|
||||||
|
- traefik.http.routers.ampache.tls.certresolver=letsencrypt
|
||||||
|
- traefik.http.routers.ampache.service=ampache
|
||||||
|
- traefik.http.services.ampache.loadbalancer.server.port=80
|
||||||
|
- traefik.docker.network=traefik
|
5
ansible/roles/ampache/tasks/main.yml
Normal file
5
ansible/roles/ampache/tasks/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- name: Deploy Docker stack
|
||||||
|
docker_stack:
|
||||||
|
name: ampache
|
||||||
|
compose:
|
||||||
|
- "{{ lookup('template', '{{ role_path }}/docker-stack.yml.j2') | from_yaml }}"
|
Reference in a new issue