~/Library/Logs/bee-hub-deploy.logshowsHugo build FAILED (rc=1). Aborting deploy.- Live site at
hub.edmd.melooks current (not stale) - A Gotify alert may have fired if Hugo’s stderr was wrapped (it isn’t currently โ only validator failures alert)
The good news: the deploy script has strict mode (--panicOnWarning) and the exit-code check aborts on any Hugo error before rsyncing. So a broken local build doesn’t propagate to live. The live site stays on the last good tree until you fix it.
cd ~/Sync/ED/homelab/bee_hub
/opt/homebrew/bin/hugo --panicOnWarning --printPathWarnings 2>&1 | tail -20
Hugo’s strict-mode errors are usually one of:
| Error | Likely cause |
|---|---|
shortcode "section" must be closed or self-closed |
Missing close tag for a section shortcode (forgot the /section line) |
failed to extract shortcode "<name>": shortcode "<name>" not found |
Typo in shortcode name |
failed to render shortcode "<name>" |
Bad params or unclosed nested block |
parse failed |
YAML frontmatter syntax error โ usually a missing quote or bad indent |
duplicate path warning |
Two pages compile to the same URL โ check slug: overrides |
template render error |
A custom layout/partial references something that doesn’t exist |
The error message includes a file path and line number. Jump straight there.
Edit the file, fix the issue, run Hugo again locally before redeploying:
cd ~/Sync/ED/homelab/bee_hub
/opt/homebrew/bin/hugo --panicOnWarning --printPathWarnings 2>&1 | tail -5
# Want to see "Total in NNNms" and no ERROR lines
Once it builds clean, re-run the full deploy:
zsh ~/Sync/ED/homelab/bee_hub/deploy-vps.sh
tail -5 ~/Library/Logs/bee-hub-deploy.log
Should end with Deploy complete.
If you pushed a broken change before the strict-mode protection caught it (shouldn’t happen now), the live site lives on:
- VPS (public):
root@100.123.69.155:/var/www/bee-hub/ - CT103 (internal):
root@192.168.8.54:/var/www/bee-hub/
To roll back to a previous Hugo build:
# Move current tree aside, rebuild from a known-good git commit, redeploy
cd ~/Sync/ED/homelab/bee_hub
git stash # set aside in-progress edits
git log --oneline -20 # find a good commit
git checkout <hash>
zsh deploy-vps.sh # rebuilds + rsyncs the old tree
git checkout main # come back to current
git stash pop # restore edits
The deploy targets are rsync targets, not git checkouts on the remote โ so “rollback” means re-deploying an older local build over the top.
curl -s -o /dev/null -w 'public: %{http_code} %{size_download} bytes\n' https://hub.edmd.me/
curl -s -o /dev/null -w 'internal: %{http_code} %{size_download} bytes\n' http://192.168.8.54/
# spot-check a known page
curl -s https://hub.edmd.me/runbooks/ | grep -c 'Runbooks'
Both should return 200 and a non-trivial size. The index regen log should also confirm: Wrote /Users/bee/Sync/ED/BEE_HUB_INDEX.md (322 pages, ...).