diff --git a/.github/workflows/notify-docs.yml b/.github/workflows/notify-docs.yml
new file mode 100644
index 0000000..24376ff
--- /dev/null
+++ b/.github/workflows/notify-docs.yml
@@ -0,0 +1,34 @@
+name: Notify thast-docs
+
+# Trigger a rebuild of the documentation hub whenever any file that
+# feeds the sptime sync manifest changes on main. Keep this filter
+# in sync with the manifest in FiLORUX/thast-docs scripts/sync-docs.mjs.
+
+on:
+ push:
+ branches: [main]
+ paths:
+ - 'README.md'
+ - 'LICENSE'
+
+jobs:
+ notify:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Dispatch docs-update event
+ env:
+ GH_TOKEN: ${{ secrets.DOCS_DISPATCH_TOKEN }}
+ run: |
+ curl -fsSL -X POST \
+ -H "Authorization: Bearer $GH_TOKEN" \
+ -H "Accept: application/vnd.github+json" \
+ -H "X-GitHub-Api-Version: 2022-11-28" \
+ "https://api.github.com/repos/FiLORUX/thast-docs/dispatches" \
+ -d '{
+ "event_type": "docs-update",
+ "client_payload": {
+ "source_repo": "${{ github.repository }}",
+ "source_sha": "${{ github.sha }}",
+ "source_ref": "${{ github.ref }}"
+ }
+ }'
diff --git a/README.md b/README.md
index 0703c6c..0e7a8b6 100644
--- a/README.md
+++ b/README.md
@@ -39,29 +39,29 @@ SPTime is a modern, enterprise-grade time synchronisation platform that provides
## Architecture
-```
-┌─────────────────────────────────────────────────────────────────┐
-│ SPTime Server │
-├─────────────────────────────────────────────────────────────────┤
-│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
-│ │ NTP │ │ NTS │ │ PTP │ │ GPSDO │ │
-│ │ Server │ │ Server │ │ GM │ │ (SerialPPS/ │ │
-│ │ :123 │ │ :4460 │ │ :319/320│ │ Network/Dummy) │ │
-│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
-│ │ │ │ │ │
-│ └─────────────┴──────┬──────┴──────────────────┘ │
-│ │ │
-│ ┌───────┴───────┐ │
-│ │ Clock Manager │ │
-│ │ (Discipline) │ │
-│ └───────┬───────┘ │
-│ │ │
-│ ┌──────────────────┬──────┴──────┬────────────────────────────┐ │
-│ │ │ │ │ │
-│ │ Web API │ Metrics │ Config │ │
-│ │ :8080 │ Prometheus │ YAML │ │
-│ └──────────────────┴─────────────┴────────────────────────────┘ │
-└─────────────────────────────────────────────────────────────────┘
+```mermaid
+flowchart TB
+ subgraph SPTime["SPTime Server"]
+ NTP["NTP Server
:123"]
+ NTS["NTS Server
:4460"]
+ PTP["PTP GM
:319/320"]
+ GPSDO["GPSDO
(SerialPPS / Network / Dummy)"]
+
+ Clock["Clock Manager
(Discipline)"]
+
+ Web["Web API
:8080"]
+ Metrics["Metrics
(Prometheus)"]
+ Config["Config
(YAML)"]
+
+ NTP --> Clock
+ NTS --> Clock
+ PTP --> Clock
+ GPSDO --> Clock
+
+ Clock --> Web
+ Clock --> Metrics
+ Clock --> Config
+ end
```
## Quick Start