fix: remove unused FEDORA_CADDY_IP from validation and wizard
No phase script deploys Caddy on Fedora — only Unraid gets a Caddy container. Removed from .env.example, validation arrays, preflight required vars, IP ping check, wizard prompts, and doc references. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -42,7 +42,6 @@ FEDORA_MACVLAN_GATEWAY= # LAN gateway (e.g. 192.168.1.1)
|
||||
FEDORA_MACVLAN_IP_RANGE= # IP range for containers (e.g. 192.168.1.208/28 — 16 IPs)
|
||||
FEDORA_GITEA_IP= # Static LAN IP for Gitea container
|
||||
FEDORA_DB_IP= # Static LAN IP for DB container (leave empty if sqlite3)
|
||||
FEDORA_CADDY_IP= # Static LAN IP for Caddy container
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
2
PLAN.md
2
PLAN.md
@@ -680,7 +680,7 @@ gitea-migration/
|
||||
| 7 | Docker on Fedora | Same | Same |
|
||||
| 8 | docker-compose on Unraid | `ssh_exec UNRAID "docker compose version"` or `docker-compose --version` | "docker-compose not found on Unraid. Run setup/unraid.sh." |
|
||||
| 9 | docker-compose on Fedora | Same | Same |
|
||||
| 10 | Container IPs available | Ping-check `UNRAID_GITEA_IP`, `UNRAID_CADDY_IP`, `FEDORA_GITEA_IP`, `FEDORA_CADDY_IP` — warn if responding | "IP $ip is already responding to ping (may be in use)." |
|
||||
| 10 | Container IPs available | Ping-check `UNRAID_GITEA_IP`, `UNRAID_CADDY_IP`, `FEDORA_GITEA_IP` — warn if responding | "IP $ip is already responding to ping (may be in use)." |
|
||||
| 12 | DNS resolves | `dig +short $GITEA_DOMAIN` returns `$UNRAID_IP` | "$GITEA_DOMAIN does not resolve to $UNRAID_IP." |
|
||||
| 13 | GitHub token valid | `github_api GET /user` returns 200 | "GitHub token invalid. Check GITHUB_TOKEN in .env." |
|
||||
| 14 | GitHub repos exist | For each repo in `REPO_NAMES`: `github_api GET /repos/$GITHUB_USERNAME/$repo` returns 200 | "GitHub repo $repo not found under $GITHUB_USERNAME." |
|
||||
|
||||
@@ -214,7 +214,7 @@ Then re-run Phase 4. Already-migrated repos will be skipped.
|
||||
|
||||
**Symptom**: Preflight check 13 warns that a macvlan IP is already responding to ping.
|
||||
|
||||
**Fix**: Either release the conflicting IP or change the container IP in `.env` (`UNRAID_GITEA_IP`, `UNRAID_CADDY_IP`, `FEDORA_GITEA_IP`, or `FEDORA_CADDY_IP`).
|
||||
**Fix**: Either release the conflicting IP or change the container IP in `.env` (`UNRAID_GITEA_IP`, `UNRAID_CADDY_IP`, or `FEDORA_GITEA_IP`).
|
||||
|
||||
### DNS doesn't resolve to Unraid IP
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ _ENV_VAR_NAMES=(
|
||||
UNRAID_MACVLAN_PARENT UNRAID_MACVLAN_SUBNET UNRAID_MACVLAN_GATEWAY
|
||||
UNRAID_MACVLAN_IP_RANGE UNRAID_GITEA_IP UNRAID_CADDY_IP
|
||||
FEDORA_MACVLAN_PARENT FEDORA_MACVLAN_SUBNET FEDORA_MACVLAN_GATEWAY
|
||||
FEDORA_MACVLAN_IP_RANGE FEDORA_GITEA_IP FEDORA_CADDY_IP
|
||||
FEDORA_MACVLAN_IP_RANGE FEDORA_GITEA_IP
|
||||
GITEA_ADMIN_USER GITEA_ADMIN_PASSWORD GITEA_ADMIN_EMAIL
|
||||
GITEA_ORG_NAME GITEA_INSTANCE_NAME GITEA_DB_TYPE GITEA_VERSION ACT_RUNNER_VERSION
|
||||
GITEA_DOMAIN GITEA_INTERNAL_URL
|
||||
@@ -231,7 +231,7 @@ _ENV_VAR_TYPES=(
|
||||
nonempty nonempty ip
|
||||
nonempty ip ip
|
||||
nonempty nonempty ip
|
||||
nonempty ip ip
|
||||
nonempty ip
|
||||
nonempty password email
|
||||
nonempty nonempty db_type nonempty nonempty
|
||||
nonempty url
|
||||
@@ -564,6 +564,53 @@ render_template() {
|
||||
envsubst "$vars" < "$src" > "$dest"
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Template block helpers — conditional block stripping and DB-specific vars
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Strip conditional blocks from a rendered file.
|
||||
# Usage: strip_template_block <file> <start_marker> <end_marker>
|
||||
strip_template_block() {
|
||||
local file="$1" start="$2" end="$3"
|
||||
sed -i.bak "/${start}/,/${end}/d" "$file"
|
||||
rm -f "${file}.bak"
|
||||
}
|
||||
|
||||
# Set DB-specific variables for docker-compose template rendering.
|
||||
# Requires GITEA_DB_TYPE, GITEA_DB_USER, GITEA_DB_PASSWD, GITEA_DB_NAME in env.
|
||||
# Exports: DB_DOCKER_IMAGE, DB_ENV_VARS, DB_HEALTHCHECK, DB_DATA_DIR
|
||||
set_db_vars() {
|
||||
case "${GITEA_DB_TYPE}" in
|
||||
postgres)
|
||||
DB_DOCKER_IMAGE="postgres:16-alpine"
|
||||
DB_ENV_VARS=" - POSTGRES_USER=${GITEA_DB_USER}
|
||||
- POSTGRES_PASSWORD=${GITEA_DB_PASSWD}
|
||||
- POSTGRES_DB=${GITEA_DB_NAME}"
|
||||
DB_HEALTHCHECK='["CMD-SHELL", "pg_isready -U '"${GITEA_DB_USER}"'"]'
|
||||
DB_DATA_DIR="postgresql/data"
|
||||
;;
|
||||
mysql)
|
||||
DB_DOCKER_IMAGE="mysql:8.0"
|
||||
DB_ENV_VARS=" - MYSQL_ROOT_PASSWORD=${GITEA_DB_PASSWD}
|
||||
- MYSQL_DATABASE=${GITEA_DB_NAME}
|
||||
- MYSQL_USER=${GITEA_DB_USER}
|
||||
- MYSQL_PASSWORD=${GITEA_DB_PASSWD}"
|
||||
DB_HEALTHCHECK='["CMD", "mysqladmin", "ping", "-h", "localhost"]'
|
||||
DB_DATA_DIR="mysql"
|
||||
;;
|
||||
mssql)
|
||||
DB_DOCKER_IMAGE="mcr.microsoft.com/mssql/server:2022-latest"
|
||||
DB_ENV_VARS=" - ACCEPT_EULA=Y
|
||||
- SA_PASSWORD=${GITEA_DB_PASSWD}"
|
||||
# shellcheck disable=SC2089,SC2016
|
||||
DB_HEALTHCHECK='["CMD-SHELL", "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P '"'"'${GITEA_DB_PASSWD}'"'"' -Q \"SELECT 1\" -C -N"]'
|
||||
DB_DATA_DIR="mssql/data"
|
||||
;;
|
||||
esac
|
||||
# shellcheck disable=SC2090
|
||||
export DB_DOCKER_IMAGE DB_ENV_VARS DB_HEALTHCHECK DB_DATA_DIR
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Polling / waiting
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -243,7 +243,7 @@ REQUIRED_VARS=(
|
||||
UNRAID_MACVLAN_PARENT UNRAID_MACVLAN_SUBNET UNRAID_MACVLAN_GATEWAY
|
||||
UNRAID_MACVLAN_IP_RANGE UNRAID_GITEA_IP UNRAID_CADDY_IP
|
||||
FEDORA_MACVLAN_PARENT FEDORA_MACVLAN_SUBNET FEDORA_MACVLAN_GATEWAY
|
||||
FEDORA_MACVLAN_IP_RANGE FEDORA_GITEA_IP FEDORA_CADDY_IP
|
||||
FEDORA_MACVLAN_IP_RANGE FEDORA_GITEA_IP
|
||||
GITEA_ADMIN_USER GITEA_ADMIN_PASSWORD GITEA_ADMIN_EMAIL
|
||||
GITEA_ORG_NAME GITEA_INSTANCE_NAME
|
||||
GITEA_DOMAIN GITEA_INTERNAL_URL
|
||||
@@ -402,7 +402,7 @@ else
|
||||
# shellcheck disable=SC2329
|
||||
check_ips_available() {
|
||||
local fail=0
|
||||
for ip_var in UNRAID_GITEA_IP UNRAID_CADDY_IP FEDORA_GITEA_IP FEDORA_CADDY_IP; do
|
||||
for ip_var in UNRAID_GITEA_IP UNRAID_CADDY_IP FEDORA_GITEA_IP; do
|
||||
local ip="${!ip_var:-}"
|
||||
[[ -z "$ip" ]] && continue
|
||||
# ping -c1 -W1: one packet, 1-second timeout
|
||||
|
||||
@@ -65,7 +65,7 @@ get_env_val() {
|
||||
# Prompt function
|
||||
# ---------------------------------------------------------------------------
|
||||
# Base prompt count (fixed prompts + TLS conditional slots — repo/DB prompts added dynamically)
|
||||
TOTAL_PROMPTS=62
|
||||
TOTAL_PROMPTS=61
|
||||
CURRENT_PROMPT=0
|
||||
LAST_SECTION=""
|
||||
|
||||
@@ -254,7 +254,6 @@ prompt_var "FEDORA_MACVLAN_GATEWAY" "Fedora LAN gateway"
|
||||
prompt_var "FEDORA_MACVLAN_IP_RANGE" "Fedora container IP range" nonempty "" "DOCKER NETWORKING"
|
||||
prompt_var "FEDORA_GITEA_IP" "Fedora Gitea container IP" ip "" "DOCKER NETWORKING"
|
||||
prompt_var "FEDORA_DB_IP" "Fedora DB container IP (empty if sqlite3)" optional "" "DOCKER NETWORKING"
|
||||
prompt_var "FEDORA_CADDY_IP" "Fedora Caddy container IP" ip "" "DOCKER NETWORKING"
|
||||
|
||||
# --- GITEA SHARED CREDENTIALS ---
|
||||
prompt_var "GITEA_ADMIN_USER" "Admin username (same on both instances)" nonempty "" "GITEA SHARED CREDENTIALS"
|
||||
|
||||
Reference in New Issue
Block a user