#!/usr/bin/env bash set -euo pipefail APP_USER="${SUDO_USER:-$USER}" APP_GROUP="$APP_USER" APPFACTORY_DIR="/opt/appfactory" WORKSPACE_DIR="/home/$APP_USER/workspace" echo "======================================================" echo "AppFactory Bootstrap" echo "======================================================" echo "" echo "User: $APP_USER" echo "Workspace: $WORKSPACE_DIR" echo "AppFactory: $APPFACTORY_DIR" echo "" read -r -p "Continue? (yes/no): " CONFIRM if [ "$CONFIRM" != "yes" ]; then echo "Cancelled." exit 1 fi echo "" echo "Updating system..." apt update apt install -y \ docker.io \ docker-compose-plugin \ git \ curl \ jq \ python3 \ python3-pip echo "" echo "Enabling Docker..." systemctl enable docker systemctl start docker echo "" echo "Adding user to docker group..." usermod -aG docker "$APP_USER" echo "" echo "Creating directories..." mkdir -p "$APPFACTORY_DIR" mkdir -p "$APPFACTORY_DIR/apps" mkdir -p "$APPFACTORY_DIR/backups" mkdir -p "$APPFACTORY_DIR/config" mkdir -p "$APPFACTORY_DIR/data" mkdir -p "$APPFACTORY_DIR/data/gitea" mkdir -p "$APPFACTORY_DIR/data/registry" mkdir -p "$APPFACTORY_DIR/deploy" mkdir -p "$APPFACTORY_DIR/gateway" mkdir -p "$APPFACTORY_DIR/gateway/static" mkdir -p "$APPFACTORY_DIR/services" mkdir -p "$APPFACTORY_DIR/templates" mkdir -p "$WORKSPACE_DIR" echo "" echo "Creating config..." cat > "$APPFACTORY_DIR/config/appfactory.env" <