52 lines
1.3 KiB
Bash
Executable File
52 lines
1.3 KiB
Bash
Executable File
#!/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 "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
|
|
|
|
apt update
|
|
apt install -y docker.io docker-compose-plugin git curl jq python3 python3-pip
|
|
|
|
systemctl enable docker
|
|
systemctl start docker
|
|
|
|
usermod -aG docker "$APP_USER"
|
|
|
|
mkdir -p "$APPFACTORY_DIR"/{apps,backups,config,data/gitea,data/registry,deploy,gateway/static,services,templates}
|
|
mkdir -p "$WORKSPACE_DIR"
|
|
|
|
cat > "$APPFACTORY_DIR/config/appfactory.env" <<EOF_ENV
|
|
APP_USER="$APP_USER"
|
|
APP_GROUP="$APP_GROUP"
|
|
APPFACTORY_DIR="$APPFACTORY_DIR"
|
|
WORKSPACE_DIR="$WORKSPACE_DIR"
|
|
BACKUP_DIR="$APPFACTORY_DIR/backups"
|
|
EOF_ENV
|
|
|
|
chmod 600 "$APPFACTORY_DIR/config/appfactory.env"
|
|
|
|
chown -R "$APP_USER:$APP_GROUP" "$APPFACTORY_DIR"
|
|
chown -R "$APP_USER:$APP_GROUP" "$WORKSPACE_DIR"
|
|
|
|
echo ""
|
|
echo "Bootstrap complete."
|
|
echo "Logout/login again so docker group is applied."
|