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
- Edit the docs in the repo:
README.md,docs/*.md,CHANGELOG.md. Updatedocs/progress.mdin the same commit as the work. make test- Commit.
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
| Piece | Where |
|---|---|
| DNS | lpp A record → 3.94.46.219 at 1984.is (1984dns) |
| TLS + proxy | nginx on the EC2 VM, /etc/nginx/sites-available/lpp.olibuijr.com, Let's Encrypt cert (webroot) |
| App | systemd 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