algernon
SHA-256Algernon is a small self-contained web server that bundles Lua, Markdown, Pongo2, Amber, Sass, JSX, multiple databases, user permissions and rate limiting in a single executable. Supports QUIC, HTTP/2, and plain HTTP out of the box.
Smart Download
Download Download Version
v1.17.7 · 15 MB
All-in-one self-contained web server with built-in Lua, Markdown, databases and HTTP/2/QUIC – zero config.
Core Features
- Single executable, no external dependencies required
- Native support for QUIC (HTTP/3), HTTP/2, and HTTP
- Built-in Lua/Teal scripting for request handlers
- Multi-format template rendering: Markdown, Pongo2, Amber, JSX/React
- Support for BoltDB, SQLite, PostgreSQL, MySQL, MariaDB, Redis, Valkey, MSSQL
What It Can't Do
- •Requires Go 1.25+ for compilation. QUIC and HTTP/2 with TLS require valid certificates. Built-in BoltDB is suitable for small-scale single-machine data; for larger workloads, use PostgreSQL or external databases.
Use Cases
- Quickly build a lightweight dynamic website or API with database integration
- Embedded admin panel or microservice
- Educational demos and rapid prototyping
Detailed Introduction
Algernon is a Go-based web server that packs everything into one tiny executable. It natively supports QUIC, HTTP/2, Lua scripting, Markdown rendering, Pongo2/Amber templates, JSX/React, and CSS preprocessors (Sass, GCSS). It can use BoltDB (embedded), PostgreSQL, SQLite, Redis, Valkey, MySQL, MariaDB, or MSSQL as databases. Built-in user permissions and rate limiting via Tollbooth. Perfect for rapid prototyping and small-to-medium web applications without complex setup.
Troubleshooting & FAQ (1)
How-toHow to create a public API endpoint that executes arbitrary SQLite queries in Algernon?
Upgrade to the latest main branch of Algernon. It now includes new Lua functions for SQLite that allow you to set up a public route and run arbitrary SQL. In your serverconf.lua, clear default permissions and define a custom HTTP handler that calls these SQLite functions. Check the documentation or example scripts for exact usage.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Install the appropriate package for your distro (dpkg / rpm / AppImage)
Download the Algernon binary for your platform (or `go install github.com/xyproto/algernon@latest`)
Place an index.md, index.lua, or other supported file in a directory
Run the executable; open http://localhost:4000 in a browser
- Download the Algernon binary for your platform (or `go install github.com/xyproto/algernon@latest`)
- Place an index.md, index.lua, or other supported file in a directory
- Run the executable; open http://localhost:4000 in a browser
SHA-256 checksum verified
Checksum extracted from GitHub official Release page
SHA256 Checksum
6feeb5c4b947429b8d24bb19a1f8fac688b4957092259d431686acce60a94840This checksum is extracted from the GitHub Release page. Verify file integrity after download.
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
Delete the Algernon binary. If installed via `go install`, run `rm $(which algernon)` or remove from Go module cache.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
pocketbase
PocketBase is an open source Go backend that includes embedded SQLite with realtime subscriptions, built-in file & user management, admin dashboard UI, and simple REST API. Can be used as standalone app or Go framework.
traefik
Traefik is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
Visual Studio Code (Code - OSS)
A free, open-source code editor by Microsoft with rich extensions, debugging, and Git integration. The most popular developer tool worldwide.