From 51f57caa725a4165ee2d9aaa25155806b4e3401a Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 12 Nov 2025 08:55:00 -0600 Subject: [PATCH] Use writable home and bump version --- CloudronManifest.json | 2 +- start.sh | 17 +++++++---------- supervisord.conf | 1 + 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/CloudronManifest.json b/CloudronManifest.json index 28f377c..f51bad4 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.0", + "version": "0.1.1", "changelog": "Initial Cloudron packaging", "manifestVersion": 2, "minBoxVersion": "7.0.0", diff --git a/start.sh b/start.sh index 8c2ce70..2050503 100644 --- a/start.sh +++ b/start.sh @@ -6,8 +6,9 @@ APP_DATA_DIR=${APP_DATA_DIR:-/app/data} APP_RUNTIME_DIR=${APP_RUNTIME_DIR:-/run/affine} APP_TMP_DIR=${APP_TMP_DIR:-/tmp/data} APP_BUILD_DIR=${APP_BUILD_DIR:-/app/code/affine} -AFFINE_HOME=/home/cloudron/.affine -export APP_CODE_DIR APP_DATA_DIR APP_RUNTIME_DIR APP_TMP_DIR APP_BUILD_DIR +APP_HOME_DIR=${APP_HOME_DIR:-/app/data/home} +AFFINE_HOME=${AFFINE_HOME:-$APP_HOME_DIR/.affine} +export APP_CODE_DIR APP_DATA_DIR APP_RUNTIME_DIR APP_TMP_DIR APP_BUILD_DIR APP_HOME_DIR AFFINE_HOME log() { printf '[%s] %s\n' "$(date --iso-8601=seconds)" "$*" @@ -23,7 +24,7 @@ require_env() { prepare_data_dirs() { log "Preparing persistent directories" - mkdir -p "$APP_DATA_DIR/config" "$APP_DATA_DIR/storage" "$APP_DATA_DIR/logs" "$APP_RUNTIME_DIR" "$AFFINE_HOME" + mkdir -p "$APP_DATA_DIR/config" "$APP_DATA_DIR/storage" "$APP_DATA_DIR/logs" "$APP_RUNTIME_DIR" "$APP_HOME_DIR" "$AFFINE_HOME" if [ ! -f "$APP_DATA_DIR/config/config.json" ]; then log "Seeding default configuration" @@ -42,7 +43,7 @@ prepare_data_dirs() { ln -sf "$APP_DATA_DIR/config" "$AFFINE_HOME/config" ln -sf "$APP_DATA_DIR/storage" "$AFFINE_HOME/storage" - chown -R cloudron:cloudron "$APP_DATA_DIR" "$APP_RUNTIME_DIR" /home/cloudron + chown -R cloudron:cloudron "$APP_DATA_DIR" "$APP_RUNTIME_DIR" "$APP_HOME_DIR" } configure_database() { @@ -140,10 +141,6 @@ PY fi } -finalize_permissions() { - chown -R cloudron:cloudron "$APP_DATA_DIR" -} - update_server_config() { python3 - <<'PY' import json @@ -164,7 +161,7 @@ PY } main() { - export HOME=/home/cloudron + export HOME="$APP_HOME_DIR" prepare_data_dirs configure_database configure_redis @@ -172,7 +169,7 @@ main() { configure_server_metadata update_server_config configure_auth - finalize_permissions + chown -R cloudron:cloudron "$APP_DATA_DIR" "$APP_HOME_DIR" log "Starting supervisor" exec /usr/bin/supervisord -c "$APP_CODE_DIR/supervisord.conf" } diff --git a/supervisord.conf b/supervisord.conf index 8386746..2b0d9ad 100644 --- a/supervisord.conf +++ b/supervisord.conf @@ -22,6 +22,7 @@ autorestart=true startsecs=5 priority=20 user=cloudron +environment=HOME=/app/data/home stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr