fix: install.sh no presets, random password, copies local code instead of cloning
This commit is contained in:
parent
e03cb76017
commit
585d4e6ec8
1 changed files with 27 additions and 21 deletions
48
install.sh
48
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue