Algernon
Self-contained Go web server with scripting, templates and databases
3k stars 146 forks last commit first released BSD-3-Clause
Actively maintained
Last commit 27 Jul 2026.

Algernon is a small, self-contained web server and lightweight application server written in Go. It serves content from files and directories, and can also run dynamic request handlers using embedded Lua (optionally Teal).
Key Features
- Single executable with no external runtime dependencies
- Built-in Lua scripting for request handlers plus optional Teal type checking
- File-based conventions for serving content (for example index.lua, index.md, templates)
- Built-in rendering for Markdown and template formats (including Pongo2 and Amber)
- Supports HTTP/2 and optional HTTP/3 (QUIC), plus TLS support
- Database backends including Redis (default), SQLite, PostgreSQL, and MySQL/MariaDB
- Users, permissions, and configurable access control for paths
- Auto-refresh for fast local development using Server-Sent Events
- Plugin system via JSON-RPC to integrate external programs
Use Cases
- Hosting small to medium websites where Markdown and templates are preferred
- Building lightweight web apps that use Lua handlers with Redis/SQL backends
- Rapid prototyping with live reload and minimal configuration
Limitations and Considerations
- The built-in Lua runtime (gopher-lua) does not support dynamic native module loading via package.loadlib
- Auto-refresh file watching is limited to Linux and macOS in current implementations
Algernon is well-suited for developers who want a compact Go-based server that can serve static content and run dynamic logic with embedded scripting. Its broad built-in feature set makes it useful for quickly shipping small web applications with minimal setup.
Categories:
Tags:
Tech Stack:
Similar to Algernon

NGINX
High-performance web server, reverse proxy, and load balancer
NGINX is a high-performance HTTP server and reverse proxy with caching, load balancing, TLS termination, and TCP/UDP proxying via a modular architecture.
Ferron
Fast, memory-safe web server with automatic TLS and modern protocol support
A Rust-written, memory-safe web server offering automatic Let's Encrypt TLS, KDL configuration, HTTP/2/HTTP/3, reverse proxying, and built-in tooling for serving web apps.

Caddy
Extensible web server and reverse proxy with automatic HTTPS
Caddy is a fast, extensible Go web server and reverse proxy with automatic HTTPS (ACME), HTTP/1.1, HTTP/2, and HTTP/3 support, and a JSON config API.

HAProxy
High-performance reverse proxy and load balancer for TCP and HTTP
HAProxy is a fast, reliable reverse proxy and load balancer for TCP and HTTP applications, providing high availability, TLS termination, health checks, and traffic routing.

BunkerWeb
Open-source web application firewall and reverse proxy
BunkerWeb is an open-source WAF and NGINX-based reverse proxy to protect web apps and APIs with HTTPS automation, security policies, and extensible plugins.
Tyk Gateway
Open source API gateway for REST, GraphQL, gRPC, and TCP
Tyk Gateway is an open source, cloud-native API gateway for securing, managing, and scaling REST, GraphQL, gRPC, and TCP APIs with auth, rate limits, and policies.


