mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-06-20 14:29:14 +02:00
Compare commits
52 Commits
dependabot
...
fix/nginx-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
752ae829d3 | ||
|
|
c4b603ecf7 | ||
|
|
e62389edb9 | ||
|
|
44d9333915 | ||
|
|
d89a6be2fa | ||
|
|
96c2aa45e9 | ||
|
|
b7acd8fb97 | ||
|
|
b13081dec0 | ||
|
|
d7f77d8828 | ||
|
|
d0fa3a4af3 | ||
|
|
07cea4ca67 | ||
|
|
7b16ed41a3 | ||
|
|
b5397927e2 | ||
|
|
1f3036307d | ||
|
|
3f912d559d | ||
|
|
5dab6907c5 | ||
|
|
6fed98a273 | ||
|
|
90e74e638d | ||
|
|
d2d723a4c7 | ||
|
|
0d449671a0 | ||
|
|
aff567ee1b | ||
|
|
cdffc85462 | ||
|
|
b83d2f3a0c | ||
|
|
9d9b909a53 | ||
|
|
3d588a08d7 | ||
|
|
ed58fabb60 | ||
|
|
b8e8440d18 | ||
|
|
ed187b58aa | ||
|
|
297bbe21a5 | ||
|
|
2432a01c02 | ||
|
|
f567fb8091 | ||
|
|
4c3f8f868d | ||
|
|
225ac11c47 | ||
|
|
7121e368c6 | ||
|
|
c003b656a0 | ||
|
|
f267a341af | ||
|
|
f109b317e6 | ||
|
|
1c94a776aa | ||
|
|
ace0e340ed | ||
|
|
2563ed3f6e | ||
|
|
f4cde22f66 | ||
|
|
5119df4434 | ||
|
|
37f02197be | ||
|
|
1a44fa9221 | ||
|
|
4c023c6cb8 | ||
|
|
1f644e6870 | ||
|
|
49fa5b2ab4 | ||
|
|
f5ff8c9fbe | ||
|
|
a740948915 | ||
|
|
dbf17a9d1b | ||
|
|
7007ebf52d | ||
|
|
348c29d9ac |
2
.github/workflows/onpush_builder.yaml
vendored
2
.github/workflows/onpush_builder.yaml
vendored
@@ -300,7 +300,7 @@ jobs:
|
||||
|
||||
- name: Build ${{ matrix.addon }} add-on
|
||||
if: steps.info.outputs.build_arch == 'true' && steps.info.outputs.has_dockerfile == 'true'
|
||||
uses: home-assistant/builder/actions/build-image@2026.06.0
|
||||
uses: home-assistant/builder/actions/build-image@2026.03.2
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
cache-gha: "false"
|
||||
|
||||
@@ -9,6 +9,61 @@ set -e
|
||||
PACKAGES="$1"
|
||||
echo "To install : $PACKAGES"
|
||||
|
||||
apt_has_sources() {
|
||||
[ -d /etc/apt ] || return 1
|
||||
find /etc/apt -type f \( -name "sources.list" -o -name "*.list" -o -name "*.sources" \) \
|
||||
-exec grep -Ehs '^[[:space:]]*(deb|Types:[[:space:]]*deb)' {} \; | grep -q .
|
||||
}
|
||||
|
||||
restore_apt_sources_if_missing() {
|
||||
command -v apt-get > /dev/null 2> /dev/null || return 0
|
||||
apt_has_sources && return 0
|
||||
|
||||
if [ -r /etc/os-release ]; then
|
||||
# shellcheck disable=SC1091
|
||||
. /etc/os-release
|
||||
fi
|
||||
|
||||
codename="${VERSION_CODENAME:-${UBUNTU_CODENAME:-}}"
|
||||
if [ -z "$codename" ]; then
|
||||
echo "Error: apt sources are missing and OS codename could not be detected" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p /etc/apt
|
||||
case "${ID:-}" in
|
||||
ubuntu)
|
||||
arch="$(dpkg --print-architecture 2> /dev/null || true)"
|
||||
if [ "$arch" = "amd64" ] || [ "$arch" = "i386" ]; then
|
||||
mirror="http://archive.ubuntu.com/ubuntu"
|
||||
security_mirror="http://security.ubuntu.com/ubuntu"
|
||||
else
|
||||
mirror="http://ports.ubuntu.com/ubuntu-ports"
|
||||
security_mirror="$mirror"
|
||||
fi
|
||||
cat > /etc/apt/sources.list <<EOF2
|
||||
deb ${mirror} ${codename} main restricted universe multiverse
|
||||
deb ${mirror} ${codename}-updates main restricted universe multiverse
|
||||
deb ${security_mirror} ${codename}-security main restricted universe multiverse
|
||||
EOF2
|
||||
;;
|
||||
debian)
|
||||
cat > /etc/apt/sources.list <<EOF2
|
||||
deb http://deb.debian.org/debian ${codename} main contrib non-free non-free-firmware
|
||||
deb http://deb.debian.org/debian ${codename}-updates main contrib non-free non-free-firmware
|
||||
deb http://deb.debian.org/debian-security ${codename}-security main contrib non-free non-free-firmware
|
||||
EOF2
|
||||
;;
|
||||
*)
|
||||
echo "Error: apt sources are missing for unsupported OS '${ID:-unknown}'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
restore_apt_sources_if_missing
|
||||
rm -f /ERROR
|
||||
|
||||
# Install bash if needed
|
||||
if ! command -v bash > /dev/null 2> /dev/null; then
|
||||
(apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) > /dev/null
|
||||
|
||||
21
CLAUDE.md
21
CLAUDE.md
@@ -43,15 +43,21 @@ Shared build-time scripts are pulled from `.templates/` at build time:
|
||||
- `bashio-standalone.sh` – Bashio library for scripts outside Supervisor context
|
||||
|
||||
The `ARG MODULES=` line lists template scripts to download at build time (e.g., `00-banner.sh 01-custom_script.sh 00-smb_mounts.sh`). Commonly-used modules in `.templates/` (not exhaustive):
|
||||
- `00-banner.sh` – Print the add-on startup banner
|
||||
- `00-global_var.sh` – Initialize global env vars from HA options
|
||||
- `00-local_mounts.sh` – Mount local disks (localdisks option)
|
||||
- `00-smb_mounts.sh` – SMB/CIFS network mount support
|
||||
- `00-deprecated.sh` – Print a deprecation warning for add-ons superseded by official ones
|
||||
- `01-config_yaml.sh` – Map HA options → app's `config.yaml`
|
||||
- `01-custom_script.sh` – Run user-provided custom scripts
|
||||
- `19-json_repair.sh` – Validate/repair JSON config files
|
||||
- `90-disable_ingress.sh` – Allow disabling HA ingress
|
||||
- `90-dns_set.sh` – Configure custom DNS
|
||||
- `91-silent.sh` – Reduce log verbosity
|
||||
- `91-universal_graphic_drivers.sh` – GPU driver detection
|
||||
- `19-json_repair.sh` – Validate/repair JSON config files
|
||||
- `99-custom_script.sh` – Run a user `script.sh` from the add-on config dir at startup
|
||||
|
||||
Other helper scripts in `.templates/` used at build/run time: `ha_automatic_packages.sh` (resolve package names across distros), `ha_entrypoint_modif.sh`, `00-aaa_dockerfile_backup.sh`, plus `config.template`/`script.template`/`show_text_color` (templates/assets copied into add-ons).
|
||||
|
||||
## config.yaml Schema
|
||||
|
||||
@@ -120,6 +126,15 @@ When an upstream version is bumped, update `version` in `config.yaml`. If the ad
|
||||
|
||||
**Weekly** (`weekly_addons_updater`): Runs the `addons_updater` container to bump add-on versions to match upstream.
|
||||
|
||||
Other automation workflows:
|
||||
- `daily_README.yaml` – Regenerates the root `README.md` add-on table.
|
||||
- `weekly_crlftolf.yaml` – Finds and fixes CRLF line endings repo-wide.
|
||||
- `weekly_reduceimagesize.yml` – Compresses images and opens a PR with savings.
|
||||
- `weekly_stats.yaml` / `helper_stats_graphs.yaml` – Refresh the `Stats`/`Stats2` files and stat graphs.
|
||||
- `daily_stale.yml` – Warns and closes stale issues/PRs.
|
||||
- `on_issues.yml` / `on_issues_ping_submitter.yml` – Link issues to add-on READMEs and ping submitters.
|
||||
- `generate_stargazer_map.yml` – Regenerates the stargazer map image.
|
||||
|
||||
Adding `[nobuild]` anywhere in a commit message skips the builder workflow.
|
||||
|
||||
## Linting Rules
|
||||
@@ -146,3 +161,7 @@ Scripts in `rootfs/etc/cont-init.d/` run in lexicographic order. Common numberin
|
||||
- `80-*` – Application configuration
|
||||
- `90-*` – Misc pre-startup tasks (ssl, vpn, custom run)
|
||||
- `99-*` – Final startup / launch
|
||||
|
||||
## User Customization
|
||||
|
||||
Add-ons support end-user customization without rebuilding the image (see the repo wiki). At startup, `99-custom_script.sh` looks in the add-on's config directory for a user-provided `script.sh` (seeded from `.templates/script.template`) and executes it. Combined with the `env_vars` passthrough and the custom-script modules, this lets users inject commands and environment without forking the add-on.
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
|
||||
## 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)
|
||||
- Update to latest version from lklynet/aurral (changelog : https://github.com/lklynet/aurral/releases)
|
||||
## 1.76.42 (2026-06-01)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: Aurral
|
||||
version: "1.76.49"
|
||||
version: "1.76.51"
|
||||
slug: aurral
|
||||
description: >-
|
||||
Self-hosted music discovery, request management, flows, and playlist
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{
|
||||
"last_update": "2026-06-05",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "aurral",
|
||||
"source": "github",
|
||||
"upstream_repo": "lklynet/aurral",
|
||||
"upstream_version": "1.76.49"
|
||||
"upstream_version": "1.76.51",
|
||||
"github_beta": false
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
|
||||
## nightly-20260615 (2026-06-17)
|
||||
- Update to latest version from tphakala/birdnet-go (changelog : https://github.com/tphakala/birdnet-go/releases)
|
||||
## nightly-20260601-2 (03-06-2026)
|
||||
- Minor bugs fixed
|
||||
## nightly-20260601 (2026-06-01)
|
||||
|
||||
@@ -126,4 +126,4 @@ slug: birdnet-go
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-go
|
||||
usb: true
|
||||
version: "nightly-20260601-2"
|
||||
version: "nightly-20260615"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"github_beta": true,
|
||||
"github_exclude": "-4",
|
||||
"github_fulltag": true,
|
||||
"last_update": "2026-06-01",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "birdnet-go",
|
||||
"source": "github",
|
||||
"upstream_repo": "tphakala/birdnet-go",
|
||||
"upstream_version": "nightly-20260601"
|
||||
"upstream_version": "nightly-20260615"
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
## 2026.06.01 (19-06-2026)
|
||||
- Minor bugs fixed
|
||||
## 2026.02.25 (25-02-2026)
|
||||
- Minor bugs fixed
|
||||
## 2026.02.01 (01-02-2026)
|
||||
|
||||
@@ -116,5 +116,5 @@ tmpfs: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pi
|
||||
usb: true
|
||||
version: 2026.02.25
|
||||
version: 2026.06.01
|
||||
video: true
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.52.2 (2026-06-17)
|
||||
- Update to latest version from browserless/chrome (changelog : https://github.com/browserless/chrome/releases)
|
||||
|
||||
## 2.52.1 (2026-06-13)
|
||||
- Update to latest version from browserless/chrome (changelog : https://github.com/browserless/chrome/releases)
|
||||
|
||||
|
||||
@@ -86,5 +86,5 @@ schema:
|
||||
slug: browserless_chrome
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/browserless_chrome
|
||||
version: "2.52.1"
|
||||
version: "2.52.2"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:3000]/docs"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_tagfilter": "v",
|
||||
"last_update": "2026-06-13",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "browserless_chrome",
|
||||
"source": "github",
|
||||
"upstream_repo": "browserless/chrome",
|
||||
"upstream_version": "2.52.1"
|
||||
"upstream_version": "2.52.2"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 19.19.1 (2026-06-17)
|
||||
- Update to latest version from coderaiser/cloudcmd (changelog : https://github.com/coderaiser/cloudcmd/releases)
|
||||
|
||||
## 19.19.0 (2026-05-30)
|
||||
- Update to latest version from coderaiser/cloudcmd (changelog : https://github.com/coderaiser/cloudcmd/releases)
|
||||
|
||||
|
||||
@@ -104,4 +104,4 @@ schema:
|
||||
slug: cloudcommander
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/cloudcommander
|
||||
version: "19.19.0"
|
||||
version: "19.19.1"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "2026-05-30",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "cloudcommander",
|
||||
"source": "github",
|
||||
"upstream_repo": "coderaiser/cloudcmd",
|
||||
"upstream_version": "19.19.0"
|
||||
"upstream_version": "19.19.1"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 1.12.8 (2026-06-17)
|
||||
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)
|
||||
|
||||
## 1.12.7 (2026-05-30)
|
||||
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)
|
||||
|
||||
|
||||
@@ -101,4 +101,4 @@ schema:
|
||||
slug: codex
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "1.12.7"
|
||||
version: "1.12.8"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_beta": "true",
|
||||
"last_update": "2026-05-30",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "codex",
|
||||
"source": "github",
|
||||
"upstream_repo": "ajslater/codex",
|
||||
"upstream_version": "1.12.7"
|
||||
"upstream_version": "1.12.8"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.63.15 (2026-06-17)
|
||||
- Update to latest version from filebrowser/filebrowser (changelog : https://github.com/filebrowser/filebrowser/releases)
|
||||
|
||||
## 2.63.14 (2026-06-11)
|
||||
- Update to latest version from filebrowser/filebrowser (changelog : https://github.com/filebrowser/filebrowser/releases)
|
||||
## 2.63.12 (2026-06-05)
|
||||
|
||||
@@ -124,4 +124,4 @@ schema:
|
||||
slug: filebrowser
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "2.63.14"
|
||||
version: "2.63.15"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"github_beta": "true",
|
||||
"last_update": "2026-06-11",
|
||||
"last_update": "2026-06-17",
|
||||
"paused": false,
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "filebrowser",
|
||||
"source": "github",
|
||||
"upstream_repo": "filebrowser/filebrowser",
|
||||
"upstream_version": "2.63.14"
|
||||
"upstream_version": "2.63.15"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 1.7.53 (2026-06-17)
|
||||
- Update to latest version from linuxserver/docker-grav (changelog : https://github.com/linuxserver/docker-grav/releases)
|
||||
|
||||
## 1.7.52 (2026-05-02)
|
||||
- Update to latest version from linuxserver/docker-grav (changelog : https://github.com/linuxserver/docker-grav/releases)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
ARG BUILD_FROM
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_UPSTREAM="1.7.52"
|
||||
ARG BUILD_UPSTREAM="1.7.53"
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
##################
|
||||
|
||||
@@ -89,5 +89,5 @@ schema:
|
||||
slug: grav
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "1.7.52"
|
||||
version: "1.7.53"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_beta": false,
|
||||
"last_update": "2026-05-02",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "grav",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-grav",
|
||||
"upstream_version": "1.7.52"
|
||||
"upstream_version": "1.7.53"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 0.24.2075 (2026-06-17)
|
||||
- Update to latest version from linuxserver/docker-jackett (changelog : https://github.com/linuxserver/docker-jackett/releases)
|
||||
|
||||
## 0.24.2051 (2026-06-13)
|
||||
- Update to latest version from linuxserver/docker-jackett (changelog : https://github.com/linuxserver/docker-jackett/releases)
|
||||
|
||||
|
||||
@@ -106,5 +106,5 @@ schema:
|
||||
slug: jackett_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/jackett
|
||||
version: "0.24.2051"
|
||||
version: "0.24.2075"
|
||||
webui: http://[HOST]:[PORT:9117]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "2026-06-13",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "jackett",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-jackett",
|
||||
"upstream_version": "0.24.2051"
|
||||
"upstream_version": "0.24.2075"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 0.10.0 (2026-06-17)
|
||||
- Update to latest version from linuxserver/docker-mylar3 (changelog : https://github.com/linuxserver/docker-mylar3/releases)
|
||||
|
||||
## 0.9.0 (2026-04-23)
|
||||
- Update to latest version from linuxserver/docker-mylar3 (changelog : https://github.com/linuxserver/docker-mylar3/releases)
|
||||
- The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
|
||||
|
||||
@@ -100,5 +100,5 @@ schema:
|
||||
slug: mylar3
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "0.9.0"
|
||||
version: "0.10.0"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:8090]"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "2026-04-23",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "mylar3",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-mylar3",
|
||||
"upstream_version": "0.9.0"
|
||||
"upstream_version": "0.10.0"
|
||||
}
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
ARG BUILD_FROM=jc21/nginx-proxy-manager:latest
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
# NPM is Debian-based; install jq for options parsing + stub with-contenv if absent
|
||||
# NPM is Debian-based; install jq for options parsing and ensure bash is present.
|
||||
# hadolint ignore=DL3008
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends jq \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& if ! command -v with-contenv >/dev/null 2>&1; then \
|
||||
printf '#!/usr/bin/env bash\nexec "$@"\n' > /usr/bin/with-contenv \
|
||||
&& chmod +x /usr/bin/with-contenv; \
|
||||
fi
|
||||
&& apt-get install -y --no-install-recommends bash jq \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY run.sh /npm-addon-init.sh
|
||||
RUN chmod +x /npm-addon-init.sh
|
||||
RUN chmod 0755 /npm-addon-init.sh
|
||||
|
||||
ARG BUILD_VERSION
|
||||
LABEL \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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.0"
|
||||
version: "2.14.1"
|
||||
url: "https://github.com/alexbelgium/hassio-addons/tree/master/nginx_webserver_proxy"
|
||||
arch:
|
||||
- amd64
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
#!/bin/bash
|
||||
# shellcheck shell=bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 17.5.1 (2026-06-17)
|
||||
- Update to latest version from opf/openproject (changelog : https://github.com/opf/openproject/releases)
|
||||
|
||||
## 17.5.0 (2026-06-11)
|
||||
- Update to latest version from opf/openproject (changelog : https://github.com/opf/openproject/releases)
|
||||
|
||||
|
||||
@@ -34,5 +34,5 @@ schema:
|
||||
slug: openproject
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/openproject
|
||||
version: "17.5.0"
|
||||
version: "17.5.1"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:8080]"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "2026-06-11",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "openproject",
|
||||
"source": "github",
|
||||
"upstream_repo": "opf/openproject",
|
||||
"upstream_version": "17.5.0"
|
||||
"upstream_version": "17.5.1"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_fulltag": "true",
|
||||
"last_update": "2026-06-11",
|
||||
"last_update": "2026-06-17",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "plex",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-plex",
|
||||
"upstream_version": "1.43.2.10687-563d026ea-ls308"
|
||||
"upstream_version": "1.43.2.10687-563d026ea-ls309"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
## 2.6-dev-3 (2026-06-16)
|
||||
- Fix fresh-install startup by making the persistent `/data/static` and `/data/media` directories writable by the `wger` user without recursively changing all of `/data`.
|
||||
- Preserve existing persistent data by reusing `/data/database.sqlite` when present, and migrating a legacy `/home/wger/db/database.sqlite` only if no persistent database exists yet.
|
||||
- Make nginx startup idempotent and fail loudly if its configuration is invalid, instead of masking nginx startup errors that can leave the add-on web port closed.
|
||||
|
||||
## 2.6-dev-2 (2026-06-16)
|
||||
- Fix startup script database path rewrite by switching the `settings.py` matching with `*.py` since last update moved the settings.py file into several files within the settings folder
|
||||
## 2.6-dev (2026-04-23)
|
||||
- Update to latest version from wger/server
|
||||
## 2.5-dev-3 (2026-03-09)
|
||||
|
||||
@@ -23,5 +23,5 @@ schema:
|
||||
slug: wger
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "2.6-dev"
|
||||
version: "2.6-dev-3"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"
|
||||
|
||||
@@ -1,66 +1,115 @@
|
||||
#!/usr/bin/env bashio
|
||||
|
||||
set -u
|
||||
|
||||
prepare_data_root() {
|
||||
mkdir -p /data
|
||||
chown wger /data || bashio::log.warning "Unable to set /data ownership to wger"
|
||||
chmod a+rwx /data || bashio::log.warning "Unable to make /data writable"
|
||||
}
|
||||
|
||||
prepare_writable_dir() {
|
||||
local path="$1"
|
||||
|
||||
mkdir -p "$path"
|
||||
chown -R wger "$path" || bashio::log.warning "Unable to set $path ownership to wger"
|
||||
chmod -R a+rwX "$path" || bashio::log.warning "Unable to make $path writable"
|
||||
}
|
||||
|
||||
move_persistent_dir() {
|
||||
local source="$1"
|
||||
local target="$2"
|
||||
|
||||
prepare_writable_dir "$target"
|
||||
|
||||
if [ -d "$source" ] && [ ! -L "$source" ]; then
|
||||
if [ -n "$(ls -A "$source" 2> /dev/null)" ]; then
|
||||
cp -rnf "$source"/. "$target"/
|
||||
fi
|
||||
rm -rf "$source"
|
||||
fi
|
||||
|
||||
ln -sfn "$target" "$source"
|
||||
}
|
||||
|
||||
migrate_database() {
|
||||
local legacy_db=/home/wger/db/database.sqlite
|
||||
local persistent_db=/data/database.sqlite
|
||||
|
||||
if [ -f "$persistent_db" ]; then
|
||||
bashio::log.info "Using existing persistent database at $persistent_db"
|
||||
elif [ -f "$legacy_db" ]; then
|
||||
bashio::log.info "Migrating legacy database from $legacy_db to $persistent_db"
|
||||
cp -n "$legacy_db" "$persistent_db"
|
||||
else
|
||||
bashio::log.info "No existing database found; wger will create a new persistent database at $persistent_db"
|
||||
fi
|
||||
|
||||
if [ -f "$persistent_db" ]; then
|
||||
chown wger "$persistent_db" || bashio::log.warning "Unable to set $persistent_db ownership to wger"
|
||||
chmod a+rw "$persistent_db" || bashio::log.warning "Unable to make $persistent_db writable"
|
||||
fi
|
||||
}
|
||||
|
||||
############################
|
||||
# Change database location #
|
||||
############################
|
||||
echo "... set database path"
|
||||
mapfile -t SETTINGS_FILES < <(grep -rl --include='settings.py' '/home/wger/db/database.sqlite' /home 2> /dev/null || true)
|
||||
mapfile -t SETTINGS_FILES < <(grep -rl --include='*.py' '/home/wger/db/database.sqlite' /home 2> /dev/null || true)
|
||||
|
||||
if [ "${#SETTINGS_FILES[@]}" -gt 0 ]; then
|
||||
for settings_file in "${SETTINGS_FILES[@]}"; do
|
||||
sed -i "s|/home/wger/db/database.sqlite|/data/database.sqlite|g" "$settings_file"
|
||||
done
|
||||
else
|
||||
bashio::log.warning "Unable to find settings.py containing database path under /home, skipping rewrite"
|
||||
bashio::log.warning "Unable to find Python settings containing database path under /home, skipping rewrite"
|
||||
fi
|
||||
|
||||
#####################
|
||||
# Adapt directories #
|
||||
#####################
|
||||
echo "... create directories"
|
||||
mkdir -p /data/static
|
||||
if [ -d /home/wger/static ] && [ ! -L /home/wger/static ]; then
|
||||
if [ -n "$(ls -A /home/wger/static 2> /dev/null)" ]; then
|
||||
cp -rnf /home/wger/static/* /data/static/
|
||||
fi
|
||||
rm -r /home/wger/static
|
||||
fi
|
||||
ln -sf /data/static /home/wger
|
||||
|
||||
mkdir -p /data/media
|
||||
if [ -d /home/wger/media ] && [ ! -L /home/wger/media ]; then
|
||||
if [ -n "$(ls -A /home/wger/media 2> /dev/null)" ]; then
|
||||
cp -rnf /home/wger/media/* /data/media/
|
||||
fi
|
||||
rm -r /home/wger/media
|
||||
fi
|
||||
ln -sf /data/media /home/wger
|
||||
prepare_data_root
|
||||
migrate_database
|
||||
move_persistent_dir /home/wger/static /data/static
|
||||
move_persistent_dir /home/wger/media /data/media
|
||||
|
||||
#####################
|
||||
# Align permissions #
|
||||
#####################
|
||||
echo "... align permissions"
|
||||
chown -R wger /data
|
||||
chown -R wger /home/wger
|
||||
chmod -R 777 /data
|
||||
prepare_writable_dir /data/static
|
||||
prepare_writable_dir /data/media
|
||||
migrate_database
|
||||
|
||||
echo "... add env variables"
|
||||
(
|
||||
set -o posix
|
||||
export -p
|
||||
) > /data/env.sh
|
||||
while IFS= read -r line; do
|
||||
[[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue
|
||||
var="${line%%=*}"
|
||||
sed -i "/^export[[:space:]]\+$var=/d" /data/env.sh
|
||||
echo "export $line" >> /data/env.sh
|
||||
done < /.env
|
||||
|
||||
chown wger /data/env.sh
|
||||
chmod +x /data/env.sh
|
||||
if [ -f /.env ]; then
|
||||
while IFS= read -r line; do
|
||||
[[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue
|
||||
var="${line%%=*}"
|
||||
[[ "$var" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]] || continue
|
||||
sed -i "/^export[[:space:]]\+$var=/d" /data/env.sh
|
||||
echo "export $line" >> /data/env.sh
|
||||
done < /.env
|
||||
fi
|
||||
|
||||
chown wger /data/env.sh || bashio::log.warning "Unable to set /data/env.sh ownership to wger"
|
||||
chmod 0644 /data/env.sh || bashio::log.warning "Unable to make /data/env.sh readable"
|
||||
|
||||
bashio::log.info "Starting nginx"
|
||||
nginx || true &
|
||||
true
|
||||
mkdir -p /run/nginx /var/log/nginx
|
||||
if [ -f /run/nginx.pid ] && kill -0 "$(cat /run/nginx.pid)" 2> /dev/null; then
|
||||
bashio::log.info "nginx is already running"
|
||||
elif nginx -t; then
|
||||
nginx &
|
||||
else
|
||||
bashio::log.error "nginx configuration test failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
bashio::log.info "Starting entrypoint"
|
||||
|
||||
Reference in New Issue
Block a user