From 93a690db85ffb630f751f9c5bfd55de9ed88fd13 Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Thu, 2 Apr 2026 10:25:07 +0000 Subject: [PATCH] feat: enable forgejo by default in firstboot --- build.cfg | 6 ++++++ firstboot/firstboot.sh | 10 ++++++++++ firstboot/shell-env.sh | 13 ++++++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/build.cfg b/build.cfg index fd9ba2db..c4d5d38c 100644 --- a/build.cfg +++ b/build.cfg @@ -61,6 +61,12 @@ TELEGRAM_BOT_TOKEN="${TELEGRAM_BOT_TOKEN:-}" TELEGRAM_CHAT_ID="${TELEGRAM_CHAT_ID:-}" FEATURE_TELEGRAM="${FEATURE_TELEGRAM:-}" +# Code hosting (local git + Forgejo by default) +CODE_HOSTING_MODE="${CODE_HOSTING_MODE:-gitea}" +FEATURE_GIT="${FEATURE_GIT:-YES}" +FEATURE_GITEA="${FEATURE_GITEA:-YES}" +FORGEJO_DISK_ESTIMATE="${FORGEJO_DISK_ESTIMATE:-1.2 GB}" + # SSH public key (optional, supplied via --ssh-key flag) SSH_PUBLIC_KEY="${SSH_PUBLIC_KEY:-}" diff --git a/firstboot/firstboot.sh b/firstboot/firstboot.sh index 5f993f98..16f59fc9 100644 --- a/firstboot/firstboot.sh +++ b/firstboot/firstboot.sh @@ -116,6 +116,15 @@ By continuing, you assume all risks." 12 60 "Timezone (e.g. Europe/Ljubljana):" 8 50 "UTC") SSH_PUBLIC_KEY=$(_dialog --inputbox \ "SSH public key (optional — paste ssh-ed25519 or ssh-rsa):" 12 70 "") + if _dialog --yesno \ + "Enable web git UI (Forgejo)?\nAdds approx ${FORGEJO_DISK_ESTIMATE:-1.2 GB} of disk usage." 9 60; then + FEATURE_GITEA="YES" + CODE_HOSTING_MODE="gitea" + else + FEATURE_GITEA="NO" + CODE_HOSTING_MODE="git" + fi + : "${FEATURE_GIT:=YES}" step_done "wizard" fi @@ -123,6 +132,7 @@ fi export ASSISTANT_NAME AGENT_GENDER AGENT_DOMAIN TZ SSH_PUBLIC_KEY export PI_TUI_PROVIDER PI_TUI_MODEL ZAI_API_KEY OPENROUTER_API_KEY ANTHROPIC_API_KEY export EMBED_BASE_URL EMBED_MODEL TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID FEATURE_TELEGRAM +export CODE_HOSTING_MODE FEATURE_GIT FEATURE_GITEA FORGEJO_DISK_ESTIMATE # ── Run modules ──────────────────────────────────────────────────────────── log_msg "[firstboot] Running modules..." diff --git a/firstboot/shell-env.sh b/firstboot/shell-env.sh index 801595af..adfb278f 100755 --- a/firstboot/shell-env.sh +++ b/firstboot/shell-env.sh @@ -68,7 +68,7 @@ clawdie_shell_env_generate() { clawdie_shell_env_write_file() { # Write complete .env file with all required variables - local db_ip mgmt_ip git_ip cms_ip worker_start + local db_ip mgmt_ip git_ip cms_ip ollama_ip worker_start # Derive agent name from assistant name (lowercase, strip non-alnum) local agent_name @@ -77,8 +77,9 @@ clawdie_shell_env_write_file() { # Derive jail IPs from subnet base db_ip="${AGENT_SUBNET_BASE}.3" mgmt_ip="${AGENT_SUBNET_BASE}.2" - git_ip="${AGENT_SUBNET_BASE}.4" - cms_ip="${AGENT_SUBNET_BASE}.5" + cms_ip="${AGENT_SUBNET_BASE}.4" + ollama_ip="${AGENT_SUBNET_BASE}.5" + git_ip="${AGENT_SUBNET_BASE}.6" worker_start="${AGENT_SUBNET_BASE}.101" # Remove existing .env if present @@ -133,6 +134,9 @@ DB_JAIL_IP="$db_ip" GIT_JAIL_IP="$git_ip" CMS_JAIL_IP="$cms_ip" WORKER_JAIL_IP_START="$worker_start" +WARDEN_DB_IP="$db_ip" +WARDEN_GIT_IP="$git_ip" +WARDEN_OLLAMA_IP="$ollama_ip" # === Database === DB_HOST="$db_ip" @@ -145,6 +149,9 @@ DB_PASSWORD="$db_password" FEATURE_MANAGEMENT_JAIL="true" FEATURE_OLLAMA="false" FEATURE_TELEGRAM="${FEATURE_TELEGRAM:-false}" +FEATURE_GIT="${FEATURE_GIT:-YES}" +FEATURE_GITEA="${FEATURE_GITEA:-YES}" +CODE_HOSTING_MODE="${CODE_HOSTING_MODE:-gitea}" # === Telegram === TELEGRAM_BOT_TOKEN="${TELEGRAM_BOT_TOKEN:-}"