Compare commits

...

85 Commits

Author SHA1 Message Date
github-actions
910f160fd5 GitHub bot: changelog [nobuild] 2026-05-21 14:02:50 +00:00
Alexandre
155c7215ff Merge pull request #2726 from petruknw/master
aurral: v1.76.17-2 - fix entrypoint, restore mkdirs, clean up build.json
2026-05-21 15:59:51 +02:00
petruknw
6cf7dc4a6e aurral: remove hardcoded fallbacks from entrypoint mkdirs 2026-05-21 23:37:39 +10:00
petruknw
34e83e8e67 aurral: bump to 1.76.17-2 2026-05-21 23:32:39 +10:00
github-actions
a5528a37f0 GitHub bot: changelog [nobuild] 2026-05-21 13:31:17 +00:00
petruknw
cf329eab0d aurral: revert to env vars injected by HA supervisor 2026-05-21 23:30:28 +10:00
petruknw
ef4f1a1ef7 aurral: replace bashio with jq to read /data/options.json 2026-05-21 23:28:16 +10:00
Alexandre
322ca77d4d Update config.yaml 2026-05-21 15:25:27 +02:00
Alexandre
53bd13b6d2 Merge pull request #2724 from Krainium/fix/immich-dockerfile-chmod-sed
fix(immich): stop find from stomping node_modules, guard missing s6 service
2026-05-21 15:24:40 +02:00
github-actions
88de9d3807 GitHub bot: changelog [nobuild] 2026-05-21 13:19:17 +00:00
Alexandre
4cd268e72f Merge pull request #2725 from petruknw/master
aurral: v1.76.17-1 - fix config schema, add weekly_flow_folder option, clean up build.json
2026-05-21 15:16:16 +02:00
petruknw
eff33656ff aurral: remove redundant labels from build.json 2026-05-21 22:45:48 +10:00
Krainium
6637e39792 fix(immich): stop find from stomping node_modules, guard missing s6 service
Two build-time bugs prevented the immich image from being built:

1. The find . chmod command ran from WORKDIR=/ and descended into
   /app/immich/server/node_modules/, hitting files it could not chmod
   (exit code 1 at build step 5). Fixed by scoping find to only
   /etc /usr/local/bin /usr/local/lib /usr/local/share — the actual
   directories populated by COPY rootfs/ /.

2. sed -i tried to patch /etc/s6-overlay/s6-rc.d/init-test-run/run
   which no longer exists in the imagegenius base image (removed in
   an earlier upstream update). Fixed with a [ -f ... ] guard so the
   sed is silently skipped when the file is absent.

Reproduced both bugs locally with docker build, verified fix on a
bare-metal VPS — all 17 build steps complete cleanly.

Fixes #2718
2026-05-21 13:44:45 +01:00
petruknw
880f8fd5e9 aurral: v1.76.17-1 - document weekly_flow_folder option, version bump 2026-05-21 22:41:32 +10:00
petruknw
c7ee889b2c aurral: make weekly_flow_folder user-configurable, derive env var in entrypoint 2026-05-21 22:36:28 +10:00
Alexandre
fa8f985857 rollback 2026-05-21 14:13:05 +02:00
petruknw
8b3b5e4c62 aurral: fix env_vars->environment, add image tag, remove squash default 2026-05-21 20:54:08 +10:00
github-actions
dd8c431da9 GitHub bot: sanitize (spaces + LF endings) & chmod [nobuild] 2026-05-21 09:24:11 +00:00
Alexandre
9305ad962b Merge pull request #2723 from petruknw/master
Add Aurral addon (v1.76.17)
2026-05-21 11:23:24 +02:00
petruknw
d649eecc18 Merge pull request #3 from alexbelgium/patch-1
Add aurral submitter to addon_submitters.json
2026-05-21 17:04:33 +10:00
Alexandre
fe240a2f29 Add aurral submitter to addon_submitters.json 2026-05-21 08:56:30 +02:00
petruknw
55236b67c3 aurral: replace /app/backend/data and /app/downloads with symlinks at build time 2026-05-21 16:24:51 +10:00
petruknw
78da35d63f aurral: fix data/downloads paths to match upstream volume layout 2026-05-21 16:21:03 +10:00
petruknw
2159f17969 aurral: remove unnecessary PUID/PGID env vars 2026-05-21 16:19:10 +10:00
petruknw
ac67de8ef1 aurral: symlink /app/backend/data/image-proxy -> /config/data/image-proxy 2026-05-21 16:17:44 +10:00
petruknw
4ecf6fb5dc aurral: use PUID/PGID=0 instead of chown for runtime permissions 2026-05-21 16:15:19 +10:00
petruknw
d0f19aaa19 aurral: fix image-proxy dir permissions - chown node, not 777 2026-05-21 16:14:08 +10:00
petruknw
526045648b aurral: pre-create /app/backend/data/image-proxy at build time with correct permissions 2026-05-21 16:13:30 +10:00
petruknw
1b6a2c1edf aurral: pre-create /app/backend/data/image-proxy in entrypoint 2026-05-21 16:09:34 +10:00
petruknw
6d891edb3a aurral: set version to 1.76.17 2026-05-21 16:06:33 +10:00
petruknw
7c5e131959 aurral: delete dead s6 run script (plain Node image, no s6) 2026-05-21 16:05:27 +10:00
petruknw
b34cfd35bd aurral: remove dead s6 run script, clean up Dockerfile chmod 2026-05-21 16:05:14 +10:00
petruknw
29e2d595e3 aurral: bump to 1.76.17-2 2026-05-21 16:02:49 +10:00
petruknw
8e50b0e87f aurral: fix startup — plain Node image, use entrypoint override not s6 2026-05-21 16:01:38 +10:00
petruknw
9017e16897 aurral: bump version to 1.76.17-1 to force image rebuild 2026-05-21 15:58:02 +10:00
petruknw
cf02b5bfc8 aurral: override upstream ENTRYPOINT with /init so s6 owns startup 2026-05-21 15:54:10 +10:00
petruknw
2903a010ee aurral: simplify CHANGELOG to single initial release entry 2026-05-21 15:44:07 +10:00
petruknw
da506fc508 aurral: simplify startup — call node directly from run script, drop passthrough entrypoint 2026-05-21 15:43:01 +10:00
petruknw
c15a15efa8 aurral: explicitly set ENTRYPOINT and CMD to match upstream 2026-05-21 15:38:09 +10:00
petruknw
b486b16d3b aurral: chmod our docker-entrypoint.sh override so it's executable 2026-05-21 15:36:24 +10:00
petruknw
df9f80969a aurral: revert to docker-entrypoint.sh, pre-create /app/backend/data so chown succeeds 2026-05-21 15:34:33 +10:00
petruknw
eb4fe464e0 aurral: call node directly, skip docker-entrypoint.sh entirely 2026-05-21 15:32:26 +10:00
petruknw
59e3dc1625 aurral: fix image tag format (1.76.17 not v1.76.17) 2026-05-21 15:28:46 +10:00
petruknw
ec19bdc97a aurral: update updater.json to v1.76.16 2026-05-21 15:21:51 +10:00
petruknw
927845bd66 aurral: update build.json to v1.76.16 2026-05-21 15:21:06 +10:00
petruknw
6c9636f700 aurral: downgrade to v1.76.16 (v1.76.17 image not published to ghcr.io) 2026-05-21 15:19:33 +10:00
petruknw
b3d5d53743 aurral: symlink image-proxy to /config/data to fix EACCES error 2026-05-21 15:15:24 +10:00
petruknw
a6db72c07d aurral: fix bare URL in README (markdownlint MD034) 2026-05-21 15:10:59 +10:00
petruknw
13d13d9cdd aurral: simplify CHANGELOG to single initial release entry 2026-05-21 14:39:03 +10:00
petruknw
4909bd28bb aurral: fix apparmor /config path, update CHANGELOG 2026-05-21 14:37:29 +10:00
petruknw
0a51e2f279 aurral: pin to v1.76.17, drop redundant entrypoint chmod 2026-05-21 14:35:20 +10:00
petruknw
acfa99e20b aurral: remove horizontal rule from installation section 2026-05-21 14:29:38 +10:00
petruknw
336b427bc9 aurral: simplify installation step 1 to badge only 2026-05-21 14:22:17 +10:00
petruknw
8b959e7ab6 Add files via upload 2026-05-21 14:15:00 +10:00
petruknw
e6f68d381e Rename logo.png to icon.png 2026-05-21 14:14:22 +10:00
petruknw
9ac9f7e1f8 Replace logo 2026-05-21 12:13:17 +10:00
petruknw
d99e703e66 aurral: remove panel_icon/panel_title (no ingress) 2026-05-21 12:08:45 +10:00
petruknw
cbc8e9cb95 chore: disable ingress until upstream frameAncestors CSP is fixed 2026-05-21 00:13:15 +10:00
petruknw
bd1735a57e feat: re-enable ingress 2026-05-21 00:11:38 +10:00
petruknw
7650e0bf40 fix: disable ingress, use direct port webui link; pre-declare WEEKLY_FLOW_FOLDER in env_vars 2026-05-21 00:09:56 +10:00
petruknw
4a168b2e8a fix: bake DOWNLOAD_FOLDER default into image ENV so it's inherited by all services 2026-05-20 23:59:48 +10:00
petruknw
5e426b1aa6 fix: pre-create /config/data at build time and set AURRAL_DATA_DIR as ENV 2026-05-20 23:54:10 +10:00
petruknw
971225c527 fix: set PUID=0/PGID=0 so entrypoint stays as root and can write /config/data 2026-05-20 23:48:54 +10:00
petruknw
ed705a051f fix: chmod the passthrough entrypoint so it actually overrides upstream 2026-05-20 23:40:41 +10:00
petruknw
5c6290b1d1 fix: remove image: field so HA builds from Dockerfile; use AURRAL_DATA_DIR env var
When image: is set in config.yaml, HA pulls that image directly and
never runs the Dockerfile, so the rootfs overlay (including the
passthrough entrypoint) was never applied. Removing image: forces HA
to build from the Dockerfile, which COPYs rootfs/ and applies our
run script and entrypoint override.

Also switch run script from symlink approach to AURRAL_DATA_DIR env
var, which avoids the race condition where docker-entrypoint.sh runs
before s6 and tries to chown a broken symlink target.
2026-05-20 23:34:40 +10:00
petruknw
5bd01b5a06 Merge pull request #2 from petruknw/feat/aurral-addon
Feat/aurral addon
2026-05-20 23:29:58 +10:00
petruknw
726f6360d1 fix: resolve merge conflicts with master
- config.yaml: adopt master's env_vars block and version (1.76.12), drop data_folder option
- run: adopt master's /config/data symlink approach (real dir chowned by entrypoint, then symlinked)
- README: keep badge indent fix, update config table to remove data_folder row, fix install steps
- docker-entrypoint.sh: keep passthrough (master doesn't have this file)
2026-05-20 23:29:24 +10:00
petruknw
c833761e2d fix: use HA /data for addon storage, remove data_folder config option
/data is HA's built-in private persistent storage for every addon - no
user configuration needed. Only download_folder needs to be user-facing
since that's where the music lives and users need to know the path.
2026-05-20 23:20:44 +10:00
petruknw
9d1d2dc72e fix: revert image back to upstream (no local build needed) 2026-05-20 23:18:42 +10:00
petruknw
0808883159 fix: use env vars instead of symlinks to redirect data/download paths
The upstream docker-entrypoint.sh chowns /app/backend/data which fails
when it's a symlink to a host-mounted HA path. Instead, use the env vars
that Aurral natively supports to redirect paths:
  - AURRAL_DATA_DIR  -> data_folder config option
  - DOWNLOAD_FOLDER  -> download_folder config option
  - WEEKLY_FLOW_FOLDER -> download_folder/weekly-flow

This lets the entrypoint chown the real (container-internal) /app/backend/data
unmolested, while node writes persistent data directly to the HA share paths.
2026-05-20 23:17:45 +10:00
petruknw
a089e5271b fix: point image to alexbelgium-built registry so Dockerfile/rootfs overlay is actually used
Previously image: pointed directly at the upstream ghcr.io/lklynet/aurral,
meaning the Dockerfile was never built and the rootfs overlay (including the
entrypoint fix) was never applied. Changed to ghcr.io/alexbelgium/aurral-{arch}
which is where the CI build pushes the image built FROM the upstream via build.json.
2026-05-20 23:14:00 +10:00
petruknw
0214053b74 revert: undo entrypoint override (config uses pre-built image, no Docker build) 2026-05-20 23:11:37 +10:00
petruknw
15749a4d2f fix: replace upstream entrypoint with no-op to prevent chown on host-mounted paths
docker-entrypoint.sh runs chown -R on /app/backend/data which fails when
that path is a symlink to a host-mounted HA volume. Replace it with a
passthrough script that just exec's its arguments, letting the s6 run
script handle all setup.
2026-05-20 23:10:28 +10:00
petruknw
d7fc0eb331 fix: indent badge under step 1 to prevent ordered list numbering reset 2026-05-20 23:09:07 +10:00
petruknw
46df56a264 fix: override upstream entrypoint to prevent chown failure on host-mounted paths
The upstream docker-entrypoint.sh runs chown -R on /app/backend/data before
the s6 run script can replace it with a symlink. When the symlink target is a
host-mounted HA path (/share, /data, etc.), the chown fails with
"Operation not permitted".

Overriding ENTRYPOINT with /init hands control directly to s6-overlay, which
then runs the run script that creates the symlinks before node starts.
2026-05-20 23:07:41 +10:00
petruknw
f2d9a6f7f0 fix: remove superfluous port config, fix chown by using env vars instead of symlinks 2026-05-20 21:01:33 +10:00
petruknw
5afc1f2b33 fix: align addon version with upstream GHCR tag 1.76.12 2026-05-20 20:49:18 +10:00
petruknw
a6ae4d4131 Merge pull request #1 from petruknw/feat/aurral-addon
Add Aurral Home Assistant addon
2026-05-20 20:39:15 +10:00
petruknw
b37e3208f5 Update logo image in aurral directory 2026-05-20 20:37:15 +10:00
petruknw
3657083d62 add placeholder logo.png for Aurral addon 2026-05-20 20:28:50 +10:00
petruknw
c293551ed9 fix: remove webui line and Options header from README 2026-05-20 19:16:44 +10:00
petruknw
c53bab9d3d fix: clean up README - remove badges, support section, fix button layout 2026-05-20 19:15:14 +10:00
petruknw
f185834afa fix: simplify config and README to match repo style
- config.yaml: strip back to download_folder, data_folder, port only
- README.md: match alexbelgium style, merge upstream link into About,
  remove badge buttons, remove Navidrome references
2026-05-20 19:12:09 +10:00
petruknw
9e5cb90283 fix: apply review fixes to Aurral addon
- config.yaml: fix url to point to master, add ingress support,
  remove download_folder/data_folder from options (set via UI),
  match lidarr schema style with env_vars passthrough
- updater.json: add with upstream v1.76.12 tracking lklynet/aurral
- run script: use proper ingress port env var, cleaner startup
- README.md: fix install instructions to reference master branch
2026-05-20 19:02:06 +10:00
petruknw
457730c5ec 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_*
2026-05-20 18:56:24 +10:00
15 changed files with 175 additions and 11 deletions

View File

@@ -1,4 +1,5 @@
{
"aurral": "petruknw",
"cleanuparr": "PierreNa",
"gitea": "baldarn",
"kometa": "akrigator",

20
aurral/CHANGELOG.md Normal file
View File

@@ -0,0 +1,20 @@
## 1.76.17-2 (21-05-2026)
- Minor bugs fixed
## 1.76.17-1 (21-05-2026)
- Minor bugs fixed
# Changelog
## 1.76.17-2
- Fix entrypoint: use HA-injected env vars instead of bashio (not available in upstream image)
- Restore mkdir for persistent data/download directories
## 1.76.17-1
- Add `weekly_flow_folder` option (configurable subfolder for weekly flow files)
- Fix addon config schema (`env_vars` -> `environment`)
- Add image tag for alexbelgium build pipeline
## 1.76.17
- Initial release

32
aurral/Dockerfile Normal file
View File

@@ -0,0 +1,32 @@
# ==============================================================
# Home Assistant Add-on: Aurral
# Wraps the upstream ghcr.io/lklynet/aurral image.
# ==============================================================
ARG BUILD_FROM
FROM ${BUILD_FROM}
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"
ENV DOWNLOAD_FOLDER=/share/aurral/downloads \
WEEKLY_FLOW_FOLDER=/share/aurral/downloads/weekly-flow
# Replace the upstream data/downloads dirs with symlinks into HA persistent storage.
# Must be done at build time — the dirs are owned by a non-root user at runtime.
RUN rm -rf /app/backend/data && ln -s /config/data /app/backend/data \
&& rm -rf /app/downloads && ln -s /share/aurral/downloads /app/downloads
COPY rootfs /
RUN chmod a+x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["node", "server.js"]

25
aurral/README.md Normal file
View File

@@ -0,0 +1,25 @@
# Aurral
[Aurral](https://github.com/lklynet/aurral) is a self-hosted music discovery, request management, flows, and playlist importing app for Lidarr with library-aware recommendations.
This addon is based on the docker image <https://github.com/lklynet/aurral>
## Configuration
| Option | Default | Description |
|---|---|---|
| `download_folder` | `/share/aurral/downloads` | Path where Aurral writes flow downloads. Must be under `/share`. |
| `weekly_flow_folder` | `weekly-flow` | Subfolder name appended to `download_folder` for weekly flow files. The full path will be `download_folder/weekly_flow_folder`. |
## Installation
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
2. Install this add-on.
3. Click the `Save` button to store your configuration.
4. Set the `download_folder` option to your preferred path.
5. Optionally set `weekly_flow_folder` to customise the weekly flow subfolder name.
6. Start the add-on.
7. Check the logs of the add-on to see if everything went well.
8. Open the webUI and complete onboarding.

22
aurral/apparmor.txt Normal file
View File

@@ -0,0 +1,22 @@
#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,
/config/aurral/** rwk,
deny /proc/*/net/if_inet6 r,
deny /proc/*/net/ipv6_route r,
}

6
aurral/build.json Normal file
View File

@@ -0,0 +1,6 @@
{
"build_from": {
"aarch64": "ghcr.io/lklynet/aurral:1.76.17",
"amd64": "ghcr.io/lklynet/aurral:1.76.17"
}
}

34
aurral/config.yaml Normal file
View File

@@ -0,0 +1,34 @@
name: Aurral
version: "1.76.17-2"
slug: aurral
description: >-
Self-hosted music discovery, request management, flows, and playlist
importing for Lidarr with library-aware recommendations.
url: https://github.com/alexbelgium/hassio-addons/blob/master/aurral/README.md
arch:
- aarch64
- amd64
image: ghcr.io/alexbelgium/aurral-{arch}
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
weekly_flow_folder: weekly-flow
schema:
download_folder: str
weekly_flow_folder: str

BIN
aurral/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
aurral/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,8 @@
#!/bin/sh
set -e
mkdir -p /config/data
mkdir -p "${DOWNLOAD_FOLDER}"
mkdir -p "${WEEKLY_FLOW_FOLDER}"
exec "$@"

8
aurral/updater.json Normal file
View File

@@ -0,0 +1,8 @@
{
"last_update": "21-05-2026",
"repository": "alexbelgium/hassio-addons",
"slug": "aurral",
"source": "github",
"upstream_repo": "lklynet/aurral",
"upstream_version": "1.76.17"
}

View File

@@ -97,5 +97,5 @@ schema:
slug: gitea
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/gitea
version: "1.26.1"
version: "1.25.5"
webui: "[PROTO:ssl]://[HOST]:[PORT:3000]"

View File

@@ -1,3 +1,5 @@
## 2.7.5-2 (21-05-2026)
- Minor bugs fixed
## 2.7.5 (2026-05-19)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)

View File

@@ -37,18 +37,18 @@ RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGL
# Install REDIS
ENV DOCKER_MODS="imagegenius/mods:universal-redis"
# && chmod 777 -R /docker-mods \
# && /./docker-mods/* || ls / \
# && if [ !-f /defaults/redis.conf ]; then echo "Not installed" && exit 1; fi
#ENV DOCKER_MODS=""
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
RUN find . -type f \( -name "*.sh" -o -name "run" -o -name "finish" \) -print -exec chmod +x {} \;
# FIX BUG 1: scope find to HA-owned directories only, never the whole filesystem.
# Running `find .` from WORKDIR=/ hits node_modules inside /app/immich and fails chmod (exit 1).
RUN find /etc /usr/local/bin /usr/local/lib /usr/local/share \
-type f \( -name "*.sh" -o -name "run" -o -name "finish" \) \
-exec chmod +x {} \; 2>/dev/null || true
# Uses /bin for compatibility purposes
# hadolint ignore=DL4005
@@ -82,10 +82,16 @@ RUN chmod 777 /ha_entrypoint.sh
COPY bashio-standalone.sh /usr/local/lib/bashio-standalone.sh
RUN chmod 0755 /usr/local/lib/bashio-standalone.sh
RUN apt-get update && apt-get install -y --no-install-recommends sed \
&& sed -i "s|postgresql-16|postgresql-15|g" /etc/s6-overlay/s6-rc.d/init-test-run/run
# FIX BUG 2: /etc/s6-overlay/s6-rc.d/init-test-run/run no longer exists in the
# imagegenius base image (service was removed). Guard with file existence check.
# The base image already ships postgresql-client-14 through 18, so the redundant
# install is removed. Only the conditional sed is kept for backward compatibility
# in case a future base image re-introduces the file.
RUN if [ -f /etc/s6-overlay/s6-rc.d/init-test-run/run ]; then \
sed -i "s|postgresql-16|postgresql-15|g" /etc/s6-overlay/s6-rc.d/init-test-run/run; \
fi
# Install dependencies
# Install dependencies (postgresql-client for psql CLI used in 99-run.sh)
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN apt-get update && apt-get install -y --no-install-recommends \
lsb-release \

View File

@@ -143,6 +143,6 @@ slug: immich
udev: true
url: https://github.com/alexbelgium/hassio-addons
usb: true
version: "2.7.5"
version: "2.7.5-2"
video: true
webui: http://[HOST]:[PORT:8080]