quartz-builder

quartz-builder

Docker app from TypingPenguin's Repository

Overview

Implementation of Quartz static site generator (https://github.com/jackyzha0/quartz) + ExpressJS hosting . This can be used to make a static website from your Obsidian vault. I have not created Quartz, this is purely a service to host it in Unraid.

Docker set-up

To build the image use the following command:

docker build -t quartz_builder:latest .

to run the docker:

docker run -d `
     -p 3000:3000
     -v C:\quartz_builder\obsidian:/vault `
     -v C:\quartz_builder\output:/output `
     -v C:\quartz_builder:/app `
     -e TIMER=0.1 `
     -e FOLDER=/test `
     quartz_builder:latest

The different variables are:

-p 3000:3000                           -> Expose the network port (optional)
-v C:\quartz_builder\obsidian:/vault `  -> The location of your obsidian vault
-v C:\quartz_builder\output:/output `   -> The location of the output folder
-v C:\quartz_builder:/app `            -> IMPORTANT! Use only for local dev. after having done npm install for faster iterations.
-e TIMER=0.1 `                         -> Time that has to be inbetween changes to the documents in the watched folders before we run the build pipeline
-e FOLDER=/test `                      -> The folder in your obsidian vault you want to output (default is /public, leave empty for root) 
quartz_builder:latest                          -> Name of the image you want to run

Requirements

None

Download Statistics

6,034
Total Downloads

Related apps

Details

Repository
typingpenguin/quartz_builder
Last Updated2025-08-18
First Seen2024-12-14

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Port for expressJSPorttcp
Target
3000
Default
3000
Value
9543
Vault locationPathro

The location of the vault of the user

Target
/vault
Value
/mnt/user/appdata/obsidian/vaults/PenguinVault/
Output folder locationPathrw

The location where the html files will be exported (for example in /appdata/nginx/www/ if you use nginx to host the files)

Target
/output
Default
/mnt/user/appdata/quartz_builder/output
Value
/mnt/user/appdata/quartz_builder/output
Vault folder nameVariable

How we call the internal /vault folder (don't change)

Target
VAULT_DIR
Default
/vault
Value
/vault
Output dir nameVariable

How we call the internal /output folder (don't change)

Target
OUTPUT_DIR
Default
/output
Value
/output
TimerVariable

Time that has to be inbetween changes to the documents in the watched folders before we run the build pipeline

Target
TIMER
Default
20
Value
5
Folder to watchVariable

The folder in your obsidian vault you want to output (default is /public, leave empty for root)

Target
FOLDER
Default
/public
Value
/public