28 lines
589 B
Bash
28 lines
589 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
COMPOSE_DIR="${COMPOSE_DIR:-/app}"
|
|
WEBHOOK_PORT="${WEBHOOK_PORT:-9000}"
|
|
|
|
cd "$COMPOSE_DIR"
|
|
|
|
deploy() {
|
|
echo "[$(date)] Deploy triggered..."
|
|
docker compose pull
|
|
docker compose up -d --remove-orphans
|
|
echo "[$(date)] Deploy complete."
|
|
}
|
|
|
|
echo "=== PC Builder Deploy Webhook ==="
|
|
echo "Compose dir: $COMPOSE_DIR"
|
|
echo "Listening on port $WEBHOOK_PORT..."
|
|
|
|
while true; do
|
|
# Netcat reads the HTTP request, we filter for POST /deploy
|
|
REQ=$(nc -l -p "$WEBHOOK_PORT" -q 1 2>/dev/null || true)
|
|
|
|
if echo "$REQ" | grep -q "^POST /deploy"; then
|
|
deploy &
|
|
fi
|
|
done
|