initial commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Navidrome
|
||||
|
||||
Deploy Navidrome music streaming server using Docker Compose.
|
||||
|
||||
## Description
|
||||
|
||||
Navidrome is a modern music server compatible with Subsonic/Airsonic clients, with web interface and mobile app support.
|
||||
|
||||
## Variables
|
||||
|
||||
### Required
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `navidrome_libraries` | `[]` | List of music library mappings with `host_path` and `container_path` |
|
||||
|
||||
### Optional
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `navidrome_http_port` | `4533` | Web interface port |
|
||||
| `navidrome_data_path` | `{{ app_dir }}/data` | Database and application data storage |
|
||||
| `navidrome_base_url` | `""` | Base URL if accessing through reverse proxy |
|
||||
| `navidrome_container_version` | `latest` | Navidrome Docker image tag |
|
||||
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
- role: patrickj.docker_apps.navidrome
|
||||
vars:
|
||||
navidrome_libraries:
|
||||
- host_path: /storage/music
|
||||
container_path: /music
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
app_name: navidrome
|
||||
|
||||
# Container configuration
|
||||
navidrome_container_name: "{{ app_name | default('navidrome') }}"
|
||||
navidrome_container_version: latest
|
||||
navidrome_restart_policy: "{{ app_restart_policy }}"
|
||||
navidrome_uid: "{{ app_uid }}"
|
||||
navidrome_gid: "{{ app_gid }}"
|
||||
|
||||
# Network configuration
|
||||
navidrome_http_port: 4533
|
||||
|
||||
# Volume paths
|
||||
navidrome_data_path: "{{ app_dir }}/data"
|
||||
|
||||
# App-specific configuration
|
||||
navidrome_base_url: ""
|
||||
navidrome_libraries: []
|
||||
# - host_path: /path/to/music
|
||||
# container_path: /music
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: Patrick Jaroszewski
|
||||
description: Deploy Navidrome with Docker Compose
|
||||
license: MIT
|
||||
|
||||
dependencies:
|
||||
- role: patrickj.docker_apps.docker_compose_app
|
||||
vars:
|
||||
app_role_name: navidrome
|
||||
app_subdirectories:
|
||||
- "{{ navidrome_data_path }}"
|
||||
app_backup_subdirectories:
|
||||
- "{{ navidrome_data_path }}"
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
services:
|
||||
navidrome:
|
||||
image: deluan/navidrome:{{ navidrome_container_version }}
|
||||
container_name: "{{ navidrome_container_name }}"
|
||||
user: {{ navidrome_uid }}:{{ navidrome_gid }} # should be owner of volumes
|
||||
restart: "{{ navidrome_restart_policy }}"
|
||||
ports:
|
||||
- "{{ navidrome_http_port }}:4533"
|
||||
environment:
|
||||
# Optional: put your config options customization here. Examples:
|
||||
ND_SCANSCHEDULE: 1h
|
||||
ND_LOGLEVEL: info
|
||||
ND_SESSIONTIMEOUT: 24h
|
||||
{% if navidrome_base_url is defined %}
|
||||
ND_BASEURL: "{{ navidrome_base_url }}"
|
||||
{% endif %}
|
||||
volumes:
|
||||
- "{{ navidrome_data_path }}:/data"
|
||||
{% for item in navidrome_libraries %}
|
||||
- "{{ item.host_path }}:{{ item.container_path }}:ro"
|
||||
{% endfor %}
|
||||
Reference in New Issue
Block a user