mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-08-09 06:32:31 +02:00
feat: add Aurral add-on
Wraps ghcr.io/lklynet/aurral — self-hosted music discovery, request management, flows and playlist importing for Lidarr with Navidrome integration. - Port: 3001 - Volumes: /app/downloads (flows/downloads), /app/backend/data (DB) - Env options: PUID, PGID, TRUST_PROXY, TZ, LIDARR_INSECURE, AUTH_PROXY_*
This commit is contained in:
5
aurral/CHANGELOG.md
Normal file
5
aurral/CHANGELOG.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## 1.0.0
|
||||
|
||||
- Initial Home Assistant add-on release wrapping `ghcr.io/lklynet/aurral:latest`
|
||||
20
aurral/Dockerfile
Normal file
20
aurral/Dockerfile
Normal file
@@ -0,0 +1,20 @@
|
||||
# ==============================================================
|
||||
# Home Assistant Add-on: Aurral
|
||||
# Wraps the upstream ghcr.io/lklynet/aurral image.
|
||||
# ==============================================================
|
||||
FROM ghcr.io/lklynet/aurral:latest
|
||||
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_ARCH
|
||||
|
||||
LABEL \
|
||||
io.hass.name="Aurral" \
|
||||
io.hass.description="Self-hosted music discovery and request management for Lidarr" \
|
||||
io.hass.arch="${BUILD_ARCH}" \
|
||||
io.hass.type="addon" \
|
||||
io.hass.version="${BUILD_VERSION}" \
|
||||
maintainer="petruknw"
|
||||
|
||||
COPY rootfs /
|
||||
|
||||
RUN chmod a+x /etc/services.d/aurral/run
|
||||
72
aurral/README.md
Normal file
72
aurral/README.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Aurral
|
||||
|
||||
[![Source][source-shield]][source]
|
||||
![Supports aarch64][aarch64-shield]
|
||||
![Supports amd64][amd64-shield]
|
||||
|
||||
Self-hosted music discovery, request management, flows, and playlist importing
|
||||
for Lidarr — with library-aware recommendations and Navidrome integration.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Add **alexbelgium's add-on repository** to Home Assistant (if not already added).
|
||||
2. Go to **Settings → Add-ons → Add-on Store**, find **Aurral**, and click **Install**.
|
||||
3. Configure the options below, then click **Start**.
|
||||
|
||||
## Configuration
|
||||
|
||||
```yaml
|
||||
# Host path (under /share) where Aurral writes flow downloads.
|
||||
download_folder: /share/aurral/downloads
|
||||
|
||||
# Host path (under /share) for Aurral's database and persistent config.
|
||||
data_folder: /share/aurral/data
|
||||
|
||||
# Run as this UID/GID — match your host directory ownership.
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
|
||||
# Set true if behind HA ingress or a reverse proxy.
|
||||
TRUST_PROXY: "true"
|
||||
|
||||
# Your timezone, e.g. Australia/Melbourne (leave blank to inherit from HA)
|
||||
TZ: ""
|
||||
|
||||
# Allow self-signed TLS on your Lidarr instance.
|
||||
LIDARR_INSECURE: "false"
|
||||
|
||||
# Reverse-proxy SSO auth (optional).
|
||||
AUTH_PROXY_ENABLED: "false"
|
||||
AUTH_PROXY_HEADER: ""
|
||||
AUTH_PROXY_TRUSTED_IPS: ""
|
||||
```
|
||||
|
||||
## Volume Mapping
|
||||
|
||||
| Option | HA host path (default) | Container path | Purpose |
|
||||
|---|---|---|---|
|
||||
| `download_folder` | `/share/aurral/downloads` | `/app/downloads` | Flow output, Navidrome playlists |
|
||||
| `data_folder` | `/share/aurral/data` | `/app/backend/data` | Database, settings |
|
||||
| *(built-in)* | `/media` | `/media` | HA media library (read) |
|
||||
|
||||
## Ports
|
||||
|
||||
| Port | Description |
|
||||
|---|---|
|
||||
| `3001/tcp` | Aurral Web UI |
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Lidarr** reachable from your HA host
|
||||
- **Last.fm API key** for recommendations and metadata
|
||||
- Optional: **Navidrome** for flow/playlist library integration
|
||||
|
||||
## More Information
|
||||
|
||||
Full documentation, flows guide, and Spotify import helper:
|
||||
[github.com/lklynet/aurral][source]
|
||||
|
||||
[source-shield]: https://img.shields.io/badge/source-lklynet%2Faurral-blue
|
||||
[source]: https://github.com/lklynet/aurral
|
||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
|
||||
21
aurral/apparmor.txt
Normal file
21
aurral/apparmor.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
#include <tunables/global>
|
||||
|
||||
profile aurral flags=(attach_disconnected,mediate_deleted) {
|
||||
#include <abstractions/base>
|
||||
|
||||
file,
|
||||
signal (send) set=(kill,term,int,hup,cont),
|
||||
|
||||
/init ix,
|
||||
/bin/** ix,
|
||||
/usr/bin/** ix,
|
||||
/usr/local/bin/** ix,
|
||||
/run/{s6,s6-rc*,fix-attrs.d}/** ix,
|
||||
|
||||
/share/aurral/** rwk,
|
||||
/media/** rk,
|
||||
/app/** rwk,
|
||||
|
||||
deny /proc/*/net/if_inet6 r,
|
||||
deny /proc/*/net/ipv6_route r,
|
||||
}
|
||||
15
aurral/build.json
Normal file
15
aurral/build.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"build_from": {
|
||||
"aarch64": "ghcr.io/lklynet/aurral:latest",
|
||||
"amd64": "ghcr.io/lklynet/aurral:latest"
|
||||
},
|
||||
"squash": false,
|
||||
"labels": {
|
||||
"io.hass.name": "Aurral",
|
||||
"io.hass.description": "Self-hosted music discovery and request management for Lidarr",
|
||||
"io.hass.arch": "{arch}",
|
||||
"io.hass.type": "addon",
|
||||
"io.hass.version": "dev",
|
||||
"maintainer": "petruknw"
|
||||
}
|
||||
}
|
||||
58
aurral/config.yaml
Normal file
58
aurral/config.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
name: Aurral
|
||||
version: "1.0.0"
|
||||
slug: aurral
|
||||
description: >-
|
||||
Self-hosted music discovery, request management, flows, and playlist
|
||||
importing for Lidarr with library-aware recommendations and Navidrome
|
||||
integration.
|
||||
url: https://github.com/petruknw/hassio-addons/blob/feat/aurral-addon/aurral/README.md
|
||||
arch:
|
||||
- aarch64
|
||||
- amd64
|
||||
|
||||
image: ghcr.io/lklynet/aurral
|
||||
|
||||
init: false
|
||||
|
||||
ports:
|
||||
3001/tcp: 3001
|
||||
ports_description:
|
||||
3001/tcp: Aurral Web UI
|
||||
|
||||
webui: http://[HOST]:[PORT:3001]
|
||||
|
||||
map:
|
||||
- addon_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
|
||||
options:
|
||||
download_folder: /share/aurral/downloads
|
||||
data_folder: /share/aurral/data
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TRUST_PROXY: "true"
|
||||
TZ: ""
|
||||
LIDARR_INSECURE: "false"
|
||||
AUTH_PROXY_ENABLED: "false"
|
||||
AUTH_PROXY_HEADER: ""
|
||||
AUTH_PROXY_TRUSTED_IPS: ""
|
||||
|
||||
schema:
|
||||
download_folder: str
|
||||
data_folder: str
|
||||
PUID: int
|
||||
PGID: int
|
||||
TRUST_PROXY: str
|
||||
TZ: str?
|
||||
LIDARR_INSECURE: str?
|
||||
AUTH_PROXY_ENABLED: str?
|
||||
AUTH_PROXY_HEADER: str?
|
||||
AUTH_PROXY_TRUSTED_IPS: str?
|
||||
|
||||
environment:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
|
||||
panel_icon: mdi:music-box-multiple
|
||||
panel_title: Aurral
|
||||
38
aurral/rootfs/etc/services.d/aurral/run
Normal file
38
aurral/rootfs/etc/services.d/aurral/run
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================
|
||||
# Start Aurral with configuration from HA add-on options.
|
||||
# ==============================================================
|
||||
|
||||
DOWNLOAD_FOLDER=$(bashio::config 'download_folder')
|
||||
DATA_FOLDER=$(bashio::config 'data_folder')
|
||||
PUID=$(bashio::config 'PUID')
|
||||
PGID=$(bashio::config 'PGID')
|
||||
TRUST_PROXY=$(bashio::config 'TRUST_PROXY')
|
||||
TZ=$(bashio::config 'TZ' '')
|
||||
LIDARR_INSECURE=$(bashio::config 'LIDARR_INSECURE' 'false')
|
||||
AUTH_PROXY_ENABLED=$(bashio::config 'AUTH_PROXY_ENABLED' 'false')
|
||||
AUTH_PROXY_HEADER=$(bashio::config 'AUTH_PROXY_HEADER' '')
|
||||
AUTH_PROXY_TRUSTED_IPS=$(bashio::config 'AUTH_PROXY_TRUSTED_IPS' '')
|
||||
|
||||
# Ensure host-side directories exist
|
||||
mkdir -p "${DOWNLOAD_FOLDER}" "${DATA_FOLDER}"
|
||||
|
||||
# Symlink HA volume paths into the locations Aurral expects
|
||||
rm -rf /app/downloads && ln -sf "${DOWNLOAD_FOLDER}" /app/downloads
|
||||
rm -rf /app/backend/data && ln -sf "${DATA_FOLDER}" /app/backend/data
|
||||
|
||||
bashio::log.info "Starting Aurral"
|
||||
bashio::log.info " Downloads : ${DOWNLOAD_FOLDER}"
|
||||
bashio::log.info " Data : ${DATA_FOLDER}"
|
||||
|
||||
exec env \
|
||||
PUID="${PUID}" \
|
||||
PGID="${PGID}" \
|
||||
DOWNLOAD_FOLDER="${DOWNLOAD_FOLDER}" \
|
||||
TRUST_PROXY="${TRUST_PROXY}" \
|
||||
TZ="${TZ}" \
|
||||
LIDARR_INSECURE="${LIDARR_INSECURE}" \
|
||||
AUTH_PROXY_ENABLED="${AUTH_PROXY_ENABLED}" \
|
||||
AUTH_PROXY_HEADER="${AUTH_PROXY_HEADER}" \
|
||||
AUTH_PROXY_TRUSTED_IPS="${AUTH_PROXY_TRUSTED_IPS}" \
|
||||
docker-entrypoint.sh node server.js
|
||||
Reference in New Issue
Block a user