From 1f3505f132c51643a59f49cbbec5a0c5130bb5da Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 12 Nov 2025 11:51:08 -0600 Subject: [PATCH] Update redis config via jq --- CloudronManifest.json | 2 +- start.sh | 26 ++++++++++++-------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/CloudronManifest.json b/CloudronManifest.json index dd88f1a..d4d921d 100644 --- a/CloudronManifest.json +++ b/CloudronManifest.json @@ -5,7 +5,7 @@ "description": "Next-gen knowledge base that blends docs, whiteboards, and databases for self-hosted teams.", "website": "https://affine.pro", "contactEmail": "support@affine.pro", - "version": "0.1.13", + "version": "0.1.14", "changelog": "Initial Cloudron packaging", "manifestVersion": 2, "minBoxVersion": "7.0.0", diff --git a/start.sh b/start.sh index f694902..2e260f7 100644 --- a/start.sh +++ b/start.sh @@ -127,20 +127,18 @@ PY record_env_var REDIS_SERVER_USERNAME "$username" record_env_var REDIS_URL "$CLOUDRON_REDIS_URL" record_env_var REDIS_SERVER_URL "$CLOUDRON_REDIS_URL" - python3 - <<'PY' -import json -import os -from pathlib import Path -config_path = Path(os.environ['APP_DATA_DIR']) / 'config' / 'config.json' -data = json.loads(config_path.read_text()) -redis = data.setdefault('redis', {}) -redis['host'] = os.environ.get('REDIS_SERVER_HOST', '') -redis['port'] = int(os.environ.get('REDIS_SERVER_PORT') or 6379) -redis['password'] = os.environ.get('REDIS_SERVER_PASSWORD', '') -redis['username'] = os.environ.get('REDIS_SERVER_USERNAME', '') -redis['db'] = int(os.environ.get('REDIS_SERVER_DATABASE') or 0) -config_path.write_text(json.dumps(data, indent=2)) -PY + jq --arg host "$host" \ + --arg port "$port" \ + --arg password "$password" \ + --arg username "$username" \ + --arg db "$db" \ + '.redis.host = $host + | .redis.port = ($port|tonumber) + | .redis.password = $password + | .redis.username = $username + | .redis.db = ($db|tonumber)' \ + "$APP_DATA_DIR/config/config.json" > "$APP_DATA_DIR/config/config.json.tmp" + mv "$APP_DATA_DIR/config/config.json.tmp" "$APP_DATA_DIR/config/config.json" log "Configured Redis endpoint" }