diff --git a/bin/sync-caddy.sh b/bin/sync-caddy.sh new file mode 100755 index 0000000..54391ff --- /dev/null +++ b/bin/sync-caddy.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# bin/sync-caddy.sh +# +# One-time (or on Caddy config change) script to install the baflakehouse +# Caddy route snippet and reload Caddy with zero downtime. +# +# Run from the project root: +# bash bin/sync-caddy.sh + +set -euo pipefail + +SNIPPET_SRC="$(dirname "$0")/../deploy/baflakehouse.caddy" +SNIPPET_DST="/docker/caddy/conf.d/baflakehouse.caddy" +CADDY_CONTAINER="caddy" + +echo "→ Copying Caddy snippet to ${SNIPPET_DST}..." +cp "${SNIPPET_SRC}" "${SNIPPET_DST}" + +echo "→ Reloading Caddy (zero downtime)..." +docker exec "${CADDY_CONTAINER}" caddy reload -c /etc/caddy/Caddyfile + +echo "✔ Done. Site live at https://docs.robwiederstein.org/baflakehouse" diff --git a/deploy/baflakehouse.caddy b/deploy/baflakehouse.caddy new file mode 100644 index 0000000..30597e3 --- /dev/null +++ b/deploy/baflakehouse.caddy @@ -0,0 +1,13 @@ +# BAF Lakehouse pkgdown site +# Served at: https://docs.robwiederstein.org/baflakehouse +# +# handle_path strips the /baflakehouse prefix before handing off to the +# file server, so requests map correctly to the flat docs/ directory. +# +# NOTE: The path below must match the mount point inside the Caddy Docker +# container (i.e., wherever /data/projects/ is mounted in docker-compose.yml). + +handle_path /baflakehouse* { + root * /data/projects/bank-fraud-baf-lakehouse/docs + file_server +}