Algernon
A small, self-contained pure-Go web server with built-in support for Lua scripting, Markdown rendering, Ollama LLM integration, and an embedded BoltDB database. Serve dynamic websites with zero configuration.
What You Can Do After Deployment
- Visit your domain — the default welcome page is displayed
- Upload content — place Markdown, Lua, HTML, or Teal files in the
/srv/algernon directory
- Use Lua scripting — create dynamic pages with server-side Lua (
.lua files)
- Render Markdown — place
.md files and they are automatically rendered as HTML
- Use the embedded database — BoltDB is available from Lua scripts for persistent key/value storage
- Serve static files — HTML, CSS, JS, images are served directly
- Integrate with Ollama — use AI/LLM capabilities from Lua scripts via
.prompt files
Key Features
- Pure Go, single binary, no dependencies
- Built-in Lua 5.4 and Teal scripting
- Markdown rendering with syntax highlighting
- Embedded BoltDB key/value database
- Automatic HTTPS via Let's Encrypt
- HTTP/2 and QUIC protocol support
- Ollama/LLM integration
- Server-sent events (SSE)
- SCSS/GCSS compilation
- JSX to JavaScript transpilation
- Live reload during development
- Less than 12MB Docker image
Directory Structure
Place your files in /srv/algernon:
/srv/algernon/
index.md # Markdown homepage
about.lua # Lua dynamic page
style.scss # Auto-compiled SCSS
static/ # Static assets
License
BSD-3-Clause — GitHub