#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" SKILL_ROOT="$(dirname "$SCRIPT_DIR")" source "$SCRIPT_DIR/_common.sh" : "${MODE:=docker}" : "${NODE_NAME:=node-b}" : "${HTTP_PORT:=3000}" : "${SSH_PORT:=2222}" : "${DOMAIN:=}" : "${DATA_DIR:=$HOME/gitea}" : "${ADMIN_USER:=}" : "${ADMIN_EMAIL:=}" main() { [[ -n "$ADMIN_USER" ]] || die "ADMIN_USER is required." [[ -n "$ADMIN_EMAIL" ]] || die "ADMIN_EMAIL is required." echo "[PLAN] $(date -Iseconds) Gitea Bootstrap ($MODE)" echo "[PLAN] Node: $NODE_NAME" echo "[PLAN] Data dir: $DATA_DIR" echo "[PLAN] Web: http://:$HTTP_PORT (or https://$DOMAIN via reverse proxy)" if [[ "$MODE" == "docker" ]]; then echo "[PLAN] SSH (git): :$SSH_PORT (container maps to 22)" echo "[PLAN] Will generate: outputs/compose.yml and outputs/gitea_app.ini" echo "[PLAN] Will run: docker compose up -d" else echo "[PLAN] Native install: package + systemd" echo "[PLAN] Will write: /etc/gitea/app.ini (backup first)" fi echo "[PLAN] Admin bootstrap:" echo " username=$ADMIN_USER email=$ADMIN_EMAIL" echo "[PLAN] Next: export DRY_RUN=0 && ./scripts/11_apply.sh" } main "$@"