Merge branch 'master' into agent/fix-claude-rtk-arm64

This commit is contained in:
Alexandre
2026-07-12 19:12:06 +02:00
committed by GitHub
37 changed files with 126 additions and 67 deletions

View File

@@ -162,6 +162,7 @@ DARKNAGAN,France
DDanii,
DMurzNN,
DUC750,
DY-hub,
DaFlowah,
DaJonas94,
Daafip,Netherlands
@@ -238,6 +239,7 @@ EtienneMD,
Evel270,
Everestlion,
EvertJob,
Exlatis,
Extrunder,
F0264,
F4bsi,Germany
@@ -563,6 +565,7 @@ PhoenixTwoFive,Germany
PhysShell,
PierreNa,France
PietroSpina,
Pingmin,
PiotrKrzyzek,United States
PiratesGhost,
Pixelzeus,
@@ -897,10 +900,12 @@ antorimba,
antx-code,
anyezhe,
aorosora,
araminimichael,
arbal,United States
ardemk,
ared469,
arethefreshest,
arozoire,
arpit-mehra,
artemave,France
artemdanielov,
@@ -1156,6 +1161,7 @@ danbruno,
danctrl,Germany
danez,United States
danieldotnl,Netherlands
danishru,
dannybeeckman,
dannybloomfield,United States
danveitch76,
@@ -1744,6 +1750,7 @@ ljsquare,
llabourdeth,
llewy,
llfjahn,
llugo,
lmalmoreno,Brazil
lnrdmx,
loc4t3llix,
@@ -2050,6 +2057,7 @@ pedrolicassali,
pedromfa,
pedrware,Portugal
peeetek,
peggleg,
pejannl,
pem884,United States
pepelatc,
@@ -2273,6 +2281,7 @@ skalingclouds,United States
skamaleo,
skavieller,
skipper00,
skoducks,United States
skylidefr,
skynet-network,
slimehands,
@@ -2532,6 +2541,7 @@ williamcorsel,Netherlands
willigenburggihaux,
willnewcombe,United Kingdom
wimb0,
wingerasc,
witold-gren,Poland
wonderfulhuber,
wonkygecko,United States
1 username country
162 DDanii
163 DMurzNN
164 DUC750
165 DY-hub
166 DaFlowah
167 DaJonas94
168 Daafip Netherlands
239 Evel270
240 Everestlion
241 EvertJob
242 Exlatis
243 Extrunder
244 F0264
245 F4bsi Germany
565 PhysShell
566 PierreNa France
567 PietroSpina
568 Pingmin
569 PiotrKrzyzek United States
570 PiratesGhost
571 Pixelzeus
900 antx-code
901 anyezhe
902 aorosora
903 araminimichael
904 arbal United States
905 ardemk
906 ared469
907 arethefreshest
908 arozoire
909 arpit-mehra
910 artemave France
911 artemdanielov
1161 danctrl Germany
1162 danez United States
1163 danieldotnl Netherlands
1164 danishru
1165 dannybeeckman
1166 dannybloomfield United States
1167 danveitch76
1750 llabourdeth
1751 llewy
1752 llfjahn
1753 llugo
1754 lmalmoreno Brazil
1755 lnrdmx
1756 loc4t3llix
2057 pedromfa
2058 pedrware Portugal
2059 peeetek
2060 peggleg
2061 pejannl
2062 pem884 United States
2063 pepelatc
2281 skamaleo
2282 skavieller
2283 skipper00
2284 skoducks United States
2285 skylidefr
2286 skynet-network
2287 slimehands
2541 willigenburggihaux
2542 willnewcombe United Kingdom
2543 wimb0
2544 wingerasc
2545 witold-gren Poland
2546 wonderfulhuber
2547 wonkygecko United States

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 331 KiB

View File

@@ -56,19 +56,19 @@ If you want to do add the repository manually, please follow the procedure highl
### Number of addons
- In the repository : 135
- Installed : 508490
- In the repository : 136
- Installed : 626324
### Top 3
1. Arpspoof (59486x)
2. Sponsorblockcast (55582x)
3. Flaresolverr (44486x)
1. Arpspoof (86665x)
2. Sponsorblockcast (82801x)
3. Jellyfin (71957x)
### Architectures used
- amd64: 88%
- aarch64: 12%
- amd64: 90%
- aarch64: 10%
### Stars evolution
@@ -77,7 +77,7 @@ If you want to do add the repository manually, please follow the procedure highl
## Add-ons provided by this repository
%%ADDONS_LIST%%
✓ [Arpspoof (59486x)](arpspoof/) : block internet connection for local network devices
✓ [Arpspoof (86665x)](arpspoof/) : block internet connection for local network devices
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Farpspoof%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Farpspoof%2Fupdater.json)
@@ -143,6 +143,17 @@ If you want to do add the repository manually, please follow the procedure highl
![amd64][amd64-badge]
![ingress][ingress-badge]
✓ ![image](https://api.iconify.design/mdi/bird.svg) [BirdNET-Pi (zach7036)](birdnet-pi-zach/) : Realtime acoustic bird classification system
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbirdnet-pi-zach%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbirdnet-pi-zach%2Fupdater.json)
![aarch64][aarch64-badge]
![amd64][amd64-badge]
![ingress][ingress-badge]
![mqtt][mqtt-badge]
![smb][smb-badge]
![localdisks][localdisks-badge]
✓ ![image](https://api.iconify.design/mdi/bird.svg) [BirdNET-PiPy](birdnet-pipy/) : BirdNET-PiPy bird detection with a modern web dashboard
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbirdnet-pipy%2Fconfig.yaml)
@@ -247,7 +258,7 @@ If you want to do add the repository manually, please follow the procedure highl
![amd64][amd64-badge]
![ingress][ingress-badge]
✓ ![image](https://api.iconify.design/mdi/robot-happy.svg) [Claude Desktop](claude_desktop/) : Claude Desktop streamed through a browser with LinuxServer Selkies
✓ ![image](https://api.iconify.design/mdi/robot-happy.svg) [Claude Desktop](claude_desktop/) : Claude Desktop with a persistent Claude Code web terminal in one add-on
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fclaude_desktop%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fclaude_desktop%2Fupdater.json)
@@ -508,7 +519,7 @@ If you want to do add the repository manually, please follow the procedure highl
![smb][smb-badge]
![localdisks][localdisks-badge]
✓ ![image](https://api.iconify.design/mdi/billiards-rack.svg) [Jellyfin NAS](jellyfin/) : A free Software Media System that puts you in control of managing and streaming your media
✓ ![image](https://api.iconify.design/mdi/billiards-rack.svg) [Jellyfin (71957x) NAS](jellyfin/) : A free Software Media System that puts you in control of managing and streaming your media
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fjellyfin%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fjellyfin%2Fupdater.json)
@@ -571,7 +582,7 @@ If you want to do add the repository manually, please follow the procedure highl
![aarch64][aarch64-badge]
![amd64][amd64-badge]
✓ ![image](https://api.iconify.design/mdi/movie-search.svg) [Maintainerr](maintainerr/) : Rule-based media cleanup tool for Plex, Jellyfin and Emby. Creates collections and optionally deletes unwatched content.
✓ ![image](https://api.iconify.design/mdi/movie-search.svg) [Maintainerr](maintainerr/) : Rule-based media cleanup tool for Plex, Jellyfin (71957x) and Emby. Creates collections and optionally deletes unwatched content.
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fmaintainerr%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fmaintainerr%2Fupdater.json)
@@ -885,7 +896,7 @@ If you want to do add the repository manually, please follow the procedure highl
![smb][smb-badge]
![localdisks][localdisks-badge]
✓ ![image](https://api.iconify.design/mdi/movie-search.svg) [Seerr](seerr/) : Open-source media request and discovery manager for Jellyfin, Plex, and Emby
✓ ![image](https://api.iconify.design/mdi/movie-search.svg) [Seerr](seerr/) : Open-source media request and discovery manager for Jellyfin (71957x), Plex, and Emby
  ![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fseerr%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fseerr%2Fupdater.json)

View File

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

View File

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

View File

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

View File

@@ -1,3 +1,6 @@
## 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
## 2026.07.10 (10-07-2026)
- Minor bugs fixed
## 2026.06.01 (19-06-2026)

View File

@@ -74,17 +74,6 @@ RUN \
curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/BirdNET-Pi/main/newinstaller.sh" -o /newinstaller.sh && \
chmod 777 /newinstaller.sh && \
\
# Use installer to modify other scripts
#######################################
# Define file
sed -i "1a /./newinstallermod.sh" /newinstaller.sh && \
echo '#!/bin/bash' >> /newinstallermod.sh && \
# Remove all instances of sudo from all other scripts
echo 'for file in $(grep -srl "sudo" $HOME/BirdNET-Pi/scripts); do sed -i "s|sudo ||" "$file"; done' >> /newinstallermod.sh && \
echo 'for file in $(grep -srl "my_dir" $HOME/BirdNET-Pi/scripts); do sed -i "s|\$my_dir|/config|" "$file"; done' >> /newinstallermod.sh && \
# Set permission
chmod +x /newinstallermod.sh && \
\
# Modify installer
##################
# Use my repository
@@ -110,6 +99,16 @@ RUN \
# Execute installer
/./newinstaller.sh && \
\
# Remove sudo from the installed BirdNET-Pi scripts.
# Inside the container everything already runs with the privileges it needs
# (root during init, user "pi" for the services), so "sudo" is never required.
# Leaving it in breaks any script invoked by a user that is not in sudoers -
# e.g. php-fpm's "caddy" user driving the WebUI System Controls, or the "abc"
# user - which is what prevented BirdNET-Pi from working in standalone
# (no-Supervisor) mode. This must run AFTER the installer has cloned the repo;
# the previous build-time hook ran before the clone and was therefore a no-op.
for file in $(grep -srlF "sudo " "$HOME/BirdNET-Pi/scripts"); do sed -i "s|sudo ||g" "$file"; done && \
\
# Install dateparser and resampy, upgrade numpy
$PYTHON_VIRTUAL_ENV /usr/bin/pip3 install dateparser resampy && \
\

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
version: 2026.07.10-1
video: true

View File

@@ -4,6 +4,14 @@
# Correct /config permissions after startup
chown pi:pi /config
# Ensure the PHP-FPM runtime directory exists. It is normally created by
# systemd-tmpfiles (/usr/lib/tmpfiles.d/php*-fpm.conf), which does not run in
# this container - so on a fresh/tmpfs /run the socket cannot be bound and the
# WebUI never starts. Create it here so the web stack works with or without
# Home Assistant Supervisor.
mkdir -p /run/php
chown www-data:www-data /run/php 2> /dev/null || true
# Set timezone without requiring Home Assistant Supervisor or D-Bus.
TZ_VALUE="${TZ:-}"
if [[ -S /var/run/dbus/system_bus_socket ]] && command -v timedatectl > /dev/null 2>&1; then

View File

@@ -1,4 +1,7 @@
## 0.8.3 (2026-07-11)
- Update to latest version from Suncuss/BirdNET-PiPy (changelog : https://github.com/Suncuss/BirdNET-PiPy/releases)
## 0.8.2.1 (2026-07-05)
- Re-tag of 0.8.2-1 with no content change. Home Assistant compares add-on versions with semver semantics, where a `-N` suffix counts as a *pre-release* and sorts **below** the base version — so users already on 0.8.2 saw the 0.8.2-1 nginx fix as "Up-to-date" with the Update button disabled. Four-segment `0.8.2.1` sorts above both `0.8.2` and `0.8.2-1` (and below the next upstream `0.8.3`), so the update becomes installable everywhere.

View File

@@ -96,4 +96,4 @@ schema:
ssl: bool?
slug: birdnet-pipy
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pipy
version: "0.8.2.1"
version: "0.8.3"

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-07-04",
"last_update": "2026-07-11",
"repository": "alexbelgium/hassio-addons",
"slug": "birdnet-pipy",
"source": "github",
"upstream_repo": "Suncuss/BirdNET-PiPy",
"upstream_version": "0.8.2"
"upstream_version": "0.8.3"
}

View File

@@ -1,4 +1,7 @@
## 1.92.139-ls112 (2026-07-11)
- Update to latest version from linuxserver/docker-brave (changelog : https://github.com/linuxserver/docker-brave/releases)
## 1.92.134-ls109 (2026-07-04)
- Update to latest version from linuxserver/docker-brave (changelog : https://github.com/linuxserver/docker-brave/releases)

View File

@@ -69,5 +69,5 @@ slug: brave
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "1.92.134-ls109"
version: "1.92.139-ls112"
video: true

View File

@@ -1,9 +1,9 @@
{
"github_fulltag": "true",
"last_update": "2026-07-04",
"last_update": "2026-07-11",
"repository": "alexbelgium/hassio-addons",
"slug": "brave",
"source": "github",
"upstream_repo": "linuxserver/docker-brave",
"upstream_version": "1.92.134-ls109"
"upstream_version": "1.92.139-ls112"
}

View File

@@ -1,4 +1,7 @@
## version-30a7c401 (2026-07-11)
- Update to latest version from linuxserver/docker-chromium (changelog : https://github.com/linuxserver/docker-chromium/releases)
## version-7148c2a3 (2026-07-04)
- Update to latest version from linuxserver/docker-chromium (changelog : https://github.com/linuxserver/docker-chromium/releases)

View File

@@ -71,5 +71,5 @@ slug: chromium
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "version-7148c2a3"
version: "version-30a7c401"
video: true

View File

@@ -1,9 +1,9 @@
{
"github_fulltag": "true",
"last_update": "2026-07-04",
"last_update": "2026-07-11",
"repository": "alexbelgium/hassio-addons",
"slug": "chromium",
"source": "github",
"upstream_repo": "linuxserver/docker-chromium",
"upstream_version": "version-7148c2a3"
"upstream_version": "version-30a7c401"
}

View File

@@ -5,6 +5,8 @@
- Validate the final Bookworm-built RTK binary in a native aarch64 image build.
- Correct the repository PR checks so changed changelog paths are exported and aarch64 images are built explicitly for `linux/arm64`.
## debiantrixie-version-c55d3809 (2026-07-11)
- Update to latest version from linuxserver/docker-baseimage-selkies (changelog : https://github.com/linuxserver/docker-baseimage-selkies/releases)
## 1.13 (10-07-2026)
- Add the official Claude Code stable package, `tmux`, `ripgrep`, and a pinned upstream `ttyd` binary for both supported architectures.

View File

@@ -45,7 +45,7 @@ VOLUME [ "/sys/fs/cgroup" ]
# hadolint ignore=SC2015,DL4006,SC2013,SC2086
RUN \
usermod --home /data/data abc && \
if [[ -d /etc/services.d ]] && ls /etc/services.d/*/run 1> /dev/null 2>&1; then sed -i "1a set +e" /etc/services.d/*/run; fi
if [[ -d /etc/services.d ]] && ls /etc/services.d/*/run 1> /dev/"debiantrixie-version-c55d3809" 2>&1; then sed -i "1a set +e" /etc/services.d/*/run; fi
ARG TEMPLATE_BASE_URL="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates"

View File

@@ -57,8 +57,8 @@ options:
panel_admin: false
panel_icon: mdi:robot-happy
ports:
3001/tcp: null
7681/tcp: null
3001/tcp: "debiantrixie-version-c55d3809"
7681/tcp: "debiantrixie-version-c55d3809"
8787/tcp: 8787
ports_description:
3001/tcp: Claude Desktop web interface

View File

@@ -3,5 +3,7 @@
"upstream_repo": "linuxserver/docker-baseimage-selkies",
"github_fulltag": true,
"slug": "claude_desktop",
"paused": false
"paused": false,
"upstream_version": "debiantrixie-version-c55d3809",
"last_update": "2026-07-11"
}

View File

@@ -1,4 +1,7 @@
## 2.9.16 (2026-07-11)
- Update to latest version from Cleanuparr/Cleanuparr (changelog : https://github.com/Cleanuparr/Cleanuparr/releases)
## 2.9.14 (2026-06-20)
- Update to latest version from Cleanuparr/Cleanuparr (changelog : https://github.com/Cleanuparr/Cleanuparr/releases)

View File

@@ -11,7 +11,7 @@
#=== Home Assistant Addon ===#
# ARGs used in FROM must be declared before any FROM instruction
ARG BUILD_UPSTREAM="2.9.14"
ARG BUILD_UPSTREAM="2.9.16"
#################
# 1 Build Image #

View File

@@ -91,5 +91,5 @@ schema:
TZ: str?
slug: cleanuparr
url: https://github.com/alexbelgium/hassio-addons/tree/master/cleanuparr
version: "2.9.14"
version: "2.9.16"
webui: "[PROTO:ssl]://[HOST]:[PORT:11011]"

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-06-20",
"last_update": "2026-07-11",
"repository": "alexbelgium/hassio-addons",
"slug": "cleanuparr",
"source": "github",
"upstream_repo": "Cleanuparr/Cleanuparr",
"upstream_version": "2.9.14"
"upstream_version": "2.9.16"
}

View File

@@ -1,4 +1,7 @@
## 2.1.2 (2026-07-11)
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)
## 2.1.0 (2026-07-04)
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)

View File

@@ -101,4 +101,4 @@ schema:
slug: codex
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "2.1.0"
version: "2.1.2"

View File

@@ -1,9 +1,9 @@
{
"github_beta": "true",
"last_update": "2026-07-04",
"last_update": "2026-07-11",
"repository": "alexbelgium/hassio-addons",
"slug": "codex",
"source": "github",
"upstream_repo": "ajslater/codex",
"upstream_version": "2.1.0"
"upstream_version": "2.1.2"
}

View File

@@ -1,4 +1,7 @@
## 4.10.0.18 (2026-07-11)
- Update to latest version from linuxserver/docker-emby (changelog : https://github.com/linuxserver/docker-emby/releases)
## 4.10.0.17 (2026-07-04)
- Update to latest version from linuxserver/docker-emby (changelog : https://github.com/linuxserver/docker-emby/releases)

View File

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

View File

@@ -122,5 +122,5 @@ schema:
slug: emby_nas
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/emby
version: "4.10.0.17"
version: "4.10.0.18"
video: true

View File

@@ -1,9 +1,9 @@
{
"github_beta": "true",
"last_update": "2026-07-04",
"last_update": "2026-07-11",
"repository": "alexbelgium/hassio-addons",
"slug": "emby",
"source": "github",
"upstream_repo": "linuxserver/docker-emby",
"upstream_version": "4.10.0.17"
"upstream_version": "4.10.0.18"
}

View File

@@ -1,15 +1,13 @@
## 2.14.1 (19-06-2026)
- Minor bugs fixed
# Changelog
## 2.14.1
## 2.14.1-1 (11-07-2026)
- Persist Let's Encrypt certificates across restarts by symlinking /etc/letsencrypt to /data/letsencrypt (#2828) — thanks to @crazyrokr for reporting and suggesting the fix
## 2.14.1 (19-06-2026)
- Fix startup failure on aarch64/HAos: "/usr/bin/env: 'bash': Permission denied" (#2777)
- Add s6-overlay/env/with-contenv exec rules to AppArmor profile
## 2.14.0
- Minor bugs fixed
## 2.14.0
## 2.14.0 (01-05-2026)
- Initial release wrapping jc21/nginx-proxy-manager:latest
- NPM Admin UI on port 81; HTTP on port 80; HTTPS on port 443
- Configurable static file server via NPM's default_host nginx config

View File

@@ -1,14 +1,13 @@
name: "Nginx Proxy Manager + Static Web Server"
slug: nginx_webserver_proxy
description: "Nginx Proxy Manager with a built-in configurable static file server. Manage reverse proxies via NPM UI on port 81 while serving files from HA storage on port 80."
version: "2.14.1"
version: "2.14.1-1"
url: "https://github.com/alexbelgium/hassio-addons/tree/master/nginx_webserver_proxy"
arch:
- amd64
- aarch64
startup: services
init: false
ports:
80/tcp: 80
81/tcp: 81
@@ -17,24 +16,19 @@ ports_description:
80/tcp: "HTTP (static site + NPM proxy hosts)"
81/tcp: "NPM Admin Web UI"
443/tcp: "HTTPS (NPM proxy hosts)"
webui: "http://[HOST]:[PORT:81]"
map:
- addon_config:rw
- share:rw
- media:rw
options:
static_site_enabled: true
static_site_root: "/share/www"
static_site_prefix: "/"
log_level: "info"
schema:
static_site_enabled: bool
static_site_root: str
static_site_prefix: str
log_level: list(info|debug|warn|error)
image: "ghcr.io/alexbelgium/nginx_webserver_proxy-{arch}"

View File

@@ -111,8 +111,19 @@ fi
# ---------------------------------------------------------------------------
log "static_site_root=${STATIC_ROOT} prefix=${STATIC_PREFIX} log_level=${LOG_LEVEL}"
# NPM's prepare service requires /etc/letsencrypt to exist.
# HA Supervisor maps the ssl volume there automatically; for other environments create it.
mkdir -p /etc/letsencrypt
# Symlink /etc/letsencrypt to /data/letsencrypt for persistence across restarts.
# Supervisor persists /data as a Docker volume; /etc/letsencrypt would otherwise be ephemeral.
if [ ! -L /etc/letsencrypt ]; then
if [ -d /etc/letsencrypt ] && [ "$(ls -A /etc/letsencrypt 2> /dev/null)" ]; then
# Abort migration on copy failure so we never rm -rf certs that weren't copied.
mkdir -p /data/letsencrypt
cp -a /etc/letsencrypt/. /data/letsencrypt/ \
|| die "Failed to migrate /etc/letsencrypt to /data/letsencrypt; leaving existing certs intact"
fi
rm -rf /etc/letsencrypt
ln -sf /data/letsencrypt /etc/letsencrypt
fi
mkdir -p /data/letsencrypt
log "Handing off to NPM: exec /init"
exec /init