This commit is contained in:
2026-06-02 11:35:28 +01:00
parent 38d27b5f97
commit 9815409aa3
3 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
name: Build Quartz Notes
on:
push:
branches:
- master
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
build:
runs-on: site-build
env:
VAULT_HOME: /home/zaine/master-folder/vault-master
QUARTZ_HOME: /home/zaine/Documents/quartz
SERVICE_NAME: quartz-notes.service
SUDO_PASSWORD: ${{ secrets.SUDO_PASSWORD }}
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Verify toolchain
run: |
node --version
npm --version
npx --version
- name: Update vault content
run: |
set -euo pipefail
git -C "$VAULT_HOME" fetch origin master
git -C "$VAULT_HOME" checkout master
git -C "$VAULT_HOME" pull --ff-only origin master
- name: Build Quartz
run: |
set -euo pipefail
test "$(readlink -f "$QUARTZ_HOME/content")" = "$(readlink -f "$VAULT_HOME")"
cd "$QUARTZ_HOME"
npm exec -- quartz build
- name: Install and restart Quartz service
run: |
set -euo pipefail
echo "$SUDO_PASSWORD" | sudo -S install -m 0644 "$VAULT_HOME/systemd/$SERVICE_NAME" "/etc/systemd/system/$SERVICE_NAME"
echo "$SUDO_PASSWORD" | sudo -S systemctl daemon-reload
echo "$SUDO_PASSWORD" | sudo -S systemctl enable "$SERVICE_NAME"
echo "$SUDO_PASSWORD" | sudo -S systemctl restart "$SERVICE_NAME"
systemctl is-active --quiet "$SERVICE_NAME"

View File

@@ -182,6 +182,8 @@
}, },
"active": "2512d0b75322b268", "active": "2512d0b75322b268",
"lastOpenFiles": [ "lastOpenFiles": [
"systemd/quartz-notes.service",
"systemd",
"Dailies/2026-06-02.md", "Dailies/2026-06-02.md",
"Untitled.canvas", "Untitled.canvas",
"Index.md", "Index.md",

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Quartz notes server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=zaine
Group=zaine
WorkingDirectory=/home/zaine/Documents/quartz
Environment=NODE_ENV=production
Environment=PATH=/usr/local/bin:/usr/bin:/bin
ExecStart=/usr/bin/node ./quartz/bootstrap-cli.mjs build --serve --port 8080
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target