fix: update phase8_cutover.sh to clarify Docker network requirements and add network existence check
This commit is contained in:
@@ -3,7 +3,7 @@ set -euo pipefail
|
|||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# phase8_cutover.sh — HTTPS via Caddy + Mark GitHub repos as mirrors
|
# phase8_cutover.sh — HTTPS via Caddy + Mark GitHub repos as mirrors
|
||||||
# Depends on: All prior phases complete, macvlan network created on Unraid
|
# Depends on: All prior phases complete, required Docker network present on Unraid
|
||||||
# This is the "go live" script — after this, Gitea is the primary git host.
|
# This is the "go live" script — after this, Gitea is the primary git host.
|
||||||
#
|
#
|
||||||
# Caddy handles TLS automatically. TLS_MODE from .env controls how:
|
# Caddy handles TLS automatically. TLS_MODE from .env controls how:
|
||||||
@@ -37,6 +37,8 @@ phase_header 8 "Cutover (HTTPS via Caddy + Mark GitHub Mirrors)"
|
|||||||
read -ra REPOS <<< "$REPO_NAMES"
|
read -ra REPOS <<< "$REPO_NAMES"
|
||||||
PHASE8_STATE_DIR="$(_project_root)/.manifests"
|
PHASE8_STATE_DIR="$(_project_root)/.manifests"
|
||||||
PHASE8_STATE_FILE="${PHASE8_STATE_DIR}/phase8_github_repo_state.json"
|
PHASE8_STATE_FILE="${PHASE8_STATE_DIR}/phase8_github_repo_state.json"
|
||||||
|
# Reuse Unraid's existing Docker network.
|
||||||
|
UNRAID_DOCKER_NETWORK_NAME="br0"
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Helper: persist original GitHub repo settings for teardown symmetry
|
# Helper: persist original GitHub repo settings for teardown symmetry
|
||||||
@@ -171,9 +173,15 @@ log_step 3 "Deploying Caddy docker-compose..."
|
|||||||
if ssh_exec UNRAID "test -f '${CADDY_DATA_PATH}/docker-compose.yml'" 2>/dev/null; then
|
if ssh_exec UNRAID "test -f '${CADDY_DATA_PATH}/docker-compose.yml'" 2>/dev/null; then
|
||||||
log_info "Caddy docker-compose.yml already exists — skipping"
|
log_info "Caddy docker-compose.yml already exists — skipping"
|
||||||
else
|
else
|
||||||
|
if ! ssh_exec UNRAID "docker network inspect '${UNRAID_DOCKER_NETWORK_NAME}'" &>/dev/null; then
|
||||||
|
log_error "Required Docker network '${UNRAID_DOCKER_NETWORK_NAME}' not found on Unraid."
|
||||||
|
log_error "Create it in Unraid first or update phase8_cutover.sh to match your network name."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
TMPFILE=$(mktemp)
|
TMPFILE=$(mktemp)
|
||||||
CADDY_CONTAINER_IP="${UNRAID_CADDY_IP}"
|
CADDY_CONTAINER_IP="${UNRAID_CADDY_IP}"
|
||||||
export CADDY_CONTAINER_IP CADDY_DATA_PATH
|
GITEA_NETWORK_NAME="${UNRAID_DOCKER_NETWORK_NAME}"
|
||||||
|
export CADDY_CONTAINER_IP CADDY_DATA_PATH GITEA_NETWORK_NAME
|
||||||
|
|
||||||
if [[ "$TLS_MODE" == "cloudflare" ]]; then
|
if [[ "$TLS_MODE" == "cloudflare" ]]; then
|
||||||
CADDY_ENV_VARS=" - CF_API_TOKEN=${CLOUDFLARE_API_TOKEN}"
|
CADDY_ENV_VARS=" - CF_API_TOKEN=${CLOUDFLARE_API_TOKEN}"
|
||||||
@@ -187,7 +195,7 @@ else
|
|||||||
export CADDY_ENV_VARS CADDY_EXTRA_VOLUMES
|
export CADDY_ENV_VARS CADDY_EXTRA_VOLUMES
|
||||||
|
|
||||||
render_template "${SCRIPT_DIR}/templates/docker-compose-caddy.yml.tpl" "$TMPFILE" \
|
render_template "${SCRIPT_DIR}/templates/docker-compose-caddy.yml.tpl" "$TMPFILE" \
|
||||||
"\${CADDY_DATA_PATH} \${CADDY_CONTAINER_IP} \${CADDY_ENV_VARS} \${CADDY_EXTRA_VOLUMES}"
|
"\${CADDY_DATA_PATH} \${CADDY_CONTAINER_IP} \${CADDY_ENV_VARS} \${CADDY_EXTRA_VOLUMES} \${GITEA_NETWORK_NAME}"
|
||||||
# Strip empty YAML blocks left when optional vars are blank
|
# Strip empty YAML blocks left when optional vars are blank
|
||||||
if [[ -z "$CADDY_ENV_VARS" ]]; then
|
if [[ -z "$CADDY_ENV_VARS" ]]; then
|
||||||
sed -i.bak '/^[[:space:]]*environment:$/d' "$TMPFILE"
|
sed -i.bak '/^[[:space:]]*environment:$/d' "$TMPFILE"
|
||||||
|
|||||||
Reference in New Issue
Block a user