furtka/website/deploy.sh
Daniel Maksymilian Syrnicki defd2eda06
Some checks failed
CI / lint (push) Successful in 24s
CI / test (push) Successful in 32s
CI / validate-json (push) Successful in 23s
CI / markdown-links (push) Failing after 2s
feat: publish public website at furtka.org
Hugo static site with an intentionally minimal single-page copy — English
default, German under /de/ — while the project stays pre-alpha. No CMS, no
external theme, no webfonts, no external requests. System-UI sans on a
paper-white / near-black palette with a deep crimson accent; a small
wicket-gate SVG as the sole brand mark.

Hosting: nginx on forge-runner-01 serves /var/www/furtka.org; the upstream
openresty proxy terminates TLS so the VM itself only speaks plain HTTP.
Deploy is ./website/deploy.sh (rsync + remote hugo --minify). One-time VM
bootstrap in ops/nginx/setup-vm.sh.
2026-04-14 10:27:51 +02:00

22 lines
600 B
Bash
Executable file

#!/usr/bin/env bash
# Deploy furtka.org to forge-runner-01.
# Rsyncs the Hugo source up to the VM and builds it in-place.
set -euo pipefail
HOST="${FURTKA_HOST:-forge-runner}"
SRCROOT="/srv/furtka-site"
WEBROOT="/var/www/furtka.org"
HERE="$(cd "$(dirname "$0")" && pwd)"
echo "→ rsync website/ to $HOST:$SRCROOT"
rsync -az --delete \
--exclude='.hugo_build.lock' \
--exclude='public/' \
--exclude='resources/' \
"$HERE/" "$HOST:$SRCROOT/"
echo "→ build on $HOST"
ssh "$HOST" "cd $SRCROOT && hugo --minify --cleanDestinationDir -d $WEBROOT"
echo "OK: deployed to https://furtka.org/"