Publishing your Obsidian Vault with Quartz and Fyra

2026-06-14

Some notes of my own experience publishing my Obsidian Vault with Quartz and Fyra.

Context

[!info]

  • Quartz is a static-site generator by Jacky Zhao similar to Hugo/Eleventy.
  • Fyra is a simple zero-config CLI-based static site deployment platform tool.

This guide will guide you through the process of publishing your Obisidian Vault onto the Internet within a couple of minutes.

Prerequisite

  • Node.js (v18.14 or newer)
  • Git to download the Quartz starter template
  • An Obsidian Vault ready to be shared

Step 1: Scaffold your Quartz Project

Quartz transforms your Obsidian Markdown files into a static website. Instead of installing it as a package, you clone the framework and add your content to it.

Open your terminal and run:

$ git clone https://github.com/jackyzha0/quartz.git my-quartz-site
$ cd my-quartz-site
$ npm i

Next, move your existing Obsidian vault files into the content/ directory of your new Quartz project.

# Example: Copying your vault into the Quartz content folder
$ cp -r /path/to/your/obsidian-vault/* ./content/

Technical Note: Quartz natively understands Obsidian-flavored Markdown. It automatically handles [[wikilinks]], block references, and frontmatter. You do not need to convert your links to standard Markdown.

Step 2: Configure and Build

Before publishing, you’ll want to tweak your site’s behavior and ensure it builds correctly. Quartz uses quartz.config.ts for configuration. Open it in a text editor to set your site’s URL, title, and enable/disable plugins (like the backlinks feature or graph view).

Once configured, build your site locally to verify everything looks right:

npx quartz build --serve

Open http://localhost:8080 in your browser. If you see your notes rendered as a website, you’re ready to deploy!

Technical Note: The quartz build command generates static HTML, CSS, and JS assets into a public/ directory. This is the folder we will deploy to the web.

Step 3: Deploy with Fyra

Disclaimer: I am the solo developer of fyra.sh. I’m just sharing how I deploy my Obsidian-Quartz digital gardens onto the Internet using the tool I’ve built.

This is where the magic happens. Fyra eliminates the need for complex CI/CD pipelines, Dockerfiles, or manual server configuration. It automatically detects your static site and deploys it to a global edge network from your working directory without configuration.

It has a generous free-tier that allows you to deploy your Obisidian Vaults or any static site for free using its subdomains.

For digital gardens, I do recommend using the garden.fyra.sh subdomain. Lets build a community around this!

From the root of your Quartz project, run Fyra’s 3-step deployment command:

# 1. Download the Fyra CLI. This will ask for sudo access to install this onto your path. Source: https://github.com/fyrash/fyra-cli

$ curl -fsSL https://fyra.sh/install.sh | sh

# !IMPORTANT - cd to the public/ directory where the generated HTML files are

$ cd public/

# 2. Register and Login

$ fyra register

  Email: you@example.com
  Password: ········
  Confirm password: ········

  Account created. Check your email to verify your address.

$ fyra login

  Email: you@example.com
  Password: ········

  Logged in successfully.

# 3. Deploy!

$ fyra create

  Choose a subdomain

  By continuing, you agree to the Terms of Service: https://fyra.sh/tos.html  
  
   1. *.apps.fyra.sh  
   2. *.garden.fyra.sh  
   3. *.resume.fyra.sh  
   4. *.htmlparty.net  
   5. *.kaopeh.com  
   6. *.hackerdrinks.social
    
  > 2

  Choose an appname

  Domain.garden.fyra.sh

  > my-site

  Created app: my-site.garden.fyra.sh
  Run 'fyra push' to deploy this directory.

$ fyra push

  Scanning my-site...

  Packing 24 files (840.0 KB)
  Uploading... 840.0 KB sent

  Deploying on server...

  Done: https://my-site.garden.fyra.sh

Keeping Your Site Updated

Going forward, the workflow to update your live site is frictionless. Whenever you write new notes or edit existing ones in Obsidian:

  1. Copy the updated files into the content/ folder or even better set content/ as your Obsidian Vault path.
  2. Run npx build quartz to regenerate the site after you make any changes to your content.
  3. Go to public/ and do a fyra push in your terminal.

[!info] You may need to perform an additional step due to Quartz forcing a full replacement of the public/ directory.

See my written guide at https://david.garden.fyra.sh/#how-i-deploy-this-garden-to-fyrash

Fyra handles the deployment automatically, ensuring your public knowledge base is always in sync with your local vault. Happy publishing!

I’m currently working on fyra.sh, a CLI-first static site deployment tool where you push your site and it’s served globally through a built-in CDN, without the overhead of heavy platforms.