Compare commits

...

73 Commits

Author SHA1 Message Date
Alexandre
9ecadb5c51 Merge pull request #2889 from alexbelgium/feat/cowork-virtiofsd
feat(claude_desktop): add cowork virtualization stack (qemu, ovmf, docker, virtiofsd)
2026-07-22 12:34:48 +02:00
Alexandre
c916996660 fix(claude_desktop): use BuildKit target architecture in validators 2026-07-22 12:30:22 +02:00
Alexandre
5356c02501 fix(claude_desktop): restore architecture label 2026-07-22 12:22:12 +02:00
Alexandre
e217cdf02f fix(claude_desktop): expose cowork VM devices 2026-07-22 12:21:02 +02:00
Alexandre
803006d135 fix(claude_desktop): install virtiofsd in probed path 2026-07-22 12:20:42 +02:00
alexbelgium
bbef5347f3 fix(claude_desktop): add blank line before 1.33 changelog list (MD022/MD032)
Codacy flagged 2 new markdownlint issues against the repo's 0-max gate:
the new heading and its following bullet list need a blank line between
them, matching the spacing every other CHANGELOG entry already uses.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-22 12:00:36 +02:00
alexbelgium
a7b2dbc5cb fix(claude_desktop): drop docker.io, base image already has Docker-in-Docker
CI failed the build: apt refused to install docker.io because it pulls
in Debian's containerd/runc, which Conflicts with the containerd.io
already installed by the base image's own Docker-in-Docker support
(docker-ce + containerd.io from Docker's apt repo, toggled by the
pre-existing START_DOCKER env var — the reason that option existed
before this PR). qemu-system-x86 and ovmf are unaffected and stay.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-22 11:57:10 +02:00
alexbelgium
004010be31 feat(claude_desktop): add cowork virtualization stack (qemu, ovmf, docker, virtiofsd)
Adds qemu-system-x86, ovmf, and docker.io (Bookworm main) plus virtiofsd
for sharing the workspace into the sandbox microVM. virtiofsd has no
Bookworm/backports package and its trixie .deb would GLIBC-mismatch the
runtime, so it's built from the pinned crates.io release in a dedicated
builder stage, mirroring the existing rtk/tokensave pattern.

Also updates the repo versioning convention in CLAUDE.md: local patch
counters should use a dot (X.Y.Z.N) instead of a hyphen (X.Y.Z-N), since
the hyphen form parses as a semver pre-release and Supervisor won't offer
the update.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-22 11:51:01 +02:00
github-actions
0c6a2fecc7 GitHub bot: changelog [nobuild] 2026-07-22 08:56:54 +00:00
Alexandre
66b1ea3704 Update config.yaml 2026-07-22 10:54:52 +02:00
Alexandre
ae5ceccc77 Merge pull request #2843 from alexbelgium/agent/fix-birdnet-pi-abc-systemctl-sudo
Fix birdnet-pi standalone Docker health-check (WebUI port 8081)
2026-07-22 10:54:31 +02:00
Alexandre
b48c19aa80 Merge branch 'master' into agent/fix-birdnet-pi-abc-systemctl-sudo 2026-07-22 10:54:14 +02:00
alexbelgium
e554279fc3 fix(birdnet-pi): healthcheck must select https for ssl=true and use POSIX redirection
The healthcheck CMD hardcoded http://, but 92-ssl.sh switches Caddy to
https://:8081 when ssl=true, so the probe would fail with the wrong scheme.
Select the scheme from the ssl env var and pass -k (the probe hits
127.0.0.1, not the certificate's real name).

Also replace `&>/dev/null` with `>/dev/null 2>&1`. HEALTHCHECK's shell form
runs under /bin/sh, which in this image is dash, not bash. Dash parses
`cmd &>/dev/null` as `cmd &` (backgrounded) followed by a separate no-op
`>/dev/null`, discarding curl's exit status entirely -- so the healthcheck
always reported healthy regardless of whether the WebUI actually responded.
Verified under dash directly: no listener -> exit 1, http server -> exit 0,
forced scheme mismatch -> exit 1, https with self-signed cert + -k -> exit 0.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 10:52:19 +02:00
Alexandre
926b573d2b Update Dockerfile 2026-07-22 10:46:54 +02:00
alexbelgium
9bfad91d7b fix(birdnet-pi): health-check the WebUI port, drop inert abc sudoers
Standalone Docker (no Supervisor) disables nginx and serves the WebUI via
Caddy on 8081; nothing listens on port 80 when ssl=false, so the Docker
HEALTHCHECK failed and the container reported "unhealthy" although it worked.
Point HEALTH_PORT at 8081. HA mode is unaffected (Supervisor ignores Docker
health-checks).

Also drop rootfs/etc/sudoers.d/birdnet-abc-systemctl. A chroot boot harness
against the published image confirmed the standalone container already boots
and serves the WebUI (HTTP 200), and that nothing ever runs as the `abc`
user: pi has `NOPASSWD:ALL` and caddy has NOPASSWD:ALL via the pre-existing
010_caddy-nopasswd drop-in, so the abc rule was valid but inert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 10:43:52 +02:00
github-actions
b0dcd7aa84 GitHub bot: changelog [nobuild] 2026-07-22 07:32:26 +00:00
Alexandre
f4592a7289 Update config.yaml 2026-07-22 09:30:18 +02:00
Alexandre
6fe02c14dd Modify health check command in Dockerfile
https://github.com/alexbelgium/hassio-addons/issues/2881
2026-07-22 09:26:43 +02:00
Alexandre
b4b881fcb6 Add new flag for following external symlinks 2026-07-22 09:22:55 +02:00
Alexandre
abf35097ff Enable follow_external_symlinks and update version
https://github.com/alexbelgium/hassio-addons/issues/2882
2026-07-22 09:22:26 +02:00
Alexandre
d3f0d4f4c4 Add support for following external symlinks in script
https://github.com/alexbelgium/hassio-addons/issues/2882
2026-07-22 09:21:33 +02:00
GitHub Actions
3da0abdeff Revert "Updater bot : ente updated to 4.4.24"
This reverts commit 1706324ac7.
2026-07-22 06:03:25 +00:00
alexbelgium
7a85d53196 Updater bot : maintainerr updated to 3.18.0 2026-07-22 08:02:54 +02:00
alexbelgium
b72cc7e7b9 Updater bot : linkwarden updated to 2.15.1 2026-07-22 08:02:49 +02:00
alexbelgium
98211fbcf7 Updater bot : jackett updated to 0.24.2251 2026-07-22 08:02:26 +02:00
alexbelgium
f59d77d7be Updater bot : immich_openvino updated to 3.0.3 2026-07-22 08:02:17 +02:00
alexbelgium
ee98a18848 Updater bot : immich_noml updated to 3.0.3 2026-07-22 08:02:12 +02:00
alexbelgium
38df0f82fe Updater bot : immich_frame updated to 1.0.37.0 2026-07-22 08:02:07 +02:00
alexbelgium
83d35476b0 Updater bot : immich_cuda updated to 3.0.3 2026-07-22 08:02:02 +02:00
alexbelgium
4fbf95977d Updater bot : immich updated to 3.0.3 2026-07-22 08:01:57 +02:00
alexbelgium
61b801f3d7 Updater bot : grav updated to 2.0.12 2026-07-22 08:01:50 +02:00
alexbelgium
3ab193b1e5 Updater bot : grampsweb updated to 26.7.0 2026-07-22 08:01:45 +02:00
alexbelgium
ba995cd04c Updater bot : gitea updated to 1.27.0 2026-07-22 08:01:40 +02:00
alexbelgium
5358b90eec Updater bot : flexget updated to 3.19.28 2026-07-22 08:01:31 +02:00
alexbelgium
c7de8627cb Updater bot : filebrowser_quantum updated to 1.5.0 2026-07-22 08:01:16 +02:00
alexbelgium
26d725409a Updater bot : epicgamesfree updated to debian-2026-07-20 2026-07-22 08:01:08 +02:00
alexbelgium
1706324ac7 Updater bot : ente updated to 4.4.24 2026-07-22 08:01:04 +02:00
Alexandre
9126c592ef Merge pull request #2888 from alexbelgium/fix/revert-on-failure-scope
fix(ci): scope revert-on-failure to the failing push's own commits
2026-07-22 07:57:57 +02:00
alexbelgium
7d7ece7eab fix(ci): capture sanitize commit SHA, fail cleanly on rebase conflict
Addresses review feedback on #2888 without widening the revert scope
back to a moving target:

- prebuild-sanitize's own [nobuild] commit lands on top of HEAD_SHA
  within the same run, so before..HEAD_SHA doesn't include it. It's
  still this push's own fallout, not a neighboring push's, so capture
  its SHA via job output and revert it explicitly (reverted first,
  since it's on top).
- git rebase in the push-retry loop could conflict and get killed
  silently by set -e, burning the remaining retry attempts. Abort the
  rebase and fail loudly instead.
2026-07-22 07:54:30 +02:00
alexbelgium
40e4675e88 fix(ci): scope revert-on-failure to the failing push's own commits
revert-on-failure re-fetched master and reverted before..HEAD, but HEAD
was the live tip of master, not the head of the failing push. When the
updater bot pushes one addon per commit in quick succession, a single
addon's build failure would sweep in every successful commit pushed
while the revert job was still running and revert them too.

Revert before..github.sha instead, and retry the push with a rebase in
case master moves again before we push.
2026-07-22 07:45:08 +02:00
alexbelgium
2ef067ec61 Updater bot : prowlarr updated to nightly-2.5.2.5487-ls8 2026-07-22 07:30:05 +02:00
GitHub Actions
975f6b13be Revert "Updater bot : ente updated to 4.4.24"
This reverts commit 79a97e6a20.
2026-07-22 05:29:51 +00:00
GitHub Actions
d4d9a84aa0 Revert "Updater bot : epicgamesfree updated to debian-2026-07-20"
This reverts commit 0cfd94e902.
2026-07-22 05:29:51 +00:00
GitHub Actions
2d1532dbed Revert "Updater bot : filebrowser_quantum updated to 1.5.0"
This reverts commit 3fed178e6e.
2026-07-22 05:29:51 +00:00
GitHub Actions
aceac22f7e Revert "Updater bot : flexget updated to 3.19.28"
This reverts commit 444a297ae9.
2026-07-22 05:29:51 +00:00
GitHub Actions
ae4ccf889d Revert "Updater bot : gitea updated to 1.27.0"
This reverts commit 009236a2f0.
2026-07-22 05:29:51 +00:00
GitHub Actions
b47001e5e9 Revert "Updater bot : grampsweb updated to 26.7.0"
This reverts commit c75c75a9da.
2026-07-22 05:29:51 +00:00
GitHub Actions
e14bf67fd6 Revert "Updater bot : grav updated to 2.0.12"
This reverts commit b1badb954e.
2026-07-22 05:29:51 +00:00
GitHub Actions
0363e3f56e Revert "Updater bot : immich updated to 3.0.3"
This reverts commit 14ac8ed1d3.
2026-07-22 05:29:51 +00:00
GitHub Actions
e0a5f4a33d Revert "Updater bot : immich_cuda updated to 3.0.3"
This reverts commit 3db676c9f2.
2026-07-22 05:29:51 +00:00
GitHub Actions
d98378b7db Revert "Updater bot : immich_frame updated to 1.0.37.0"
This reverts commit a8d0008a02.
2026-07-22 05:29:51 +00:00
GitHub Actions
e39546da9e Revert "Updater bot : immich_noml updated to 3.0.3"
This reverts commit 5bc12e84d7.
2026-07-22 05:29:51 +00:00
GitHub Actions
00ea692023 Revert "Updater bot : immich_openvino updated to 3.0.3"
This reverts commit f67abda4b9.
2026-07-22 05:29:51 +00:00
GitHub Actions
681c2a6341 Revert "Updater bot : jackett updated to 0.24.2251"
This reverts commit 1513d9606b.
2026-07-22 05:29:51 +00:00
GitHub Actions
07fe958a95 Revert "Updater bot : linkwarden updated to 2.15.1"
This reverts commit 1be2a4874b.
2026-07-22 05:29:51 +00:00
GitHub Actions
7731ee982a Revert "Updater bot : maintainerr updated to 3.18.0"
This reverts commit 438db18af6.
2026-07-22 05:29:50 +00:00
alexbelgium
438db18af6 Updater bot : maintainerr updated to 3.18.0 2026-07-22 07:29:08 +02:00
alexbelgium
1be2a4874b Updater bot : linkwarden updated to 2.15.1 2026-07-22 07:29:04 +02:00
alexbelgium
1513d9606b Updater bot : jackett updated to 0.24.2251 2026-07-22 07:28:42 +02:00
alexbelgium
f67abda4b9 Updater bot : immich_openvino updated to 3.0.3 2026-07-22 07:28:33 +02:00
alexbelgium
5bc12e84d7 Updater bot : immich_noml updated to 3.0.3 2026-07-22 07:28:28 +02:00
alexbelgium
a8d0008a02 Updater bot : immich_frame updated to 1.0.37.0 2026-07-22 07:28:24 +02:00
alexbelgium
3db676c9f2 Updater bot : immich_cuda updated to 3.0.3 2026-07-22 07:28:19 +02:00
alexbelgium
14ac8ed1d3 Updater bot : immich updated to 3.0.3 2026-07-22 07:28:14 +02:00
alexbelgium
b1badb954e Updater bot : grav updated to 2.0.12 2026-07-22 07:28:08 +02:00
alexbelgium
c75c75a9da Updater bot : grampsweb updated to 26.7.0 2026-07-22 07:28:04 +02:00
alexbelgium
009236a2f0 Updater bot : gitea updated to 1.27.0 2026-07-22 07:27:59 +02:00
alexbelgium
444a297ae9 Updater bot : flexget updated to 3.19.28 2026-07-22 07:27:50 +02:00
alexbelgium
3fed178e6e Updater bot : filebrowser_quantum updated to 1.5.0 2026-07-22 07:27:37 +02:00
alexbelgium
0cfd94e902 Updater bot : epicgamesfree updated to debian-2026-07-20 2026-07-22 07:27:29 +02:00
alexbelgium
79a97e6a20 Updater bot : ente updated to 4.4.24 2026-07-22 07:27:26 +02:00
alexbelgium
fd42cb2223 Updater bot : aurral updated to 2.0.0 2026-07-22 07:24:59 +02:00
Alexandre
787909c8a7 Allow BirdNET-Pi service restarts as abc 2026-07-10 14:34:54 +02:00
62 changed files with 223 additions and 71 deletions

View File

@@ -55,6 +55,9 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
sanitizeCommitted: ${{ steps.sanitize_commit.outputs.committed }}
sanitizeCommitSha: ${{ steps.sanitize_commit.outputs.commit_long_sha }}
steps:
- uses: actions/checkout@v7
with:
@@ -90,6 +93,7 @@ jobs:
uses: ymwymw/check-mixed-line-endings@v2
- name: Commit sanitize changes
id: sanitize_commit
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
uses: EndBug/add-and-commit@v10
with:
@@ -407,20 +411,36 @@ jobs:
fetch-depth: 0
- name: Revert commits from this failed push
env:
BEFORE: ${{ github.event.before }}
HEAD_SHA: ${{ github.sha }}
SANITIZE_COMMITTED: ${{ needs.prebuild-sanitize.outputs.sanitizeCommitted }}
SANITIZE_SHA: ${{ needs.prebuild-sanitize.outputs.sanitizeCommitSha }}
run: |
set -euo pipefail
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
git fetch origin
git checkout master
git pull --ff-only origin master
git fetch origin master
before="${{ github.event.before }}"
if [ -n "$before" ] && [ "$before" != "0000000000000000000000000000000000000000" ]; then
mapfile -t commits < <(git rev-list "${before}..HEAD")
# Revert exactly the commits THIS push introduced (before..HEAD_SHA).
# Do not diff against the live master tip: concurrent pushes (e.g. the
# updater bot committing one addon per push) can land on master while
# this job is running, and a moving HEAD would sweep their unrelated,
# successful commits into the revert too.
if [ -n "$BEFORE" ] && [ "$BEFORE" != "0000000000000000000000000000000000000000" ]; then
mapfile -t commits < <(git rev-list "${BEFORE}..${HEAD_SHA}")
else
commits=("${{ github.sha }}")
commits=("$HEAD_SHA")
fi
# The prebuild-sanitize job may have pushed its own [nobuild] commit
# on top of HEAD_SHA earlier in this same run. It's still this push's
# own fallout (not a neighboring push's), so revert it explicitly by
# SHA rather than widening the range to "whatever is on master now."
# It must be reverted first, since it sits on top of HEAD_SHA.
if [ "$SANITIZE_COMMITTED" = "true" ] && [ -n "$SANITIZE_SHA" ]; then
commits=("$SANITIZE_SHA" "${commits[@]}")
fi
if [ "${#commits[@]}" -eq 0 ]; then
@@ -428,8 +448,27 @@ jobs:
exit 0
fi
git checkout -B master origin/master
for commit in "${commits[@]}"; do
git revert --no-edit "$commit"
done
git push origin HEAD:master
# Master may have moved again since we fetched (e.g. another
# concurrent updater push), so retry the push with a rebase.
for attempt in 1 2 3 4 5; do
if git push origin HEAD:master; then
exit 0
fi
echo "Push rejected, rebasing onto latest master (attempt ${attempt})"
git fetch origin master
if ! git rebase origin/master; then
git rebase --abort
echo "Rebase hit a real conflict against latest master; aborting" \
"rather than pushing a partial/broken revert. This needs a" \
"human to look at it." >&2
exit 1
fi
done
echo "Failed to push reverts after retries" >&2
exit 1

View File

@@ -92,11 +92,13 @@ The `env_vars` schema key enables the env-var passthrough mechanism. At runtime
Add-on versions in `config.yaml` closely follow the upstream release tag and do not conform to a single fixed format. Common patterns include:
- `X.Y.Z` – plain upstream semver (e.g. `0.137.0`)
- `X.Y.Z-N` – upstream version with a local patch counter (e.g. `0.6.26-2`)
- `X.Y.Z.N` – upstream version with a local patch counter (e.g. `0.6.26.2`)
- LSIO-style tags (e.g. `1.43.1.10611-1e34174b1-ls301`)
- Date-based versions (e.g. `2026.02.28`)
- Nightly builds (e.g. `nightly-20260321-397`)
For the local patch counter, use a dot (`X.Y.Z.N`), not a hyphen. `X.Y.Z-N` parses as a semver pre-release tag, which Home Assistant Supervisor treats as *older* than plain `X.Y.Z` — it will not offer the update. New and updated add-ons should use `.N`; existing `-N` versions should be migrated to `.N` opportunistically (e.g. when that add-on is next touched), not as a standalone repo-wide sweep.
When an upstream version is bumped, update `version` in `config.yaml`. If the add-on's `Dockerfile` contains an `ARG BUILD_UPSTREAM` line, update that value too — it is the canonical place that records the upstream version at build time (it is **not** stored in `build.json`/`build.yaml`). Some add-ons do not use `BUILD_UPSTREAM` at all. The `updater.json` file tracks which upstream source/repo to monitor and records the last seen version.
## updater.json Format

View File

@@ -1,4 +1,7 @@
## 2.0.0 (2026-07-22)
- Update to latest version from lklynet/aurral (changelog : https://github.com/lklynet/aurral/releases)
## 1.76.52 (2026-07-11)
- Update to latest version from lklynet/aurral (changelog : https://github.com/lklynet/aurral/releases)

View File

@@ -1,5 +1,5 @@
name: Aurral
version: "1.76.52"
version: "2.0.0"
slug: aurral
description: >-
Self-hosted music discovery, request management, flows, and playlist

View File

@@ -1,9 +1,9 @@
{
"last_update": "2026-07-11",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "aurral",
"source": "github",
"upstream_repo": "lklynet/aurral",
"upstream_version": "1.76.52",
"upstream_version": "2.0.0",
"github_beta": false
}

View File

@@ -1,3 +1,6 @@
## 2026.07.22 (22-07-2026)
- Fix: health-check the WebUI port (8081) instead of port 80, so the standalone Docker container no longer reports "unhealthy" when ssl=false
- Fix: health-check now probes https when ssl is enabled, and no longer silently reports "healthy" regardless of the actual result (the previous check's `&>` redirection is a bash-ism that dash, the image's /bin/sh, parses as background + no-op, discarding curl's exit status)
## 2026.07.10-1 (10-07-2026)
- Fix standalone (no-Supervisor) mode: strip `sudo` from BirdNET-Pi scripts at build time (the previous hook ran before the repo was cloned, so `sudo` remained and broke service/WebUI actions run by non-sudoers users such as `caddy`/`abc`)
- Ensure `/run/php` exists before starting PHP-FPM so the WebUI starts even when `/run` is a fresh tmpfs

View File

@@ -237,11 +237,19 @@ RUN \
mv /etc/nginx/nginx.conf.new /etc/nginx/nginx.conf; \
fi
ENV HEALTH_PORT="80" \
# Health-check the actual WebUI port. In standalone Docker (no Supervisor) nginx
# is disabled and Caddy serves the UI on 8081; nothing listens on port 80 when
# ssl=false, which made the container report "unhealthy" even though it worked.
# Select https when ssl is enabled (92-ssl.sh switches Caddy to https://:8081),
# and use -k since the probe hits 127.0.0.1 rather than the cert's real name.
# Note: the shell form's CMD runs under /bin/sh (dash here, not bash), so this
# avoids "&>" (a bash-only redirection dash parses as background + no-op,
# which silently discarded curl's exit status and made the check always pass).
ENV HEALTH_PORT="8081" \
HEALTH_URL=""
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl -A "HealthCheck: Docker/1.0" -s -f "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1
CMD scheme=http; case "${ssl:-false}" in true|TRUE|True|1|yes|YES|Yes|on|ON|On) scheme=https ;; esac; curl -A "HealthCheck: Docker/1.0" -s -k -f "${scheme}://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" >/dev/null 2>&1 || exit 1

View File

@@ -116,5 +116,5 @@ tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pi
usb: true
version: 2026.07.10.1
version: 2026.07.22
video: true

View File

@@ -1,4 +1,8 @@
## 1.33 (22-07-2026)
- Add cowork virtualization support: `qemu-system-x86` and `ovmf` (Bookworm main, installed via apt) plus `virtiofsd` for sharing the workspace into the sandbox microVM. `virtiofsd` is only packaged for Debian trixie/sid, not Bookworm or bookworm-backports, and its trixie `.deb` links a newer GLIBC than this add-on's Bookworm runtime — so it now gets built from the pinned crates.io release (`1.14.0`) in a dedicated `virtiofsd-builder` stage, the same GLIBC-safe pattern already used for `rtk` and `tokensave`. Its build deps (`libseccomp-dev`, `libcap-ng-dev`, `pkg-config`, `clang`, `libclang-dev`) live only in that builder stage; only the runtime shared libs (`libseccomp2`, `libcap-ng0`) ship in the final image. The built binary is validated with `--version` at build time alongside `rtk`/`tokensave`, so a GLIBC/ABI mismatch fails the image build instead of surfacing at container start. Docker itself is deliberately not installed: this base image already ships Docker-in-Docker (`docker-ce`/`containerd.io` from Docker's own apt repo, started via the pre-existing `START_DOCKER` env var) — an initial attempt to also `apt-get install docker.io` broke the build, since Debian's package pulls in `containerd`/`runc`, which apt refuses to install alongside the base image's already-installed `containerd.io` (`Conflicts`).
## ubunturesolute-version-8208e985 (2026-07-21)
- Update to latest version from linuxserver/docker-baseimage-selkies (changelog : https://github.com/linuxserver/docker-baseimage-selkies/releases)

View File

@@ -12,6 +12,7 @@ ARG BUILD_VERSION
ARG RTK_VERSION="v0.43.0"
ARG RTK_COMMIT="5a7880d404db8364d602f2ecdc41dd790f64013f"
ARG TOKENSAVE_VERSION="7.4.0"
ARG VIRTIOFSD_VERSION="1.14.0"
# The upstream aarch64 release is cross-built on ubuntu-latest and requires
# GLIBC 2.39. Build the pinned source on Bookworm instead so it is compatible
@@ -33,8 +34,27 @@ ARG TOKENSAVE_VERSION
RUN cargo install tokensave --version "${TOKENSAVE_VERSION}" --locked --root /out && \
/out/bin/tokensave --version
# virtiofsd is only packaged for Debian trixie/sid, not Bookworm or bookworm-backports;
# installing the trixie .deb on the Bookworm runtime would pull a binary linked against a
# newer GLIBC. Build the pinned crates.io release from source on Bookworm so the daemon's
# ABI matches the add-on runtime (same rationale as the rtk and tokensave builders above).
# Cowork shares the workspace into its qemu microVM through virtiofsd.
FROM rust:1.91-bookworm AS virtiofsd-builder
ARG VIRTIOFSD_VERSION
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libseccomp-dev \
libcap-ng-dev \
pkg-config \
clang \
libclang-dev && \
cargo install virtiofsd --version "${VIRTIOFSD_VERSION}" --locked --root /out && \
/out/bin/virtiofsd --version && \
rm -rf /var/lib/apt/lists/*
FROM ${BUILD_FROM}
ARG BUILD_ARCH
ARG TARGETARCH
##################
# 2 Modify Image #
@@ -85,6 +105,13 @@ RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; f
# Install Claude Desktop, Claude Code, Python tooling, and lightweight local validators.
# gnome-keyring provides the Secret Service backend Electron safeStorage needs to persist
# sign-in and dispatch grants.
# The cowork virtualization stack (qemu-system-x86 + ovmf firmware) lets Claude Code launch
# its sandbox microVM; libseccomp2 and libcap-ng0 are the shared libraries the source-built
# virtiofsd daemon links against at runtime. Docker itself is NOT installed here: this base
# image already ships Docker-in-Docker (docker-ce + containerd.io from Docker's own apt repo,
# started via the pre-existing START_DOCKER env var) — installing Debian's docker.io package
# on top pulls in Debian's own containerd/runc, which apt refuses because they Conflict with
# the base image's already-installed containerd.io.
RUN install -d -m 0755 /etc/apt/keyrings && \
curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc && \
curl -fsSLo /etc/apt/keyrings/claude-code.asc https://downloads.claude.ai/keys/claude-code.asc && \
@@ -102,7 +129,11 @@ RUN install -d -m 0755 /etc/apt/keyrings && \
ripgrep \
jq \
shellcheck \
yamllint && \
yamllint \
qemu-system-x86 \
ovmf \
libseccomp2 \
libcap-ng0 && \
test -x /usr/bin/claude && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
@@ -112,10 +143,10 @@ ARG HADOLINT_VERSION=v2.14.0
ARG ACTIONLINT_VERSION=v1.7.12
RUN set -eux; \
case "${BUILD_ARCH}" in \
case "${TARGETARCH}" in \
amd64) hadolint_arch="x86_64"; actionlint_arch="amd64" ;; \
aarch64) hadolint_arch="arm64"; actionlint_arch="arm64" ;; \
*) echo "Unsupported validation-tools architecture: ${BUILD_ARCH}" >&2; exit 1 ;; \
arm64) hadolint_arch="arm64"; actionlint_arch="arm64" ;; \
*) echo "Unsupported validation-tools architecture: ${TARGETARCH}" >&2; exit 1 ;; \
esac; \
curl -fsSL --retry 3 --retry-delay 2 \
-o /usr/local/bin/hadolint \
@@ -134,7 +165,10 @@ RUN set -eux; \
# image. This makes an ABI mismatch fail the image build instead of surfacing at runtime.
COPY --from=rtk-builder /out/rtk /usr/local/bin/rtk
COPY --from=tokensave-builder /out/bin/tokensave /usr/local/bin/tokensave
RUN /usr/local/bin/rtk --version && /usr/local/bin/tokensave --version
COPY --from=virtiofsd-builder /out/bin/virtiofsd /usr/bin/virtiofsd
RUN /usr/local/bin/rtk --version && \
/usr/local/bin/tokensave --version && \
/usr/bin/virtiofsd --version
# Install only the Headroom proxy, code-compression, and MCP features used by this add-on,
# plus mcp-proxy (stdio->HTTP bridge for the Home Assistant MCP server) and uv (fast

View File

@@ -9,6 +9,8 @@ devices:
- /dev/dri/card1
- /dev/dri/renderD128
- /dev/fuse
- /dev/kvm
- /dev/vhost-vsock
environment:
AUTO_GPU: "1"
FM_HOME: /data/data
@@ -110,5 +112,5 @@ slug: claude_desktop
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "ubunturesolute-version-8208e985"
version: "1.33"
video: true

View File

@@ -1,4 +1,7 @@
## debian-2026-07-20 (2026-07-20)
- Update to latest version from charlocharlie/epicgames-freegames
## debian-2026-06-21 (2026-06-21)
- Update to latest version from charlocharlie/epicgames-freegames
## debian-2026-06-05 (2026-06-05)

View File

@@ -88,5 +88,5 @@ schema:
slug: epicgamesfree
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "debian-2026-06-21"
version: "debian-2026-07-20"
webui: "[PROTO:ssl]://[HOST]:[PORT:3000]"

View File

@@ -2,10 +2,10 @@
"dockerhub_by_date": true,
"dockerhub_list_size": 2,
"github_exclude": "-",
"last_update": "2026-06-21",
"last_update": "2026-07-20",
"repository": "alexbelgium/hassio-addons",
"slug": "epicgamesfree",
"source": "dockerhub",
"upstream_repo": "charlocharlie/epicgames-freegames",
"upstream_version": "debian-2026-06-21"
"upstream_version": "debian-2026-07-20"
}

View File

@@ -1,3 +1,7 @@
## 2.63.18.4 (22-07-2026)
- Minor bugs fixed
## 2.63.18.3 (22-07-2026)
- New flag added : follow_external_symlinks
## 2.63.18 (2026-07-04)
- Update to latest version from filebrowser/filebrowser (changelog : https://github.com/filebrowser/filebrowser/releases)

View File

@@ -134,4 +134,4 @@ HEALTHCHECK \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl -A "HealthCheck: Docker/1.0" -s -f "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || curl -k --fail "https://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1
CMD if [ "$ssl" = "true" ]; then curl -f -k https://127.0.01:${HEALTH_PORT}${HEALTH_URL}; else curl -f http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}/; fi

View File

@@ -95,6 +95,7 @@ options:
NoAuth: true
certfile: fullchain.pem
disable_thumbnails: true
follow_external_symlinks: true
keyfile: privkey.pem
ssl: false
panel_admin: false
@@ -117,6 +118,7 @@ schema:
cifspassword: str?
cifsusername: str?
disable_thumbnails: bool?
follow_external_symlinks: bool?
keyfile: str
localdisks: str?
networkdisks: str?
@@ -124,4 +126,4 @@ schema:
slug: filebrowser
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "2.63.18"
version: "2.63.18.4"

View File

@@ -105,6 +105,12 @@ else
DISABLE_THUMBNAILS=""
fi
# Disable thumbnails
if bashio::config.true 'follow_external_symlinks'; then
FOLLOW_SYMLINKS="--followExternalSymlinks"
else
FOLLOW_SYMLINKS=""
fi
# Remove configuration file
if [ -f /.filebrowser.json ]; then
rm /.filebrowser.json
@@ -113,7 +119,7 @@ fi
bashio::log.info "Starting..."
# shellcheck disable=SC2086
/./bin/filebrowser --disablePreviewResize --disableTypeDetectionByHeader --cacheDir="/cache" $CERTFILE $KEYFILE --root="$BASE_FOLDER" --address=0.0.0.0 --port=8080 --database=/config/filebrowser.dB ${NOAUTH:+$NOAUTH} ${DISABLE_THUMBNAILS:+$DISABLE_THUMBNAILS} &
/./bin/filebrowser --disablePreviewResize --disableTypeDetectionByHeader --cacheDir="/cache" $CERTFILE $KEYFILE --root="$BASE_FOLDER" --address=0.0.0.0 --port=8080 --database=/config/filebrowser.dB ${FOLLOW_SYMLINKS:+$FOLLOW_SYMLINKS} ${NOAUTH:+$NOAUTH} ${DISABLE_THUMBNAILS:+$DISABLE_THUMBNAILS} &
bashio::net.wait_for 8080 localhost 900 || true
bashio::log.info "Started !"
nginx || bashio::log.fatal "Nginx failed"

View File

@@ -1,3 +1,6 @@
## 1.5.0 (2026-07-22)
- Update to latest version from gtsteffaniak/filebrowser (changelog : https://github.com/gtsteffaniak/filebrowser/releases)
## 1.4.0-2 (16-07-2026)
- Minor bugs fixed

View File

@@ -114,4 +114,4 @@ schema:
slug: filebrowser_quantum
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "1.4.0.2"
version: "1.5.0"

View File

@@ -1,10 +1,10 @@
{
"github_beta": "false",
"last_update": "2026-06-20",
"last_update": "2026-07-22",
"paused": false,
"repository": "alexbelgium/hassio-addons",
"slug": "filebrowser_quantum",
"source": "github",
"upstream_repo": "gtsteffaniak/filebrowser",
"upstream_version": "1.4.0"
"upstream_version": "1.5.0"
}

View File

@@ -1,4 +1,7 @@
## 3.19.28 (2026-07-22)
- Update to latest version from wiserain/flexget
## 3.19.26 (2026-07-04)
- Update to latest version from wiserain/flexget

View File

@@ -95,5 +95,5 @@ schema:
slug: flexget
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "3.19.26"
version: "3.19.28"
webui: "[PROTO:ssl]://[HOST]:[PORT:5050]"

View File

@@ -1,9 +1,9 @@
{
"dockerhub_list_size": "10",
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "flexget",
"source": "dockerhub",
"upstream_repo": "wiserain/flexget",
"upstream_version": "3.19.26"
"upstream_version": "3.19.28"
}

View File

@@ -1,3 +1,6 @@
## 1.27.0 (2026-07-22)
- Update to latest version from go-gitea/gitea (changelog : https://github.com/go-gitea/gitea/releases)
## 1.27 (15-07-2026)
- Fix the Gitea add-on HEALTHCHECK to work correctly when SSL is enabled, so Home Assistant can accurately report the add-on's health status regardless of whether the instance uses HTTP or HTTPS.

View File

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

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-06-23",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "gitea",
"source": "github",
"upstream_repo": "go-gitea/gitea",
"upstream_version": "1.26.4"
"upstream_version": "1.27.0"
}

View File

@@ -1,4 +1,7 @@
## 26.7.0 (2026-07-22)
- Update to latest version from gramps-project/gramps-web (changelog : https://github.com/gramps-project/gramps-web/releases)
## 26.6.2 (2026-06-23)
- Update to latest version from gramps-project/gramps-web (changelog : https://github.com/gramps-project/gramps-web/releases)

View File

@@ -115,5 +115,5 @@ services:
slug: grampsweb
tmpfs: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/grampsweb
version: "26.6.2"
version: "26.7.0"
webui: "[PROTO:ssl]://[HOST]:[PORT:5001]"

View File

@@ -1,9 +1,9 @@
{
"github_beta": true,
"last_update": "2026-06-23",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "grampsweb",
"source": "github",
"upstream_repo": "gramps-project/gramps-web",
"upstream_version": "26.6.2"
"upstream_version": "26.7.0"
}

View File

@@ -1,4 +1,7 @@
## 2.0.12 (2026-07-22)
- Update to latest version from linuxserver/docker-grav (changelog : https://github.com/linuxserver/docker-grav/releases)
## 2.0.6 (2026-07-04)
- Update to latest version from linuxserver/docker-grav (changelog : https://github.com/linuxserver/docker-grav/releases)

View File

@@ -16,7 +16,7 @@
ARG BUILD_FROM
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="2.0.6"
ARG BUILD_UPSTREAM="2.0.12"
FROM ${BUILD_FROM}
##################

View File

@@ -89,5 +89,5 @@ schema:
slug: grav
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "2.0.6"
version: "2.0.12"
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"

View File

@@ -1,9 +1,9 @@
{
"github_beta": false,
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "grav",
"source": "github",
"upstream_repo": "linuxserver/docker-grav",
"upstream_version": "2.0.6"
"upstream_version": "2.0.12"
}

View File

@@ -1,3 +1,6 @@
## 3.0.3 (2026-07-22)
- Update to latest version from immich-app/immich (changelog : https://github.com/immich-app/immich/releases)
## 3.0.1-2 (04-07-2026)
- Minor bugs fixed
## 3.0.1 (2026-07-04)

View File

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

View File

@@ -1,10 +1,10 @@
{
"github_beta": "false",
"github_exclude": "",
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "immich",
"source": "github",
"upstream_repo": "immich-app/immich",
"upstream_version": "3.0.1"
"upstream_version": "3.0.3"
}

View File

@@ -1,3 +1,6 @@
## 3.0.3 (2026-07-22)
- Update to latest version from immich-app/immich (changelog : https://github.com/immich-app/immich/releases)
## 3.0.1-2 (04-07-2026)
- Minor bugs fixed

View File

@@ -139,6 +139,6 @@ slug: immich_cuda
udev: true
url: https://github.com/alexbelgium/hassio-addons
usb: true
version: "3.0.1.2"
version: "3.0.3"
video: true
webui: http://[HOST]:[PORT:8080]

View File

@@ -1,10 +1,10 @@
{
"github_beta": "false",
"github_exclude": "",
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "immich",
"source": "github",
"upstream_repo": "immich-app/immich",
"upstream_version": "3.0.1"
"upstream_version": "3.0.3"
}

View File

@@ -1,4 +1,7 @@
## 1.0.37.0 (2026-07-22)
- Update to latest version from immichFrame/ImmichFrame (changelog : https://github.com/immichFrame/ImmichFrame/releases)
## 1.0.34.0 (2026-07-04)
- Update to latest version from immichFrame/ImmichFrame (changelog : https://github.com/immichFrame/ImmichFrame/releases)

View File

@@ -70,5 +70,5 @@ schema:
RefreshAlbumPeopleInterval: int?
slug: immich_frame
url: https://github.com/alexbelgium/hassio-addons
version: "1.0.34.0"
version: "1.0.37.0"
webui: http://[HOST]:[PORT:8080]

View File

@@ -1,9 +1,9 @@
{
"github_beta": "false",
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "immich_frame",
"source": "github",
"upstream_repo": "immichFrame/ImmichFrame",
"upstream_version": "1.0.34.0"
"upstream_version": "1.0.37.0"
}

View File

@@ -1,3 +1,6 @@
## 3.0.3 (2026-07-22)
- Update to latest version from immich-app/immich (changelog : https://github.com/immich-app/immich/releases)
## 3.0.1-2 (04-07-2026)
- Minor bugs fixed

View File

@@ -140,6 +140,6 @@ slug: immich_noml
udev: true
url: https://github.com/alexbelgium/hassio-addons
usb: true
version: "3.0.1.2"
version: "3.0.3"
video: true
webui: http://[HOST]:[PORT:8080]

View File

@@ -1,10 +1,10 @@
{
"github_beta": "false",
"github_exclude": "",
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "immich",
"source": "github",
"upstream_repo": "immich-app/immich",
"upstream_version": "3.0.1"
"upstream_version": "3.0.3"
}

View File

@@ -1,3 +1,6 @@
## 3.0.3 (2026-07-22)
- Update to latest version from immich-app/immich (changelog : https://github.com/immich-app/immich/releases)
## 3.0.1-2 (04-07-2026)
- Minor bugs fixed
## 3.0.1 (2026-07-04)

View File

@@ -140,6 +140,6 @@ slug: immich_openvino
udev: true
url: https://github.com/alexbelgium/hassio-addons
usb: true
version: "3.0.1.2"
version: "3.0.3"
video: true
webui: http://[HOST]:[PORT:8080]

View File

@@ -1,10 +1,10 @@
{
"github_beta": "false",
"github_exclude": "",
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "immich",
"source": "github",
"upstream_repo": "immich-app/immich",
"upstream_version": "3.0.1"
"upstream_version": "3.0.3"
}

View File

@@ -1,4 +1,7 @@
## 0.24.2251 (2026-07-22)
- Update to latest version from linuxserver/docker-jackett (changelog : https://github.com/linuxserver/docker-jackett/releases)
## 0.24.2166 (2026-07-04)
- Update to latest version from linuxserver/docker-jackett (changelog : https://github.com/linuxserver/docker-jackett/releases)

View File

@@ -106,5 +106,5 @@ schema:
slug: jackett_nas
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/jackett
version: "0.24.2166"
version: "0.24.2251"
webui: http://[HOST]:[PORT:9117]

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "jackett",
"source": "github",
"upstream_repo": "linuxserver/docker-jackett",
"upstream_version": "0.24.2166"
"upstream_version": "0.24.2251"
}

View File

@@ -1,3 +1,6 @@
## 2.15.1 (2026-07-22)
- Update to latest version from linkwarden/linkwarden (changelog : https://github.com/linkwarden/linkwarden/releases)
## 2.14.1 (2026-04-23)
- Update to latest version from linkwarden/linkwarden (changelog : https://github.com/linkwarden/linkwarden/releases)

View File

@@ -45,5 +45,5 @@ schema:
STORAGE_FOLDER: str?
slug: linkwarden
url: https://github.com/alexbelgium/hassio-addons/tree/master/linkwarden
version: "2.14.1"
version: "2.15.1"
webui: "[PROTO:ssl]://[HOST]:[PORT:3000]"

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-04-23",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "linkwarden",
"source": "github",
"upstream_repo": "linkwarden/linkwarden",
"upstream_version": "2.14.1"
"upstream_version": "2.15.1"
}

View File

@@ -1,4 +1,7 @@
## 3.18.0 (2026-07-22)
- Update to latest version from maintainerr/maintainerr (changelog : https://github.com/maintainerr/maintainerr/releases)
## 3.16.0 (2026-07-04)
- Update to latest version from maintainerr/maintainerr (changelog : https://github.com/maintainerr/maintainerr/releases)

View File

@@ -11,7 +11,7 @@
#=== Home Assistant Addon ===#
# ARGs used in FROM must be declared before any FROM instruction
ARG BUILD_UPSTREAM="3.16.0"
ARG BUILD_UPSTREAM="3.18.0"
############################
# 0) Tools stage #

View File

@@ -88,5 +88,5 @@ schema:
TZ: str?
slug: maintainerr
url: https://github.com/alexbelgium/hassio-addons/tree/master/maintainerr
version: "3.16.0"
version: "3.18.0"
webui: "[PROTO:ssl]://[HOST]:[PORT:6246]"

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-07-04",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "maintainerr",
"source": "github",
"upstream_repo": "maintainerr/maintainerr",
"upstream_version": "3.16.0"
"upstream_version": "3.18.0"
}

View File

@@ -1,4 +1,7 @@
## nightly-2.5.2.5487-ls8 (2026-07-22)
- Update to latest version from linuxserver/docker-prowlarr (changelog : https://github.com/linuxserver/docker-prowlarr/releases)
## nightly-2.5.1.5478-ls7 (2026-07-18)
- Update to latest version from linuxserver/docker-prowlarr (changelog : https://github.com/linuxserver/docker-prowlarr/releases)

View File

@@ -110,4 +110,4 @@ schema:
slug: prowlarr
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "nightly-2.5.1.5478-ls7"
version: "nightly-2.5.2.5487-ls8"

View File

@@ -1,10 +1,10 @@
{
"github_beta": "true",
"github_fulltag": "true",
"last_update": "2026-07-18",
"last_update": "2026-07-22",
"repository": "alexbelgium/hassio-addons",
"slug": "prowlarr",
"source": "github",
"upstream_repo": "linuxserver/docker-prowlarr",
"upstream_version": "nightly-2.5.1.5478-ls7"
"upstream_version": "nightly-2.5.2.5487-ls8"
}