From b41d38e0161d49fac23c1d552622e7b8310b1c68 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Thu, 22 Jan 2026 11:15:08 -1000 Subject: Add deploy script and remove resolved issues - Add deployment/deploy script for server-side deploys - Remove 10 completed issue files (001-016 batch) Co-Authored-By: Claude Opus 4.5 --- deploy.sh | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 deploy.sh (limited to 'deploy.sh') diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..d819097 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,64 @@ +#!/bin/bash +set -e + +# Configuration +REMOTE="titanium" +FQDN="doot.terst.org" +SITE_DIR="/site/${FQDN}" +SERVICE="task-dashboard@${FQDN}" + +echo "==> Building binary (linux/amd64)..." +GOOS=linux GOARCH=amd64 go build -o app cmd/dashboard/main.go + +echo "==> Pushing code to ${REMOTE}..." +git push ${REMOTE} master + +echo "==> Uploading binary..." +scp app ${REMOTE}:${SITE_DIR}/app.new + +echo "==> Deploying on ${REMOTE}..." +ssh ${REMOTE} bash -s << 'EOF' +set -e +FQDN="doot.terst.org" +SITE_DIR="/site/${FQDN}" +SERVICE="task-dashboard@${FQDN}" + +cd ${SITE_DIR} + +echo "Stopping service..." +systemctl stop ${SERVICE} || true + +echo "Swapping binary..." +mv app.new app + +echo "Checking out latest code..." +cd app-code +GIT_WORK_TREE=${SITE_DIR}/checkout git checkout -f master 2>/dev/null || { + mkdir -p ${SITE_DIR}/checkout + GIT_WORK_TREE=${SITE_DIR}/checkout git checkout -f master +} +cd ${SITE_DIR} + +echo "Syncing static files..." +rsync -a --delete checkout/web/static/ public/ + +echo "Syncing templates..." +rsync -a --delete checkout/web/templates/ templates/ + +echo "Setting permissions..." +chown -R www-data:www-data ${SITE_DIR} +find ${SITE_DIR} -type d -exec chmod 755 {} \; +find ${SITE_DIR} -type f -exec chmod 644 {} \; +chmod +x ${SITE_DIR}/app +chmod 600 ${SITE_DIR}/.env 2>/dev/null || true + +echo "Starting service..." +systemctl start ${SERVICE} +sleep 1 +systemctl status ${SERVICE} --no-pager -l + +echo "Deploy complete!" +EOF + +rm -f app +echo "==> Done!" -- cgit v1.2.3