1
0

Add music app

This commit is contained in:
Anton Vakhrushev 2024-12-23 17:08:15 +03:00
parent 87e13973ec
commit 6fc30522d0
Signed by: av
GPG Key ID: F5BF52FC352E255A
6 changed files with 76 additions and 1 deletions

View File

@ -0,0 +1,20 @@
services:
navidrome:
image: deluan/navidrome:0.54.2
ports:
- "127.0.0.1:${WEB_SERVER_PORT}:4533"
restart: unless-stopped
environment:
ND_BASEURL: "https://music.vakhrushev.me"
ND_LOGLEVEL: "info"
ND_SCANSCHEDULE: "0"
ND_SESSIONTIMEOUT: "24h"
volumes:
- "./data:/data"
- "yandex-storage:/music:ro"
volumes:
yandex-storage:
driver: "rclone"
driver_opts:
remote: "yandex-s3-music-encrypted:"

43
playbook-app-music.yml Normal file
View File

@ -0,0 +1,43 @@
---
- name: 'Configure music application'
hosts: all
vars_files:
- vars/ports.yml
- vars/vars.yml
vars:
base_dir: '/home/major/applications/music/'
tasks:
- name: 'Create application directories'
ansible.builtin.file:
path: '{{ item }}'
state: 'directory'
mode: '0755'
loop:
- '{{ base_dir }}'
- '{{ (base_dir, "data") | path_join }}'
- name: 'Copy application files'
ansible.builtin.copy:
src: '{{ item }}'
dest: '{{ base_dir }}'
mode: '0644'
loop:
- './files/apps/music/docker-compose.yml'
- name: 'Set up environment variables for application'
ansible.builtin.template:
src: 'env.j2'
dest: '{{ (base_dir, ".env") | path_join }}'
mode: '0644'
vars:
env_dict:
WEB_SERVER_PORT: '{{ navidrome_port }}'
- name: 'Run application with docker compose'
community.docker.docker_compose_v2:
project_src: '{{ base_dir }}'
state: 'present'

View File

@ -12,7 +12,7 @@
community.docker.docker_plugin: community.docker.docker_plugin:
plugin_name: 'rclone/docker-volume-rclone:amd64' plugin_name: 'rclone/docker-volume-rclone:amd64'
alias: 'rclone' alias: 'rclone'
state: 'present' state: 'enable'
plugin_options: plugin_options:
args: '-v' args: '-v'

View File

@ -57,3 +57,11 @@ outline.vakhrushev.me {
to 127.0.0.1:{{ outline_port }} to 127.0.0.1:{{ outline_port }}
} }
} }
music.vakhrushev.me {
tls anwinged@ya.ru
reverse_proxy {
to 127.0.0.1:{{ navidrome_port }}
}
}

3
templates/env.j2 Normal file
View File

@ -0,0 +1,3 @@
{% for name in env_dict.keys() | sort %}
{{ name }}={{ env_dict[name] }}
{% endfor %}

View File

@ -10,3 +10,4 @@ nomie_db_port: "{{ base_port + 7 }}"
gitea_port: "{{ base_port + 8 }}" gitea_port: "{{ base_port + 8 }}"
keycloak_port: "{{ base_port + 9 }}" keycloak_port: "{{ base_port + 9 }}"
outline_port: "{{ base_port + 10 }}" outline_port: "{{ base_port + 10 }}"
navidrome_port: "{{ base_port + 11 }}"