GenDash and Hugo setup on Mac

Sections 1–3 describe GenDash and pushgen. Section 4 describes DashApps and pushdash. For DashApps page content, edit /Users/marc/Obsidian/DashApps/Notes (or Images) as the source of truth. pushdash syncs that local copy over the server’s staging inputs; its default run also publishes the website source. For local-only edits, do not run pushdash.

Hugo file GenDash: Obsidian to Hugo Automated Publishing Guide

This guide outlines the infrastructure and configuration required to sync an Obsidian vault across multiple devices and automate the publishing process to a Hugo website via Cloudflare Pages.

Markdown Reference Guide for Obsidian

Markdown Reference Guide for Obsidian#

1. View Modes (Why you can’t see the code)#

Obsidian has two main ways of displaying notes. If you see the “formatted” version (like a clickable checkbox), you are in Live Preview.

  • Toggle Code View: Press Cmd + E to switch between Editing and Reading modes.
  • Source Mode: To see the “raw” characters (like - [ ]) all the time, go to the status bar at the bottom right and select Source Mode.
  • Temporary Reveal: If you click directly on a formatted item (like a checkbox), Obsidian will temporarily reveal the code for just that line.

1. Headers#

Use # followed by a space. The number of # symbols indicates the header level.

Obsidian

1 Core Obsidian Shortcuts#

These are the most essential keys for building your homelab documentation rapidly.

Action Shortcut (Mac) Result
Quick Open Cmd + O Search for any note in your vault.
Insert Link Cmd + K Creates standard []( ) syntax.
Toggle Sidebar Cmd + S Hides/Shows the file explorer.
Search in Note Cmd + F Finds text within the current file.
Global Search Cmd + Shift + F Searches your entire vault.
Command Palette Cmd + P Access every feature (Templates, Plugins, etc).

Since we switched to Standard Markdown Links, use these to keep the “network” alive.

Obsidian and Hugo setup on Mac

Homelab: Obsidian to Hugo Automated Publishing Guide#

This guide outlines the infrastructure and configuration required to sync an Obsidian vault across multiple devices and automate the publishing process to a Hugo website via Cloudflare Pages.


1. Multi-Device Sync (The Git & Web Layer)#

To sync your notes between computers and view them on mobile devices without the overhead of real-time database sync engines:

1.1. Between Computers (Mac Studio & MacBook Pro/Air)#

We use the Obsidian Git plugin to synchronize vaults directly via GitHub.

Pangolin Update

1. Pangolin Pre-Update Requirements#

Update Record — 2026-10-02#

  • Target: RackNerd RN-VPS (72.11.147.220), stack /home/marc/docker-compose/pangolin.
  • Used the successful pre-update backup on LXC 102: /home/vps-backup/Backups/2026-10-02_08h27_PangolinBackup.tar.gz; gzip integrity and database/configuration entries were verified.
  • Updated Pangolin 1.21.1 → 1.22.2 → 1.23.0 → 1.24.0. Each stage passed Compose readiness checks and dashboard HTTP 200; final migrations completed successfully.
  • Updated Gerbil to 1.5.2, Newt to 1.18.0, Traefik to v3.7.13, and pinned CrowdSec to v1.8.1. Rebuilt the custom GoAccess image from its existing inline Dockerfile with a fresh base image; verified GoAccess 1.12.
  • Updated Badger to v1.7.0 and the CrowdSec Traefik plugin to v1.7.1 in the active config/traefik/traefik.yaml. Automatic Badger migration skipped the nonstandard filename; the explicit update is present.
  • Retained docker-compose.yml.before-2026-10-02-update and config/traefik/traefik.yaml.before-2026-10-02-update on the VPS. Database rollback requires the pre-update backup, not just older images.
  • Verification limitation: Homelab site is online, but RN VPS site is offline. The local Newt connector repeatedly receives HTTP 400 No newt found with that newtId. Testing the original Newt 1.15.0 produced the same rejection; restored 1.18.0. Its registration requires investigation without exposing credentials. No site registrations or credentials were changed. Full routed-resource functionality has not been verified.
  • Follow-up resolved: after the user restarted using their 1p alias, Newt 1.18.0 logged Websocket connected at 12:45:09 UTC. Both RN VPS and Homelab sites were verified online and approved; all six stack containers were running, Pangolin and CrowdSec were healthy, and the dashboard returned HTTP 200. No credential values were inspected during this follow-up. Individual routed resources remain untested.

1.1. Backup Data#

Always backup your data before updating. Copy your config directory to a safe location to allow for a rollback if necessary.