#!/bin/bash # deploy — Build and deploy claudomator to /site/doot.terst.org # Usage: ./scripts/deploy # Example: sudo ./scripts/deploy set -euo pipefail FQDN="doot.terst.org" SITE_DIR="/site/${FQDN}" BIN_DIR="${SITE_DIR}/bin" SERVICE="claudomator@${FQDN}.service" REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)" echo "==> Building claudomator..." cd "${REPO_DIR}" export GOCACHE="${SITE_DIR}/cache/go-build" export GOPATH="${SITE_DIR}/cache/gopath" mkdir -p "${GOCACHE}" "${GOPATH}" go build -o "${BIN_DIR}/claudomator" ./cmd/claudomator/ echo "==> Copying scripts..." mkdir -p "${SITE_DIR}/scripts" cp "${REPO_DIR}/scripts/"* "${SITE_DIR}/scripts/" chown -R www-data:www-data "${SITE_DIR}/scripts" chmod +x "${SITE_DIR}/scripts/"* echo "==> Fixing permissions..." chown www-data:www-data "${BIN_DIR}/claudomator" chmod +x "${BIN_DIR}/claudomator" echo "==> Installing to /usr/local/bin..." cp "${BIN_DIR}/claudomator" /usr/local/bin/claudomator chmod +x /usr/local/bin/claudomator echo "==> Restarting service..." sudo systemctl restart "${SERVICE}" sudo systemctl status "${SERVICE}" --no-pager -l echo "==> Done!"