add some sites

This commit is contained in:
Ross
2025-12-07 14:28:00 +00:00
commit 390ec25bd5
9 changed files with 137 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
# Example sudoers line to allow the `git` or deploy user to reload caddy without a password.
# Install by placing a file in /etc/sudoers.d/ (e.g., /etc/sudoers.d/infra-caddy-deploy)
# Replace `git` with the deploy user you use for the hook.
git ALL=(root) NOPASSWD: /bin/systemctl reload caddy
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
# Simple local deploy helper: copy or rsync this repo into the target DEPLOY_DIR
# Then validate and reload. Intended for operators running from the repo clone.
set -eu
THIS_DIR=$(cd "$(dirname "$0")/.." && pwd)
DEPLOY_DIR=${DEPLOY_DIR:-/srv/caddy-config}
SYSTEM_CADDYFILE=${SYSTEM_CADDYFILE:-/etc/caddy/Caddyfile}
echo "Syncing ${THIS_DIR} -> ${DEPLOY_DIR}"
mkdir -p "${DEPLOY_DIR}"
rsync -a --delete "${THIS_DIR}/" "${DEPLOY_DIR}/"
echo "Running validation and reload against ${SYSTEM_CADDYFILE}"
SYSTEM_CADDYFILE="${SYSTEM_CADDYFILE}" DEPLOY_DIR="${DEPLOY_DIR}" "${DEPLOY_DIR}/deploy/validate-and-reload.sh"
+17
View File
@@ -0,0 +1,17 @@
#!/bin/sh
# Example bare-repo post-receive hook to update a checked-out deploy directory
# Adjust DEPLOY_DIR and paths as necessary. Ensure this hook is executable.
DEPLOY_DIR=/srv/caddy-config
echo "Updating working tree at ${DEPLOY_DIR}"
GIT_WORK_TREE=${DEPLOY_DIR} git checkout -f
# Run validation + reload script from the deploy dir (if present)
if [ -x "${DEPLOY_DIR}/deploy/validate-and-reload.sh" ]; then
echo "Running validation and reload"
"${DEPLOY_DIR}/deploy/validate-and-reload.sh"
else
echo "No validate-and-reload.sh found or not executable in ${DEPLOY_DIR}/deploy" >&2
exit 1
fi
+23
View File
@@ -0,0 +1,23 @@
#!/bin/sh
# Validate system Caddy configuration and reload Caddy on success.
# Usage: run from the checked-out deployment directory, or pass env vars
# Environment variables:
# SYSTEM_CADDYFILE - path to system Caddyfile that includes this repo (default /etc/caddy/Caddyfile)
# DEPLOY_DIR - path of the checked-out config repo used by system Caddy (not modified by this script)
set -eu
SYSTEM_CADDYFILE=${SYSTEM_CADDYFILE:-/etc/caddy/Caddyfile}
DEPLOY_DIR=${DEPLOY_DIR:-/srv/caddy-config}
echo "Validating Caddy configuration: ${SYSTEM_CADDYFILE}"
if ! /usr/bin/caddy validate --config "${SYSTEM_CADDYFILE}"; then
echo "Caddy validation failed; aborting reload" >&2
exit 1
fi
echo "Validation succeeded; reloading Caddy"
sudo systemctl reload caddy
echo "Caddy reloaded successfully"