modernleft-docs/Applications/quartz-docker.md

1.6 KiB

title draft date
quartz-docker false 2025-01-16

📄 quartz-docker

quartz-docker image

This project runs Quartz 4, a fast, batteries-included static site generator, inside a Docker container. It transforms Markdown content into a fully functional website.

🚀 Features

  • configurable with environment variables
  • node and nginx included
  • configurable cron for job to pull and build site

🛠️ Getting Started

Docker Compose

See a list of all Environment Variables environment variables

  1. Create a data directory and pull your existing content

    git clone https://code.modernleft.org/gravityfargo/modernleft-docs.git quartz
    
  2. Create a docker-compose.yml file

Minimal

!minimal docker-compose

BASE_URL

The only required variable is BASE_URL. The rest are set to the developer's defaults BASE_URL sets both quartz's baseUrl as well as nginx's server_name.

!recommended docker-compose node_modules volume: To keep the image small, node_modules are not included. When the container is run, they're downloaded to /usr/share/nginx/html/node_modules. You should keep them in a volume so that the modules persist between container runs.

cron You should also set ENABLE_CRON to true and set BUILD_SCHEDULE to a cron expression to enable the cron job that npx quartz build is executed which will pull the latest content and build the site.