diff --git a/install.sh b/install.sh index ae8ebee..12c467b 100755 --- a/install.sh +++ b/install.sh @@ -6,6 +6,7 @@ set -euo pipefail TARGET_DIR="/opt/nextworkspace" BACKUP_DIR="/opt/backup" +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" # --- Create backup vault and runtime directories --- echo "=== NextWorkspace Setup ===" @@ -17,23 +18,29 @@ mkdir -p "$TARGET_DIR/data/zoraxy" mkdir -p "$TARGET_DIR/compose" mkdir -p "$TARGET_DIR/logs" -# --- Interactive prompts --- -read -p "Domain [nextwks.eu]: " DOMAIN -DOMAIN="${DOMAIN:-nextwks.eu}" +# --- Interactive prompts (no defaults — user enters everything) --- +read -p "Domain: " DOMAIN +while [ -z "$DOMAIN" ]; do + read -p "Domain (required): " DOMAIN +done -read -p "TLS email (Let's Encrypt) [den@2-4-h.net]: " TLS_EMAIL -TLS_EMAIL="${TLS_EMAIL:-den@2-4-h.net}" +read -p "TLS email (Let's Encrypt): " TLS_EMAIL +while [ -z "$TLS_EMAIL" ]; do + read -p "TLS email (required): " TLS_EMAIL +done -read -p "Admin username [master]: " ADMIN_USERNAME -ADMIN_USERNAME="${ADMIN_USERNAME:-master}" +read -p "Admin username: " ADMIN_USERNAME +while [ -z "$ADMIN_USERNAME" ]; do + read -p "Admin username (required): " ADMIN_USERNAME +done -read -p "Admin password [auto-generated]: " ADMIN_PASSWORD -if [ -z "$ADMIN_PASSWORD" ]; then - ADMIN_PASSWORD="9Aku7MfklZU9ldnZ" -fi +# Generate strong random password +ADMIN_PASSWORD=$(tr -dc 'A-Za-z0-9!@#$%^&*()_+-=' < /dev/urandom | head -c 20 2>/dev/null || echo "NextWks$(date +%s)") echo "" echo "========================================" +echo " Domain: $DOMAIN" +echo " TLS email: $TLS_EMAIL" echo " Admin username: $ADMIN_USERNAME" echo " Admin password: $ADMIN_PASSWORD" echo " Save this password — it won't be shown again!" @@ -74,18 +81,17 @@ echo "[INSTALL] git, build-essential, podman, podman-compose..." apt-get update -qq apt-get install -y -qq git build-essential curl podman podman-compose -# ---- Clone / pull repo ---- +# ---- Deploy: use current scripts + tools --- REPO_DIR="/opt/NextWks" -REPO_URL="https://git.lohmar.co.uk/lexton-it/NextWks.git" +mkdir -p "$REPO_DIR" -if [ -d "$REPO_DIR/.git" ]; then - echo "[UPDATE] Repository exists — pulling latest..." - cd "$REPO_DIR" - git pull -else - echo "[CLONE] Cloning repository..." - git clone "$REPO_URL" "$REPO_DIR" -fi +# Copy current code to REPO_DIR (includes all latest changes) +echo "[COPY] Deploying current code to $REPO_DIR..." +cp -r "$SCRIPT_DIR"/* "$REPO_DIR/" +cp "$SCRIPT_DIR"/.gitignore "$REPO_DIR/" 2>/dev/null || true + +# Ensure tools are executable +chmod +x "$REPO_DIR/deploy.sh" "$REPO_DIR/install.sh" 2>/dev/null || true echo "[DONE] Bootstrapping complete. Running first deploy..." "$REPO_DIR/deploy.sh" --destroy