authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-07-09 22:45:20-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-10-14 02:40:46-07:00
log664849e1218dcda9978bde15afe21b3ae8da8d3a
treecd28c05fca45c5be59cb489da3ece6b60e4e5a5e
parent4806d9a59255af0ae518db8cc5e8e911ac484997
signature Commit is signed but in an unrecognized format.

sot: fix missing mime.txt


2 files changed, 35 insertions(+), 1 deletions(-)

readme.md+33
...@@ -73,6 +73,39 @@ my development machine, for example, is Dell Inspiron 7348 with Core i7...@@ -73,6 +73,39 @@ my development machine, for example, is Dell Inspiron 7348 with Core i7
73for unix systems, the provided `flake.nix` can be used with `nix develop` to73for unix systems, the provided `flake.nix` can be used with `nix develop` to
74open a shell with all needed system dependencies.74open a shell with all needed system dependencies.
7575
76## Deployment
77
78There are two primary server components to be deployed: the web server and the
79sourth of truth server. The latter is a singleton that runs on Clover's NAS,
80which holds the full contents of the file storage. The web server pulls data
81from the source of truth and renders web pages, and can be duplicated to
82multiple cloud hosts without issue.
83
84Deployment of the source of truth can be done with Docker Compose:
85
86 services:
87 backend:
88 container_name: backend
89 build:
90 # this uses loopback to hit the self-hosted git server
91 context: http://localhost:3000/clo/sitegen.git
92 dockerfile: src/source-of-truth.dockerfile
93 environment:
94 # configuration
95 - PORT=43200
96 - CLOVER_DB=/data
97 - CLOVER_FILE_RAW=/published
98 - CLOVER_FILE_DERIVED=/data/derived
99 - CLOVER_SOT_KEY=... # guards private/unreleased content
100 ports:
101 - '43200:43200'
102 restart: unless-stopped
103 volumes:
104 - /mnt/storage1/clover/Documents/Config/paperclover:/data
105 - /mnt/storage1/clover/Published:/published
106
107TODO: deployment instructions for a web node
108
76## Contributions109## Contributions
77110
78No contributions to `src` accepted, only `framework`.111No contributions to `src` accepted, only `framework`.
src/source-of-truth.dockerfile+2-1
...@@ -14,7 +14,8 @@ run npx esbuild --bundle \...@@ -14,7 +14,8 @@ run npx esbuild --bundle \
14 --minify \14 --minify \
15 --sourcemap=linked \15 --sourcemap=linked \
16 --entry-names=index \16 --entry-names=index \
17 --outdir=/app17 --outdir=/app \
18 && cp framework/lib/mime.txt /app/
1819
19from node:24-alpine as runtime20from node:24-alpine as runtime
2021