Fix ownership handling in app scripts
This commit is contained in:
+14
-1
@@ -15,6 +15,17 @@ APP_SOURCE_DIR="$WORKSPACE_DIR/$APP_ID"
|
|||||||
CATALOG_FILE="$APPFACTORY_DIR/apps/catalog.yml"
|
CATALOG_FILE="$APPFACTORY_DIR/apps/catalog.yml"
|
||||||
TOOLS_DIR="$WORKSPACE_DIR/appfactory-tools"
|
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
|
if [ ! -d "$APP_SOURCE_DIR" ]; then
|
||||||
echo "Missing app source: $APP_SOURCE_DIR"
|
echo "Missing app source: $APP_SOURCE_DIR"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -25,7 +36,7 @@ if [ ! -f "$APP_SOURCE_DIR/Dockerfile" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chown -R "$APP_USER:$APP_GROUP" "$APP_SOURCE_DIR" || true
|
safe_chown "$APP_SOURCE_DIR"
|
||||||
|
|
||||||
echo "Updating source code..."
|
echo "Updating source code..."
|
||||||
cd "$APP_SOURCE_DIR"
|
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"
|
docker compose -f docker-compose.yml -f apps-compose.yml up -d --force-recreate "$APP_ID"
|
||||||
|
|
||||||
|
safe_chown "$APP_SOURCE_DIR"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "DONE"
|
echo "DONE"
|
||||||
echo "Open:"
|
echo "Open:"
|
||||||
|
|||||||
@@ -15,6 +15,17 @@ fi
|
|||||||
TEMPLATE_DIR="$WORKSPACE_DIR/python-fastapi-template"
|
TEMPLATE_DIR="$WORKSPACE_DIR/python-fastapi-template"
|
||||||
TARGET_DIR="$WORKSPACE_DIR/$APP_ID"
|
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
|
if [ ! -d "$TEMPLATE_DIR" ]; then
|
||||||
echo "Template not found: $TEMPLATE_DIR"
|
echo "Template not found: $TEMPLATE_DIR"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -99,7 +110,7 @@ git add .
|
|||||||
git commit -m "Initial $APP_NAME"
|
git commit -m "Initial $APP_NAME"
|
||||||
git push -u origin main
|
git push -u origin main
|
||||||
|
|
||||||
chown -R "$APP_USER:$APP_GROUP" "$TARGET_DIR" || true
|
safe_chown "$TARGET_DIR"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "DONE"
|
echo "DONE"
|
||||||
|
|||||||
Reference in New Issue
Block a user