initial commit

This commit is contained in:
hiperman
2026-01-30 15:07:31 -05:00
commit 7844cc4416
83 changed files with 3802 additions and 0 deletions
+34
View File
@@ -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
```
+21
View File
@@ -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
+14
View File
@@ -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 }}"
+22
View File
@@ -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 %}