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

Install quartz-builder on Unraid in a few clicks.

Find quartz-builder in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for quartz-builder Review the template variables and paths Click Install

Requirements

None

Download Statistics

1,338
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