diff --git a/Servers/Documentation/Zensical.md b/Servers/Documentation/Zensical.md index f4ec167..a614d72 100644 --- a/Servers/Documentation/Zensical.md +++ b/Servers/Documentation/Zensical.md @@ -10,36 +10,18 @@ It is useful to understand the flow of data and how everything inter-connects, s ``` mermaid sequenceDiagram autonumber - actor Author as Docs Author - participant Gitea as Gitea Repo (git.bunny-lab.io) - participant Actions as Gitea Actions Workflow - participant Runner as Gitea Act Runner (zensical-docs-runner) - participant FS as Zensical Host FS (/srv/zensical/docs) - participant Watchdog as systemd: zensical-watchdog.service
(zensical serve) - participant Build as Zensical Builder - participant Site as Static Site Dir (/srv/zensical/site) - participant NGINX as NGINX (root=/srv/zensical/site) - participant Traefik as Traefik Reverse Proxy - participant User as Web Client - participant NTFY as NTFY (ntfy.bunny-lab.io) + actor Author as Doc Author + participant Gitea as Gitea (Repo + Actions) + participant Runner as Act Runner + participant Zensical as Zensical Server (watch + build) + participant NGINX as NGINX (serves static site) - Author->>Gitea: Push changes to main - Gitea-->>Actions: Trigger workflow on push (main) - Actions-->>Runner: Schedule job (runs-on: zensical-host) - - Runner->>Gitea: Checkout repository (actions/checkout) - Runner->>FS: rsync repo → /srv/zensical/docs/
--delete, excludes, chmod D2775/F664 - - Note over FS,Watchdog: zensical serve watches docs directory for changes - Watchdog-->>Build: Detect filesystem changes (watchdog event) - Build->>Site: Rebuild static site output
(write into /srv/zensical/site) - - User->>Traefik: HTTPS request kb.bunny-lab.io - Traefik->>NGINX: Proxy to http://192.168.3.8:80 - NGINX->>Site: Read built files (index.html, assets) - NGINX-->>User: Serve newly-built content - - Runner-->>NTFY: Notify job status (always)
curl -d "…status…" topic=gitea-runners + Author->>Gitea: Push to main + Gitea-->>Runner: Trigger workflow job + Runner->>Zensical: rsync docs → /srv/zensical/docs + Zensical-->>Zensical: Watch detects change + Zensical->>Zensical: Rebuild site → /srv/zensical/site + NGINX-->>NGINX: Serve files from /srv/zensical/site ``` ### Setup Python Environment