lppHomeLanguageDesignProgressRoadmapChangelogDeploy

Site and deployment

The project site https://lpp.olibuijr.com is where the documentation and progress tracking live. It is built from this repo and served by an lpp binary (site/server.lpp).

Workflow

  1. Edit the docs in the repo: README.md, docs/*.md, CHANGELOG.md. Update docs/progress.md in the same commit as the work.
  2. make test
  3. Commit.
  4. make deploy

make site builds site/public/*.html with site/build.py, which converts Markdown to HTML using only the Python standard library. It also compiles site/server.lpp to site/lpp-site. make site-run serves the result locally on :8170.

To add a page, add the Markdown file to docs/ and an entry to PAGES in site/build.py.

Hosting

PieceWhere
DNSlpp A record → 3.94.46.219 at 1984.is (1984dns)
TLS + proxynginx on the EC2 VM, /etc/nginx/sites-available/lpp.olibuijr.com, Let's Encrypt cert (webroot)
Appsystemd unit lpp, user ubuntu, 127.0.0.1:8170, 2 workers, MemoryMax=16M
Releases/opt/akurai/lpp/releases/<time>-<commit>, current symlink

make deploy runs ~/Projects/host/bin/akurai-deploy-ec2 . using akurai-deploy.toml. That script copies the binary and site/, swaps current, restarts lpp, health-checks / and rolls back if the check fails.

Rollback: ~/Projects/host/bin/akurai-deploy-ec2 . --rollback