Compare commits
5 Commits
fix/birdne
...
ai-fix/fil
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
088e4b214f | ||
|
|
f63b4f3f92 | ||
|
|
4b68ce7efd | ||
|
|
9b9eab47bc | ||
|
|
948a2722f3 |
15
.github/prompts/issue-execute-plan.md
vendored
@@ -11,10 +11,21 @@ Read:
|
||||
diff, verification, risk). This is your spec.
|
||||
- `/tmp/ai-exec/issue.json` — the issue it fixes (for `Closes #<n>` and context).
|
||||
|
||||
## Hard limits (identical to the fix sweep — a workflow step enforces them)
|
||||
## Hard limits (identical to the fix sweep; only limit 1 is machine-enforced)
|
||||
|
||||
1. **Never modify `.github/` or `.templates/`.** Repo-wide infrastructure.
|
||||
2. **Never touch the `version` or `upstream` fields in `config.yaml`.**
|
||||
2. **`config.yaml` is yours to edit, except the upstream part of `version`;
|
||||
never edit `updater.json`** — `addons_updater` owns both. (There is no
|
||||
`upstream:` key in `config.yaml`.) You must still
|
||||
bump the local patch counter, or Supervisor never offers the rebuild and the
|
||||
fix ships inert. Read `updater.json` to find the boundary — you cannot tell
|
||||
it from `version` alone, since upstream versions here run to four or five
|
||||
components. With `U` = `upstream_version`: if `version` equals `U`, **append**
|
||||
`.1` (sonarr `4.0.19.3001` -> `4.0.19.3001.1`); if it is `U` + `.` + digits,
|
||||
**increment** those digits (radarr `6.3.0.10514.1` -> `6.3.0.10514.2`);
|
||||
anything else — no `updater.json`, drifted version, LSIO tag, date, nightly —
|
||||
leave `version` alone and say so in the pull request body. A dot, never a
|
||||
hyphen.
|
||||
3. **One add-on, one branch:** `ai-fix/<addon>-<issue-number>`.
|
||||
4. **Never merge, never close the issue, never enable auto-merge.** Open the
|
||||
pull request **ready for review** — CI (`onpr_check-pr.yaml`) validates it,
|
||||
|
||||
48
.github/prompts/issue-fix.md
vendored
@@ -13,14 +13,52 @@ about confidence matters more than the number of pull requests you open.
|
||||
|
||||
## Hard limits
|
||||
|
||||
These are not guidelines. A workflow step enforces them after you finish, and
|
||||
anything that violates them gets blocked and flagged.
|
||||
These are not guidelines. Limit 1 is machine-enforced — a workflow step checks
|
||||
every pull request you open and blocks and flags anything that violates it. The
|
||||
rest are on you: nothing checks them, so breaking one ships silently.
|
||||
|
||||
1. **Never modify `.github/` or `.templates/`.** Those are inherited by every
|
||||
add-on in the repo. A change there is a 100-add-on incident, not a fix.
|
||||
2. **Never touch the `version` or `upstream` fields in `config.yaml`.** The
|
||||
`addons_updater` job owns those. Editing them causes merge conflicts you
|
||||
will not be around to resolve.
|
||||
2. **`config.yaml` is yours to edit, with one carve-out.** Never change the
|
||||
*upstream part* of `version` — the portion that tracks the upstream release
|
||||
— and never edit `updater.json` at all. The `addons_updater` job owns both,
|
||||
and editing them causes merge conflicts you will not be around to resolve.
|
||||
(There is no `upstream:` key in `config.yaml`; upstream tracking lives in
|
||||
`updater.json` as `upstream_repo` / `upstream_version`.)
|
||||
|
||||
The **local patch counter** is a different thing and you must bump it. When
|
||||
you change any file in an add-on, `version` must change too — otherwise
|
||||
Supervisor never offers the rebuild, the add-on keeps running the old image,
|
||||
and your fix ships inert: merged, doing nothing, with the issue looking
|
||||
closed. That is worse than not fixing it at all.
|
||||
|
||||
**You cannot tell the counter from `version` alone — read `updater.json`.**
|
||||
Upstream versions in this repo have anywhere from one to five components, so
|
||||
a trailing `.1234` is just as likely to belong to upstream as to be a local
|
||||
counter. `updater.json`'s `upstream_version` is the authority. Let `U` be
|
||||
that value, and compare:
|
||||
|
||||
| `version` vs `U` | what to do | example |
|
||||
|---|---|---|
|
||||
| identical | **append** `.1` | sonarr `4.0.19.3001` -> `4.0.19.3001.1` |
|
||||
| `U` + `.` + digits | **increment** those digits | radarr `6.3.0.10514.1` -> `6.3.0.10514.2` |
|
||||
| anything else | **leave it alone** | plex, readarr, joal |
|
||||
|
||||
Getting this backwards corrupts data you do not own: sonarr's `4.0.19.3001`
|
||||
*is* the upstream version, so "increment the last component" would produce
|
||||
`4.0.19.3002` and burn the identifier of a future real release. 82 of the
|
||||
add-ons in this repo are in that first row — appending is the common case,
|
||||
incrementing the rare one.
|
||||
|
||||
Use a dot, never a hyphen: `X.Y.Z-N` parses as a semver pre-release, which
|
||||
Supervisor treats as *older* than `X.Y.Z` and will not offer.
|
||||
|
||||
The third row is not a failure — it is the safe answer whenever the add-on
|
||||
has no `updater.json`, its `version` has drifted from `upstream_version`, or
|
||||
the format is exotic (LSIO tag `1.43.1.10611-1e34174b1-ls301`, a date, a
|
||||
nightly). Do not guess a counter onto those. Leave `version` untouched and
|
||||
say so — in the pull request body, or in the plan if this issue is going out
|
||||
as Outcome B — so a human can decide.
|
||||
3. **One add-on per branch, one branch per pull request.** Branch name
|
||||
`ai-fix/<addon>-<issue-number>`.
|
||||
4. **Never merge, never close an issue, never enable auto-merge.** Opening a
|
||||
|
||||
5
.github/prompts/pr-coderabbit.md
vendored
@@ -23,7 +23,10 @@ Consider only comments authored by `coderabbitai[bot]`. Ignore its collapsed
|
||||
## Hard limits (a workflow step enforces the first)
|
||||
|
||||
1. **Never modify `.github/` or `.templates/`.** Repo-wide infrastructure.
|
||||
2. **Never touch the `version` or `upstream` fields in `config.yaml`.**
|
||||
2. **Leave `version` in `config.yaml` alone, and never edit `updater.json`.** The rest of
|
||||
`config.yaml` is fair game. Unlike the fix sweep, you are amending a pull
|
||||
request that has *already* bumped the local patch counter — one bump covers
|
||||
the whole PR, so incrementing it again here would just churn the diff.
|
||||
3. **Stay within this PR's scope and branch.** Do not open a new PR, do not
|
||||
touch other add-ons, do not merge, do not mark ready/draft.
|
||||
|
||||
|
||||
13
.github/stargazer_countries.csv
vendored
@@ -442,6 +442,7 @@ Lolekpolek,,2026-08-10
|
||||
LonelySoul7X,,2026-08-10
|
||||
Lorsel,Italy,
|
||||
Luca2165801154,,2026-08-10
|
||||
Lucius-Waverly,,2026-08-16
|
||||
LuciusEternal,,2026-08-10
|
||||
LuckyTriple7,Germany,
|
||||
Luckyfuzz,,2026-08-10
|
||||
@@ -539,6 +540,7 @@ NoFace3D,,2026-08-10
|
||||
Noa3129,,2026-08-10
|
||||
Noob25930,,2026-08-10
|
||||
NuclearTruck,,2026-08-10
|
||||
OXERY,,2026-08-16
|
||||
Oberknecht,Germany,
|
||||
OdorDecoder,,2026-08-10
|
||||
Omega7572,,
|
||||
@@ -1083,6 +1085,7 @@ cecet23,Italy,
|
||||
cecilchurms,,2026-08-10
|
||||
celynw,United Kingdom,
|
||||
ch4d1,Germany,
|
||||
chapliak,Canada,2026-08-16
|
||||
charithmadhuranga,Sri Lanka,
|
||||
charl3y15,United States,
|
||||
charlestephen,United States,
|
||||
@@ -1112,6 +1115,7 @@ cicishahita,,2026-08-10
|
||||
cipector,,2026-08-10
|
||||
circasurvivor55,,2026-08-10
|
||||
cirf,,2026-08-10
|
||||
citizenserious,,2026-08-16
|
||||
cityeyes,,2026-08-10
|
||||
classhu,,2026-08-10
|
||||
clementleroy,France,
|
||||
@@ -1744,6 +1748,7 @@ lakshanthad,Canada,
|
||||
lallinger-tech,Germany,
|
||||
laoto1234,,2026-08-10
|
||||
larry3,,2026-08-10
|
||||
lassepi,,2026-08-16
|
||||
laughedelic,Norway,
|
||||
lazymule,Türkiye,2026-08-10
|
||||
lazytarget,Sweden,
|
||||
@@ -1760,6 +1765,7 @@ letrouf,,2026-08-10
|
||||
levvvy,,2026-08-10
|
||||
lexluthors,,2026-08-10
|
||||
lguerard,,2026-08-10
|
||||
lheinke,,2026-08-16
|
||||
lhimo,,2026-08-10
|
||||
liangshao200,,2026-08-10
|
||||
lichenophile,,2026-08-10
|
||||
@@ -1842,6 +1848,7 @@ mareklab,,2026-08-10
|
||||
marevers,Germany,
|
||||
marian-paun,Romania,
|
||||
mariusvslprts,Germany,
|
||||
mark-219,United States,2026-08-16
|
||||
markcshaz,,2026-08-10
|
||||
markist,,2026-08-10
|
||||
marlonqpa,,2026-08-10
|
||||
@@ -1885,6 +1892,7 @@ mediaexplorer74,Russian Federation,2026-08-10
|
||||
mefisto22,,2026-08-10
|
||||
megavolts,United States,
|
||||
megawubs,Netherlands,
|
||||
meremortals70,,2026-08-16
|
||||
meska,,2026-08-10
|
||||
methbkts,France,
|
||||
mevlutdemirbas,,2026-08-10
|
||||
@@ -1940,6 +1948,7 @@ mmstano,,2026-08-10
|
||||
mmz06,,2026-08-10
|
||||
mnex9191,,2026-08-10
|
||||
mnpeart,United States,
|
||||
mocodev-io,,2026-08-16
|
||||
moein805,"Iran, Islamic Republic of",
|
||||
mohammedmulazada,Netherlands,
|
||||
mohammednafeel,,2026-08-10
|
||||
@@ -1979,6 +1988,7 @@ natbrood,,2026-08-10
|
||||
nate-marshall,,2026-08-10
|
||||
nduest,Germany,
|
||||
ne7runner,,2026-08-10
|
||||
nean,,2026-08-16
|
||||
nedsined,,2026-08-10
|
||||
neildotwilliams,,2026-08-10
|
||||
neilpercy,,2026-08-10
|
||||
@@ -2167,6 +2177,7 @@ qdominik,,2026-08-10
|
||||
qezzo,,2026-08-10
|
||||
qianc123,,2026-08-10
|
||||
qimingzihaofan233,,2026-08-10
|
||||
qtoosha,,2026-08-16
|
||||
quank1968,,2026-08-10
|
||||
quartzbear,,2026-08-10
|
||||
quirbiefe,,2026-08-10
|
||||
@@ -2369,6 +2380,7 @@ stDragon,,2026-08-10
|
||||
stagietek,Australia,
|
||||
stanisboiko,Ukraine,
|
||||
starbuck93,United States,
|
||||
statuscue,Germany,2026-08-16
|
||||
steef84,,2026-08-10
|
||||
stef-th,,2026-08-10
|
||||
stefangries,,2026-08-10
|
||||
@@ -2455,6 +2467,7 @@ threnard,,2026-08-10
|
||||
tianmaozuo,,2026-08-10
|
||||
tibonou,,2026-08-10
|
||||
tigroff,,2026-08-10
|
||||
tijmenvanstraten,,2026-08-16
|
||||
tillmannschatz,Germany,
|
||||
tim-frensch,,2026-08-10
|
||||
timTam97,Australia,
|
||||
|
||||
|
BIN
.github/stargazer_map.png
vendored
|
Before Width: | Height: | Size: 404 KiB After Width: | Height: | Size: 68 KiB |
BIN
.github/stats.png
vendored
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 1.9 KiB |
BIN
.github/stats_addons.png
vendored
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 4.1 KiB |
12
CLAUDE.md
@@ -161,7 +161,17 @@ the sweep), `ai:plan-pending` (plan posted, awaiting `ai:approved`), `ai:fixed`,
|
||||
out of the automated tiers but not the manual ones. **Kill switch:** set the
|
||||
repo variable `AI_DISABLED=true` to pause every AI workflow with no file edits.
|
||||
AI fixes must never touch `.github/` or `.templates/` (enforced by
|
||||
`ai_guard_paths.sh`) or the `version`/`upstream` fields in `config.yaml`.
|
||||
`ai_guard_paths.sh`). They may edit `config.yaml` freely except the upstream
|
||||
part of `version`, and must never edit `updater.json` — `addons_updater` owns
|
||||
both. (There is no `upstream:` key in `config.yaml`; upstream tracking lives in
|
||||
`updater.json`.) They must still bump the local patch counter so Supervisor
|
||||
offers the rebuild —
|
||||
without it the fix ships inert. The counter boundary comes from
|
||||
`updater.json`'s `upstream_version`, never from the shape of `version`: append
|
||||
`.1` when the two are equal (the common case — upstream versions here run to
|
||||
four or five components), increment the trailing digits only when `version` is
|
||||
`upstream_version` + `.N`, and otherwise leave `version` alone. This rule is
|
||||
prompt-only, not machine-enforced.
|
||||
|
||||
## Linting Rules
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
aurral/stats.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
baikal/stats.png
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
bazarr/stats.png
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,7 +1,7 @@
|
||||
## 2026.08.15 (15-08-2026)
|
||||
|
||||
- Fix: `ALSA_CARD` now really selects the microphone. Its value was copied as-is into `REC_CARD`, but BirdNET-Pi hands `REC_CARD` to `arecord -D` / `ffmpeg -f alsa -i`, which expect an ALSA PCM name: a card index such as `1` gave `Unknown PCM 1` and no recording at all. It is now converted to `plughw:CARD=<value>,DEV=0`, while a value that already is a PCM name (`dsnoop:CARD=Audio,DEV=0`, `default`, `null`, `pulse`, `pipewire`, ...) is used as provided
|
||||
- Fix: writing `REC_CARD` no longer detaches `birdnet.conf` from `/config`. `sed -i` replaced the `$HOME/BirdNET-Pi/birdnet.conf` symlink with a regular file, so later edits from the WebUI went to a different file than the one the add-on had written; it now edits `/config/birdnet.conf` with `--follow-symlinks`
|
||||
- Fix: setting `ALSA_CARD` no longer replaces the `~/BirdNET-Pi/birdnet.conf` symlink with a detached copy of `/config/birdnet.conf` (now only `/config/birdnet.conf`, which the symlink points to, is updated)
|
||||
|
||||
## 2026.07.10-2 (10-07-2026)
|
||||
- Minor bugs fixed
|
||||
|
||||
@@ -101,6 +101,17 @@ Ensure you have the following installed on your system:
|
||||
|
||||
If rtsp feed doesn't work, perhaps you need to add "-rtsp-transport tcp" to your ffmpeg instruction, or allow udp on your network
|
||||
|
||||
### Selecting the microphone
|
||||
|
||||
By default the container records through PulseAudio (`REC_CARD=default` in `birdnet.conf`). To record directly from a USB microphone instead, find it on the host with `arecord -l`, then pass its card number (or its card id) as `ALSA_CARD`:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- ALSA_CARD=1 # "card 1: Audio [KT USB Audio]" in the output of "arecord -l"
|
||||
```
|
||||
|
||||
At startup this writes `REC_CARD=plughw:CARD=1,DEV=0` into your `birdnet.conf`. A value that already is a full ALSA PCM name, as listed by `arecord -L`, is used as provided - for example `ALSA_CARD=dsnoop:CARD=Audio,DEV=0`, which allows the recording and the livestream services to read the same microphone at the same time.
|
||||
|
||||
## Updating to the Latest Version
|
||||
|
||||
To check for new versions of the container and update:
|
||||
|
||||
@@ -70,8 +70,9 @@ if [ -n "${ALSA_CARD:-}" ]; then
|
||||
# "ffmpeg -f alsa -i" (scripts/livestream.sh), so it must be an ALSA PCM name.
|
||||
# ALSA_CARD holds a card index (1) or a card id (Audio), which are not PCM names:
|
||||
# writing them as-is gives "Unknown PCM 1" and no recording at all. Build a PCM
|
||||
# name from them, and pass through a value that already is one (plughw:...).
|
||||
if [[ "$ALSA_CARD" == *:* ]] || [[ "$ALSA_CARD" =~ ^(default|null|pulse|pipewire)$ ]]; then
|
||||
# name from them, unless the value already is one of ALSA's own PCM names
|
||||
# (checked against "arecord -L", e.g. default, null, pulse, sysdefault, front...).
|
||||
if [[ "$ALSA_CARD" == *:* ]] || arecord -L 2> /dev/null | grep -qx "$ALSA_CARD"; then
|
||||
REC_CARD="$ALSA_CARD"
|
||||
else
|
||||
REC_CARD="plughw:CARD=${ALSA_CARD},DEV=0"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.2 KiB |
@@ -1,3 +1,7 @@
|
||||
## 2026.08.15 (15-08-2026)
|
||||
|
||||
- Fix: `ALSA_CARD` now really selects the microphone. Its value was copied as-is into `REC_CARD`, but BirdNET-Pi hands `REC_CARD` to `arecord -D` / `ffmpeg -f alsa -i`, which expect an ALSA PCM name: a card index such as `1` gave `Unknown PCM 1` and no recording at all. It is now converted to `plughw:CARD=<value>,DEV=0`, while a value that already is a PCM name (`dsnoop:CARD=Audio,DEV=0`, `default`, `null`, `pulse`, `pipewire`, ...) is used as provided
|
||||
- Fix: setting `ALSA_CARD` no longer replaces the `~/BirdNET-Pi/birdnet.conf` symlink with a detached copy of `/config/birdnet.conf` (now only `/config/birdnet.conf`, which the symlink points to, is updated)
|
||||
## 2026.08.02 (02-08-2026)
|
||||
- Fix: ingress returned "502 Bad Gateway" because Caddy never listened on :8082. `91-nginx_ingress.sh` hooked the ingress site into `update_caddyfile.sh` with a sed anchored on `sudo caddy fmt --overwrite`, but 2026.07.10-1 strips `sudo` from every BirdNET-Pi script at build time, so the anchor stopped matching. `update_caddyfile.sh` then rewrote the Caddyfile from scratch just before Caddy started, dropping the ingress site
|
||||
- Fix: `caddy_ingress.sh` no longer appends a second `:8082` block when it runs twice (a duplicate site address makes Caddy refuse to start)
|
||||
|
||||
@@ -101,6 +101,17 @@ Ensure you have the following installed on your system:
|
||||
|
||||
If rtsp feed doesn't work, perhaps you need to add "-rtsp-transport tcp" to your ffmpeg instruction, or allow udp on your network
|
||||
|
||||
### Selecting the microphone
|
||||
|
||||
By default the container records through PulseAudio (`REC_CARD=default` in `birdnet.conf`). To record directly from a USB microphone instead, find it on the host with `arecord -l`, then pass its card number (or its card id) as `ALSA_CARD`:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- ALSA_CARD=1 # "card 1: Audio [KT USB Audio]" in the output of "arecord -l"
|
||||
```
|
||||
|
||||
At startup this writes `REC_CARD=plughw:CARD=1,DEV=0` into your `birdnet.conf`. A value that already is a full ALSA PCM name, as listed by `arecord -L`, is used as provided - for example `ALSA_CARD=dsnoop:CARD=Audio,DEV=0`, which allows the recording and the livestream services to read the same microphone at the same time.
|
||||
|
||||
## Updating to the Latest Version
|
||||
|
||||
To check for new versions of the container and update:
|
||||
|
||||
@@ -116,5 +116,5 @@ tmpfs: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pi
|
||||
usb: true
|
||||
version: 2026.08.02
|
||||
version: 2026.08.15
|
||||
video: true
|
||||
|
||||
@@ -66,12 +66,26 @@ fi || true
|
||||
|
||||
# Use ALSA CARD defined in add-on options if available
|
||||
if [ -n "${ALSA_CARD:-}" ]; then
|
||||
bashio::log.warning "ALSA_CARD is defined, the birdnet.conf is adapt to use device $ALSA_CARD"
|
||||
for file in "$HOME"/BirdNET-Pi/birdnet.conf /config/birdnet.conf; do
|
||||
if [ -f "$file" ]; then
|
||||
sed -i "/^REC_CARD/c\REC_CARD=$ALSA_CARD" "$file"
|
||||
fi
|
||||
done
|
||||
# REC_CARD is passed as-is to "arecord -D" (scripts/birdnet_recording.sh) and to
|
||||
# "ffmpeg -f alsa -i" (scripts/livestream.sh), so it must be an ALSA PCM name.
|
||||
# ALSA_CARD holds a card index (1) or a card id (Audio), which are not PCM names:
|
||||
# writing them as-is gives "Unknown PCM 1" and no recording at all. Build a PCM
|
||||
# name from them, unless the value already is one of ALSA's own PCM names
|
||||
# (checked against "arecord -L", e.g. default, null, pulse, sysdefault, front...).
|
||||
if [[ "$ALSA_CARD" == *:* ]] || arecord -L 2> /dev/null | grep -qx "$ALSA_CARD"; then
|
||||
REC_CARD="$ALSA_CARD"
|
||||
else
|
||||
REC_CARD="plughw:CARD=${ALSA_CARD},DEV=0"
|
||||
fi
|
||||
bashio::log.warning "ALSA_CARD is defined, the birdnet.conf is adapted to use device $REC_CARD"
|
||||
# --follow-symlinks : $HOME/BirdNET-Pi/birdnet.conf is a symlink to /config/birdnet.conf
|
||||
# (01-structure.sh), and sed -i would replace it with a regular file, detaching it from
|
||||
# the file the WebUI writes to. Only /config/birdnet.conf is updated directly, since the
|
||||
# home-path symlink is writable by the pi/caddy user and could be repointed before this
|
||||
# root-run script gets to it.
|
||||
if [ -f /config/birdnet.conf ]; then
|
||||
sed -i --follow-symlinks "/^REC_CARD/c\REC_CARD=$REC_CARD" /config/birdnet.conf
|
||||
fi
|
||||
fi
|
||||
|
||||
# Define permissions for audio
|
||||
|
||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
codex/stats.png
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
emby/stats.png
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
ente/stats.png
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,4 +1,7 @@
|
||||
|
||||
## 1.5.1.1 (2026-08-17)
|
||||
- Documentation: the add-on is Ingress-only and does not publish port 8071, so the README no longer advertises direct access at `<your-ip>:8071`
|
||||
|
||||
## 1.5.1 (2026-08-08)
|
||||
- Update to latest version from gtsteffaniak/filebrowser (changelog : https://github.com/gtsteffaniak/filebrowser/releases)
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ comparison to installing any other Home Assistant add-on.
|
||||
1. Click the `Save` button to store your configuration.
|
||||
1. Start the add-on.
|
||||
1. Check the logs of the add-on to see if everything went well.
|
||||
1. Access the web UI through the sidebar or at `<your-ip>:8071`.
|
||||
1. Access the web UI through the Home Assistant sidebar.
|
||||
|
||||
## Configuration
|
||||
|
||||
The web UI can be found at `<your-ip>:8071` or through the Home Assistant sidebar when using Ingress.
|
||||
The web UI is reached through the Home Assistant sidebar (Ingress). This add-on does not publish a port on your network, so it has no **Network** section in its configuration page and is not reachable at `<your-ip>:8071`.
|
||||
|
||||
**Default credentials:**
|
||||
- Username: `admin`
|
||||
@@ -69,7 +69,7 @@ The web UI can be found at `<your-ip>:8071` or through the Home Assistant sideba
|
||||
## Setup
|
||||
|
||||
1. Start the add-on and wait for it to initialize.
|
||||
1. Access the web interface through the Home Assistant sidebar or at `<your-ip>:8071`.
|
||||
1. Access the web interface through the Home Assistant sidebar.
|
||||
1. Log in using the default credentials:
|
||||
- Username: `admin`
|
||||
- Password: `admin`
|
||||
|
||||
@@ -114,4 +114,4 @@ schema:
|
||||
slug: filebrowser_quantum
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "1.5.1"
|
||||
version: "1.5.1.1"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
gitea/stats.png
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
grav/stats.png
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
immich/stats.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
inadyn/stats.png
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
joal/stats.png
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
joplin/stats.png
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
kometa/stats.png
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
komga/icon.png
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
komga/logo.png
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
lidarr/stats.png
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
mealie/stats.png
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
monica/stats.png
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
mylar3/stats.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
nzbget/stats.png
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |