Commit Graph
3 Commits
Author SHA1 Message Date
grabowski 40c049ae15 Investor deck: 15 web slides with presenter view, plus PDF
Deploy test site / deploy (push) Successful in 55s
User, 19 Oct 2026: build a high-end investor pitch deck; the whole
plant, web slides on the test site with presenter mode plus a PDF,
12 to 15 slides, both plans, for a BOI / bank / institutional reader.

- docs/pitch/index.html (site /pitch/): title, opportunity, the chain
  under one roof, how a record is made (9 stages, 3 gates, traceability,
  ERPNext), platform, site and building, sustainability and region,
  investment A vs B by block with the six levers (no contingency in
  either price), operating picture with the adverse case, ten-year cash
  and returns (calculator presets), BOI promotion and the 3:1
  debt-to-equity condition (financing structure to be agreed), schedule,
  risks, team and vendors, the ask (phase 0 then tranches).
- Every figure carries a source line (business plans draft 0.3 and the
  owning docs); speaker notes per slide; P opens a synced presenter
  window, O the overview, F fullscreen, #n deep links.
- img/: six WebP pictures (calculator renders, order tool, fan funding,
  record passport); CNX-Vinyl-Investor-Deck.pdf, 15 pages 16:9, images
  re-encoded to 1.5 MB.
- site/build.sh copies docs/pitch/ to /pitch/ (new DIRS list); the
  deploy also triggers on docs/pitch/**; landing page and README entries.
- Checks: 15 slides at 1920/1440/1280/390 px without overflow, navigation,
  presenter sync both ways, PDF pages and text, no em dashes.
2026-10-19 17:35:34 +07:00
grabowski 52bf35f183 Deploy workflow: check the SSH key and log its fingerprint
Deploy test site / deploy (push) Successful in 36s
A first run failed with "Permission denied (publickey)": s1 accepts only
the blog key (deploy@s1.b4l.co.th, SHA256:o4w7HL...) for the deploy user,
and the secret held a different key. The SSH step now strips CR, refuses
a secret that is not an unencrypted private key, and logs the key's
fingerprint for comparison with authorized_keys. The ssh host alias is
renamed so the masked VPS_USER value no longer hides it in the log.
2026-10-02 21:14:33 +02:00
grabowski 560d073019 Add the cnxvinyl.lol test site with a Gitea deploy workflow
Deploy test site / deploy (push) Canceled after 0s
site/ builds the internal test site: public/ served as is (landing page,
robots.txt, static sites) plus demo pages copied out of docs/ (the plant
operation page at /demos/plant-operation/). build.sh fails on dead
internal links and stamps version.txt.

.gitea/workflows/deploy-site.yml rsyncs site/dist to the buildfor.life
web server with the blog's two-directory rename swap, checks version.txt
on the server, purges Cloudflare when a token is set, and checks the
public URL. Secret names match the blog's workflow.

site/Caddyfile is the virtual host to append on s1 (noindex everywhere,
Cloudflare-only like the blog apex, www redirect). site/README.md has the
one-time setup: DNS, Caddy, web root, secrets, runner.
2026-10-02 20:59:38 +02:00