diff --git a/Applications/quartz-docker.md b/Applications/quartz-docker.md index f3fc1be..e052ce6 100644 --- a/Applications/quartz-docker.md +++ b/Applications/quartz-docker.md @@ -14,34 +14,28 @@ This project runs **Quartz 4.4.0**, a fast, batteries-included static site gener While Quartz provides [Docker support](https://quartz.jzhao.xyz/features/Docker-Support), it is not as self contained as this project. - ## 🐳 Docker Compose Setup -Create a data directory and pull your existing content +Create a data directory ```bash -# create directories -mkdir -p /srv/quartz/config -cd /srv/quartz -# clone your content -git clone https://code.modernleft.org/gravityfargo/modernleft-docs.git content +mkdir -p /srv/quartz ``` -### Compose File Create a `docker-compose.yml` file: + ![[docker-compose]] -### First Run +**First Run** ```bash docker-compose up -d docker stop quartz-wiki ``` -On first run, the container will download the necessary dependencies and build the site. - -In `/srv/quartz/config/config.json`, you need to change the `baseUrl` to your domain. +On first run, the container will download the necessary dependencies, build the site, and download the content repository. +You will also need to ## ⚙️ Configuration @@ -54,10 +48,12 @@ To keep the image small, `node_modules` are not included. When the container is This is the command run by cron ```bash -cd /usr/share/nginx/html/content && \ -git pull >/dev/null 2>&1 && \ -cd /usr/share/nginx/html && \ -npx quartz build >/dev/null 2>&1 +cd /quartz/content +git restore . +git pull +cd /quartz/src & +npx quartz build +echo 'Content Updated.' ``` Setting `ENABLE_CRON` to `true` and defining `BUILD_SCHEDULE` performs these actions. @@ -67,22 +63,18 @@ Example: ```yaml environment: - ENABLE_CRON: true + ENABLE_CRON: "true" BUILD_SCHEDULE: "*/1 * * * *" # Runs every minute ``` ### Environment Variables -See a list of all environment variables [here](#environment-variables). - -| Variable | Description | Default Value | -| -------------------- | ----------------------------------------------------- | ----------------------------- | -| `NGINX_PORT` | Port for the Nginx server | `80` | -| `SERVER_NAME` | NGINX server name | `quartz.zhao.xyz` | -| `ENABLE_CRON` | Enables scheduled builds (`true` or `false`) | `false` | -| `BUILD_SCHEDULE` | Cron expression for scheduling site builds | `"*/10 * * * *"` every 10 min | -| `QUARTZ_CONFIG_PATH` | Path to the Quartz configuration file | `/config/quartz.json` | -| `USER_ID` | UID that` /content` and` /config` will be chown'd to. | `1000` | -| `GROUP_ID` | GID that` /content` and` /config` will be chown'd to. | `1000` | - -You shouldn't need to change `QUARTZ_CONFIG_PATH` +| Variable | Description | Default Value | +| ---------------- | ----------------------------------------------------- | ----------------------------- | +| `USER_ID` | UID that` /content` and` /config` will be chown'd to. | `1000` | +| `GROUP_ID` | GID that` /content` and` /config` will be chown'd to. | `1000` | +| `NGINX_PORT` | Port for the Nginx server | `80` | +| `SERVER_NAME` | NGINX server name | `quartz.zhao.xyz` | +| `ENABLE_CRON` | Enables scheduled builds (`true` or `false`) | `false` | +| `BUILD_SCHEDULE` | Cron expression for scheduling site builds | `"*/10 * * * *"` every 10 min | +| `CONTENT_REPO` | URL of the content repository | | diff --git a/Applications/quartz-docker/docker-compose.md b/Applications/quartz-docker/docker-compose.md index 184f60f..a415823 100644 --- a/Applications/quartz-docker/docker-compose.md +++ b/Applications/quartz-docker/docker-compose.md @@ -4,15 +4,14 @@ services: container_name: quartz-docker image: code.modernleft.org/gravityfargo/quartz-docker:dev ports: - - 80:8080 + - 80:80 environment: USER_ID: 1000 GROUP_ID: 1001 - NGINX_PORT: 8080 SERVER_NAME: "docs.modernleft.org" ENABLE_CRON: "true" BUILD_SCHEDULE: "*/30 * * * *" CONTENT_REPO: "https://code.modernleft.org/gravityfargo/modernleft-docs.git" volumes: - - ./quartz:/quartz + - /srv/quartz:/quartz ```