Compare commits

..
Author SHA1 Message Date
github-actions bc3801f290 GitHub bot: changelog [nobuild] 2026-06-04 14:37:20 +00:00
Alexandre 1e66d635f3 Update config.yaml 2026-06-04 16:34:32 +02:00
GitHub Actions a8dbdabc40 Revert "Update config.yaml"
This reverts commit cd5ce11c37.
2026-06-04 14:12:17 +00:00
Alexandre cd5ce11c37 Update config.yaml 2026-06-04 16:09:35 +02:00
Alexandre f77964e501 Update 99-run.sh 2026-06-04 16:09:26 +02:00
Alexandre a8d67aa4a6 Merge pull request #2761 from alexbelgium/claude/ente-addon-review-lM4Zu
ente: fix SIGPIPE (exit 141) on startup from tr|head -c /dev/urandom …
2026-06-04 15:46:26 +02:00
Alexandre fe00c57724 Merge pull request #2760 from alexbelgium/claude/ente-addon-review-lM4Zu
ente: fix apparmor name, expose accounts/auth/cast ports, harden DB config
2026-06-04 15:35:59 +02:00
Alexandre d47d0e197d Update 99-run.sh 2026-06-04 15:32:32 +02:00
4 changed files with 3 additions and 60 deletions

No files matched your search

+1 -4
View File
@@ -1,8 +1,5 @@
## 4.4.22-7 (04-06-2026)
- Disable the per-account storage limit by default via the new NO_STORAGE_LIMIT
option (default true). Grants every account 100 TB and ~100 years validity,
equivalent to `ente admin update-subscription --no-limit`. Set to false to
keep Ente's default storage limits.
- Minor bugs fixed
## 4.4.22-6 (04-06-2026)
- Fix SIGPIPE (exit 141) on startup: tr piped to head -c against /dev/urandom
now suppresses the expected SIGPIPE under set -o pipefail
-5
View File
@@ -55,7 +55,6 @@ Webui can be found at <http://homeassistant:PORT>.
|--------|------|---------|-------------|
| `ENTE_ENDPOINT_URL` | str | `http://homeassistant.local:8280` | The URL where Ente API will be accessible (used by web UI) |
| `DB_PASSWORD` | str | `ente` | Database password for internal PostgreSQL |
| `NO_STORAGE_LIMIT` | bool | `true` | Remove the per-account storage limit (grants every account 100 TB and ~100 years validity, equivalent to `ente admin update-subscription --no-limit`). Set to `false` to keep the default Ente storage limits. |
| `USE_EXTERNAL_DB` | bool | `false` | Use external PostgreSQL database |
| `TZ` | str | `Europe/Paris` | Timezone setting |
@@ -133,10 +132,6 @@ After starting the addon for the first time:
The addon exposes the following ports:
- **8300** (3000/tcp): Ente web UI
- **8301** (3001/tcp): Ente Accounts
- **8302** (3002/tcp): Ente Albums
- **8303** (3003/tcp): Ente Auth
- **8304** (3004/tcp): Ente Cast
- **8305** (3005/tcp): Ente Share
- **8306** (3006/tcp): Ente Embed
- **8307** (3007/tcp): Ente Paste
-2
View File
@@ -82,7 +82,6 @@ options:
env_vars: []
DB_PASSWORD: ente
ENTE_ENDPOINT_URL: http://homeassistant.local:8280
NO_STORAGE_LIMIT: true
TZ: Europe/Paris
USE_EXTERNAL_DB: false
ports:
@@ -122,7 +121,6 @@ schema:
DB_PORT: int?
DB_USERNAME: str?
ENTE_ENDPOINT_URL: str
NO_STORAGE_LIMIT: bool?
TZ: str?
USE_EXTERNAL_DB: bool?
cifsdomain: str?
+2 -49
View File
@@ -1,6 +1,5 @@
#!/usr/bin/env bashio
# shellcheck shell=bash
set -euo pipefail
# Internal MinIO credentials (not user-configurable; MinIO is 127.0.0.1 only)
MINIO_CRED_FILE="/config/minio-creds"
@@ -10,14 +9,14 @@ if [ -f "$MINIO_CRED_FILE" ]; then
MINIO_PASS="$(sed -n '2p' "$MINIO_CRED_FILE")"
# Regenerate if file is corrupted
if [ -z "$MINIO_USER" ] || [ -z "$MINIO_PASS" ]; then
MINIO_USER="minio_$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 8 || true)"
MINIO_USER="minio_$(head -c 4 /dev/urandom | od -An -tx1 | tr -d ' \n')"
MINIO_PASS="$(head -c 24 /dev/urandom | base64 | tr -d '\n')"
printf '%s\n%s\n' "$MINIO_USER" "$MINIO_PASS" > "$MINIO_CRED_FILE"
chmod 600 "$MINIO_CRED_FILE"
fi
else
# Generate random credentials on first run
MINIO_USER="minio_$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 8 || true)"
MINIO_USER="minio_$(head -c 4 /dev/urandom | od -An -tx1 | tr -d ' \n')"
MINIO_PASS="$(head -c 24 /dev/urandom | base64 | tr -d '\n')"
printf '%s\n%s\n' "$MINIO_USER" "$MINIO_PASS" > "$MINIO_CRED_FILE"
chmod 600 "$MINIO_CRED_FILE"
@@ -62,13 +61,6 @@ else
bashio::log.info "Using internal Postgres."
fi
# Disable per-account storage limits by default (mirrors `ente admin
# update-subscription --no-limit`). Set NO_STORAGE_LIMIT=false to keep limits.
NO_STORAGE_LIMIT=true
if bashio::config.false 'NO_STORAGE_LIMIT'; then
NO_STORAGE_LIMIT=false
fi
# Active DB connection target (may be overridden below)
if $USE_EXTERNAL_DB; then
DB_HOST="$DB_HOST_EXT"
@@ -253,43 +245,6 @@ start_web() {
WEB_PID=$!
}
############################################
# Storage limit (no-limit) reconcile
############################################
# Equivalent of `ente admin update-subscription --no-limit`: grant every
# account 100 TB of storage and ~100 years of validity. The Ente CLI only
# supports this per-user and interactively, so to make it the default for all
# current and future accounts we reconcile the museum `subscriptions` table
# directly (the method documented by the Ente maintainers). Runs in the
# background and re-applies periodically so newly registered users are covered.
NO_LIMIT_STORAGE_BYTES=109951162777600 # 100 * 1024^4 (100 TiB)
NO_LIMIT_EXPIRY_SQL="(extract(epoch from now() + interval '100 years') * 1000000)::bigint"
reconcile_no_limit() {
export PGPASSWORD="$DB_PASS"
while true; do
# Storage is the limit that actually enforces quota; apply it first and
# independently so a schema change to other columns can't block it.
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" \
-c "UPDATE subscriptions SET storage = ${NO_LIMIT_STORAGE_BYTES} WHERE storage < ${NO_LIMIT_STORAGE_BYTES};" \
> /dev/null 2>&1 || true
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" \
-c "UPDATE subscriptions SET expiry_time = ${NO_LIMIT_EXPIRY_SQL} WHERE expiry_time < ${NO_LIMIT_EXPIRY_SQL};" \
> /dev/null 2>&1 || true
sleep 60
done
}
start_no_limit_reconcile() {
if ! $NO_STORAGE_LIMIT; then
bashio::log.info "NO_STORAGE_LIMIT disabled; per-account storage limits stay in effect."
return 0
fi
bashio::log.info "NO_STORAGE_LIMIT enabled; granting unlimited storage to all accounts."
reconcile_no_limit &
NO_LIMIT_PID=$!
}
############################################
# Museum (API)
############################################
@@ -340,7 +295,5 @@ wait_minio_ready_and_bucket
start_web
start_no_limit_reconcile
# Foreground — keeps container alive
start_museum_foreground