summaryrefslogtreecommitdiff
path: root/deploy.sh
blob: 7953b1059b453f0345d2ce597b5cd39eddb9cbef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env bash
set -euo pipefail

SERVER="website@kyren.codes"
REMOTE_DIR="/var/lib/website"

echo "Generating Tailwind and Templ..."

templ generate
tailwindcss -i ./public/styles/main.css -o ./public/styles/style.css

echo "Cross compiling Golang binary..."
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o website .

echo "Copying binary to server..."
rsync -avzP --delete website ${SERVER}:${REMOTE_DIR}/website.new

echo "Swapping to new binary"
ssh ${SERVER} << 'EOF'
  cp /var/lib/website/website /var/lib/website/website.old 2>/dev/null || true
  mv /var/lib/website/website.new /var/lib/website/website
  chmod +x /var/lib/website/website
  systemctl --user restart website || sudo systemctl restart website
  # rm /var/lib/website/website.old
EOF

echo "Finished deploying new binary"