From 1c37a2b9308b4f4c669d50ef30964915a44f8fe8 Mon Sep 17 00:00:00 2001 From: Andreas Dueren Date: Tue, 18 Nov 2025 10:31:57 -0600 Subject: [PATCH] Respect user-defined S3 DCs --- CHANGELOG.md | 4 ++++ CloudronManifest.json | 2 +- start.sh | 15 +++++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce39249..4daa89c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.5.4 (2025-11-18) + +* Respect user-defined S3 data-center identifiers so replication targets use the intended buckets + ## 0.5.1 (2025-11-05) * Fix `httpPorts` host detection so accounts/cast/family/albums subdomains serve their static frontends again diff --git a/CloudronManifest.json b/CloudronManifest.json index 0f30ad0..4455292 100644 --- a/CloudronManifest.json +++ b/CloudronManifest.json @@ -7,7 +7,7 @@ "contactEmail": "contact@ente.io", "website": "https://ente.io", "tagline": "Open source, end-to-end encrypted photo backup", - "version": "0.5.3", + "version": "0.5.4", "upstreamVersion": "git-main", "healthCheckPath": "/health", "httpPort": 3080, diff --git a/start.sh b/start.sh index 06e9008..2b37588 100755 --- a/start.sh +++ b/start.sh @@ -272,7 +272,7 @@ S3_SECONDARY_BUCKET="${S3_SECONDARY_BUCKET:-${ENTE_S3_SECONDARY_BUCKET:-}}" S3_SECONDARY_ACCESS_KEY="${S3_SECONDARY_ACCESS_KEY:-${ENTE_S3_SECONDARY_ACCESS_KEY:-}}" S3_SECONDARY_SECRET_KEY="${S3_SECONDARY_SECRET_KEY:-${ENTE_S3_SECONDARY_SECRET_KEY:-}}" S3_SECONDARY_PREFIX="${S3_SECONDARY_PREFIX:-${ENTE_S3_SECONDARY_PREFIX:-}}" -S3_SECONDARY_DC_RAW="${ENTE_S3_SECONDARY_DC:-}" +S3_SECONDARY_DC_RAW="${S3_SECONDARY_DC:-${ENTE_S3_SECONDARY_DC:-}}" S3_SECONDARY_ENABLED=false S3_SECONDARY_ENDPOINT_HOST="" @@ -282,7 +282,8 @@ S3_COLD_BUCKET="${S3_COLD_BUCKET:-${ENTE_S3_COLD_BUCKET:-}}" S3_COLD_ACCESS_KEY="${S3_COLD_ACCESS_KEY:-${ENTE_S3_COLD_ACCESS_KEY:-}}" S3_COLD_SECRET_KEY="${S3_COLD_SECRET_KEY:-${ENTE_S3_COLD_SECRET_KEY:-}}" S3_COLD_PREFIX="${S3_COLD_PREFIX:-${ENTE_S3_COLD_PREFIX:-}}" -S3_COLD_DC_RAW="${ENTE_S3_COLD_DC:-}" +S3_COLD_DC_DEFAULT="${S3_COLD_DC:-${ENTE_S3_COLD_DC:-scw-eu-fr-v3}}" +S3_COLD_DC_RAW="${S3_COLD_DC:-${ENTE_S3_COLD_DC:-}}" S3_COLD_ENABLED=false S3_COLD_ENDPOINT_HOST="" @@ -337,9 +338,9 @@ S3_FORCE_PATH_STYLE_RAW="${S3_FORCE_PATH_STYLE:-${ENTE_S3_FORCE_PATH_STYLE:-$DEF S3_FORCE_PATH_STYLE="$(printf '%s' "$S3_FORCE_PATH_STYLE_RAW" | tr '[:upper:]' '[:lower:]')" S3_ARE_LOCAL_BUCKETS="$(printf '%s' "${S3_ARE_LOCAL_BUCKETS:-${ENTE_S3_ARE_LOCAL_BUCKETS:-false}}" | tr '[:upper:]' '[:lower:]')" -S3_PRIMARY_DC="${ENTE_S3_PRIMARY_DC:-b2-eu-cen}" -S3_COLD_DC="${ENTE_S3_COLD_DC:-scw-eu-fr-v3}" -S3_DERIVED_DC="${ENTE_S3_DERIVED_DC:-$S3_PRIMARY_DC}" +S3_PRIMARY_DC="${S3_PRIMARY_DC:-${ENTE_S3_PRIMARY_DC:-b2-eu-cen}}" +S3_COLD_DC="${S3_COLD_DC_DEFAULT}" +S3_DERIVED_DC="${S3_DERIVED_DC:-${ENTE_S3_DERIVED_DC:-$S3_PRIMARY_DC}}" S3_SECONDARY_ENV_PRESENT=false for value in "$S3_SECONDARY_ENDPOINT" "$S3_SECONDARY_REGION" "$S3_SECONDARY_BUCKET" "$S3_SECONDARY_ACCESS_KEY" "$S3_SECONDARY_SECRET_KEY" "$S3_SECONDARY_PREFIX" "$S3_SECONDARY_DC_RAW"; do @@ -398,11 +399,13 @@ if [ "$S3_NOT_CONFIGURED" = "false" ] && [ "$S3_COLD_ENV_PRESENT" = true ]; then S3_COLD_ENABLED=true if [ -n "$S3_COLD_DC_RAW" ]; then S3_COLD_DC="$S3_COLD_DC_RAW" + else + S3_COLD_DC="$S3_COLD_DC_DEFAULT" fi fi else S3_COLD_ENABLED=false - S3_COLD_DC="${S3_COLD_DC:-}" + S3_COLD_DC="" fi S3_DERIVED_ENV_PRESENT=false