#!/usr/bin/env bash # Deploy hacktivism Bonfire branding (hacktivism magician logo + exchange-dark palette). # Live root: ~/koopa-bonfire/ set -euo pipefail ROOT="${KOOPA_BONFIRE_ROOT:-$HOME/koopa-bonfire}" SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" REPO_ROOT="$(cd "$SCRIPT_DIR/../.." 2>/dev/null && pwd || true)" BRANDING_DST="$ROOT/data/branding" ENV_FILE="$ROOT/.env" install -d -m 755 "$BRANDING_DST" if [[ -d "$REPO_ROOT/configs/bonfire/assets/img" ]]; then BRANDING_SRC="$REPO_ROOT/configs/bonfire/assets/img" install -m 644 "$BRANDING_SRC/logo.svg" "$BRANDING_DST/logo.svg" install -m 644 "$BRANDING_SRC/favicon.svg" "$BRANDING_DST/favicon.svg" install -m 644 "$BRANDING_SRC/logo.png" "$BRANDING_DST/logo.png" elif [[ ! -f "$BRANDING_DST/logo.svg" ]]; then echo "missing $BRANDING_DST/logo.svg (copy assets or run from koopa-admin-log checkout)" >&2 exit 1 fi # APP_NAME drives suffix and og:site_name when instance_name is unset in HTML meta. if [[ -f "$ENV_FILE" ]]; then if grep -q '^APP_NAME=' "$ENV_FILE"; then sed -i 's/^APP_NAME=.*/APP_NAME=hacktivism bonfire/' "$ENV_FILE" else echo 'APP_NAME=hacktivism bonfire' >> "$ENV_FILE" fi if grep -q '^INSTANCE_DESCRIPTION=' "$ENV_FILE"; then sed -i 's/^INSTANCE_DESCRIPTION=.*/INSTANCE_DESCRIPTION=Bonfire on hacktivism.ch - FOSS posts and gitbot commits./' "$ENV_FILE" else echo 'INSTANCE_DESCRIPTION=Bonfire on hacktivism.ch - FOSS posts and gitbot commits.' >> "$ENV_FILE" fi fi if [[ "$SCRIPT_DIR/apply-branding.exs" != "$ROOT/bin/apply-branding.exs" ]]; then install -m 755 "$SCRIPT_DIR/apply-branding.exs" "$ROOT/bin/apply-branding.exs" fi echo "Applying instance theme settings via bonfire remote..." sleep 2 printf '%s\n' "$(cat "$ROOT/bin/apply-branding.exs")" | podman exec -i koopa-bonfire /opt/app/bin/bonfire remote >/tmp/bonfire-branding.log 2>&1 || { echo "remote apply failed; see /tmp/bonfire-branding.log" >&2 tail -30 /tmp/bonfire-branding.log >&2 exit 1 } grep -q 'ok branding settings applied' /tmp/bonfire-branding.log echo "Recreating web container (compose branding volume)..." cd "$ROOT" podman-compose up -d --no-deps --force-recreate web echo "Done. Check https://bonfire.hacktivism.ch/ (hard-reload if cached)."