Add auto-deployment infrastructure for all 4 LXCs
- Per-LXC deploy scripts (lxc151-hookshot, lxc106-cinny, lxc139-landing, lxc110-draupnir) - Per-LXC webhook hook configs with unique HMAC-SHA256 secrets - Livekit graceful restart script + systemd timer (waits for zero active calls) - Fix hookshot/deploy.sh capitalization bug (Uptime-Kuma, Tinker-Tickets, etc.) Each LXC independently clones repo and runs its own deploy.sh via adnanh/webhook on port 9000. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
49
deploy/lxc151-hookshot.sh
Normal file
49
deploy/lxc151-hookshot.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# Auto-deploy script for LXC 151 (matrix homeserver)
|
||||
# Handles: hookshot transformation functions, livekit service file (graceful)
|
||||
# Triggered by: Gitea webhook on push to main
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="/opt/matrix-config"
|
||||
LOG="/var/log/matrix-deploy.log"
|
||||
CLONE_URL="https://code.lotusguild.org/LotusGuild/matrix.git"
|
||||
ENV_FILE="/etc/matrix-deploy.env"
|
||||
|
||||
exec >> "$LOG" 2>&1
|
||||
echo "=== $(date) === LXC151 deploy triggered ==="
|
||||
|
||||
# Load env (MATRIX_TOKEN, MATRIX_SERVER, MATRIX_ROOM)
|
||||
if [ -f "$ENV_FILE" ]; then
|
||||
source "$ENV_FILE"
|
||||
fi
|
||||
|
||||
# Clone or pull
|
||||
if [ ! -d "$REPO_DIR/.git" ]; then
|
||||
git clone "$CLONE_URL" "$REPO_DIR"
|
||||
else
|
||||
cd "$REPO_DIR"
|
||||
git fetch --all
|
||||
PREV=$(git rev-parse HEAD)
|
||||
git reset --hard origin/main
|
||||
NEW=$(git rev-parse HEAD)
|
||||
CHANGED=$(git diff --name-only "$PREV" "$NEW")
|
||||
echo "Changed files: $CHANGED"
|
||||
|
||||
# Hookshot transforms
|
||||
if echo "$CHANGED" | grep -q '^hookshot/'; then
|
||||
echo "Deploying hookshot transforms..."
|
||||
export MATRIX_TOKEN MATRIX_SERVER MATRIX_ROOM
|
||||
bash "$REPO_DIR/hookshot/deploy.sh"
|
||||
fi
|
||||
|
||||
# Livekit service file — graceful restart (never kill active calls)
|
||||
if echo "$CHANGED" | grep -q '^systemd/livekit-server.service'; then
|
||||
echo "livekit-server.service changed — staging graceful restart..."
|
||||
cp "$REPO_DIR/systemd/livekit-server.service" /etc/systemd/system/livekit-server.service
|
||||
systemctl daemon-reload
|
||||
touch /run/livekit-restart-pending
|
||||
echo "Restart pending — will apply when no active calls."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "=== $(date) === LXC151 deploy complete ==="
|
||||
Reference in New Issue
Block a user