SOP-1 Native Deployment of Obsidian Digital Garden
Status: PRODUCTION
Host Environment: Linux Fedora 43 (Nobara)
Deployment Method: Native Node.js Build Pipeline
Objective: I Decided on Obsidian Digital Garden as my portfolio of choice as my HTML and CSS skills are... Not great. My time is better spent on the Architecture rather than fighting with <div> tags. I opted for a native installation over containerization (Docker) to reduce resources.
1. Environment Preparation
To maximize efficiency on the hardware, the environment was configured with the bare minimum dependencies required for the build engine.
-
Runtime: Node.js (LTS Version)
-
Package Manager: NPM
-
Source: Digital Garden (Copied Template)
Implementation:
Bash
# Update system and install Node.js environment
sudo apt update && sudo apt install nodejs npm -y
# Verify installation
node -v
npm -v
2. Local Repository Configuration
The garden was cloned and initialized locally to allow for native script execution.
-
Clone:
git clone [My Repo URL] digital-garden -
Initialize:
cd digital-garden && npm install -
Environment Variables: Configured the
.envfile to point to the local Obsidian Vault export path.
Note: I opted for a native installation over containerization (Docker) to reduce resources. I now have faster compile times and I made the overall system less complex.
3. The Obsidian Integration
The bridge between the "Second Brain" and the "Web Instance" is handled via the Digital Garden Plugin.
-
Plugin Configuration: * Theme: (Apathia)
- Features: Enabled "Backlinks" and "Graph View" for enhanced navigation.
-
Export Path: Set to a local staging folder on the Linux machine where the
npm run buildcommand can access the markdown files.
4. Build & Verification
The deployment process follows a strict "Build-First" logic to ensure that only static, pre-rendered HTML is served to the Nginx bouncer.
-
Sync: Export notes from Obsidian to the
/srcdirectory. -
Compile: Run
npm run build. -
Verify: Check the
/distfolder for the generatedindex.html.
5. Security Posture (The "A+" Bouncer)
The final step was routing this local instance through the Windows Nginx Reverse Proxy.
-
Encryption: Fully encrypted with TLS 1.3.
-
Hardening: *
Strict-Transport-Security(HSTS) headers enabled.-
X-Frame-Optionsset toSAMEORIGINto prevent clickjacking. -
Nginx caching enabled for static assets to reduce Samba I/O load.
-
6. Strategic Selection of the Digital Garden Framework
While custom HTML/CSS development was an option, the Digital Garden framework was selected to prioritize Information Density and Deployment Speed over aesthetic customization.
Key Technical Advantages:
-
Portable and future proof.
-
As compatible as any web page.
-
Offloading to this framework allowed me to focus more on what matters most in my lab instead of learning web design.