diff --git a/scripts/deploy-app.sh b/scripts/deploy-app.sh index 5447773..f578729 100755 --- a/scripts/deploy-app.sh +++ b/scripts/deploy-app.sh @@ -15,6 +15,17 @@ APP_SOURCE_DIR="$WORKSPACE_DIR/$APP_ID" CATALOG_FILE="$APPFACTORY_DIR/apps/catalog.yml" TOOLS_DIR="$WORKSPACE_DIR/appfactory-tools" +safe_chown() { + local target="$1" + local uid + local gid + + uid="${APP_UID:-$(stat -c '%u' "$WORKSPACE_DIR")}" + gid="${APP_GID:-$(stat -c '%g' "$WORKSPACE_DIR")}" + + chown -R "$uid:$gid" "$target" || true +} + if [ ! -d "$APP_SOURCE_DIR" ]; then echo "Missing app source: $APP_SOURCE_DIR" exit 1 @@ -25,7 +36,7 @@ if [ ! -f "$APP_SOURCE_DIR/Dockerfile" ]; then exit 1 fi -chown -R "$APP_USER:$APP_GROUP" "$APP_SOURCE_DIR" || true +safe_chown "$APP_SOURCE_DIR" echo "Updating source code..." cd "$APP_SOURCE_DIR" @@ -68,6 +79,8 @@ cd "$APPFACTORY_DIR/deploy" docker compose -f docker-compose.yml -f apps-compose.yml up -d --force-recreate "$APP_ID" +safe_chown "$APP_SOURCE_DIR" + echo "" echo "DONE" echo "Open:" diff --git a/scripts/new-python-app.sh b/scripts/new-python-app.sh index 4fbea82..6c3c527 100755 --- a/scripts/new-python-app.sh +++ b/scripts/new-python-app.sh @@ -15,6 +15,17 @@ fi TEMPLATE_DIR="$WORKSPACE_DIR/python-fastapi-template" TARGET_DIR="$WORKSPACE_DIR/$APP_ID" +safe_chown() { + local target="$1" + local uid + local gid + + uid="${APP_UID:-$(stat -c '%u' "$WORKSPACE_DIR")}" + gid="${APP_GID:-$(stat -c '%g' "$WORKSPACE_DIR")}" + + chown -R "$uid:$gid" "$target" || true +} + if [ ! -d "$TEMPLATE_DIR" ]; then echo "Template not found: $TEMPLATE_DIR" exit 1 @@ -99,7 +110,7 @@ git add . git commit -m "Initial $APP_NAME" git push -u origin main -chown -R "$APP_USER:$APP_GROUP" "$TARGET_DIR" || true +safe_chown "$TARGET_DIR" echo "" echo "DONE"