Amethyst
Amethyst is an experimental Gemini server focused on providing a clean interface for building dynamic sites (although it can also handle static sites just fine). It is currently serving this capsule!
Features
- It's Python
- (Optional) automatic TLS certificate management: expired certificates can be rotated automatically without restarting the server, and new certificates are generated on first launch
- CGI support
- Directory listing support
- Nix package and NixOS support
- Extension interface for new content backends
- Works cleanly with systemd DynamicUser
Getting Amethyst
Amethyst is on GitHub:
Main server package
NixOS modules repository
The NixOS module for Amethyst is at "services/amethyst.nix" in the modules repository.
Whenever I get around to writing a repository browser, I'll make the files available for browsing here too!
Documentation
Quickstart
Quickstart (NixOS)
CGI
Extending Amethyst
Roadmap
I plan to add the following features to Amethyst soon:
- Client certificate support
- Middleware (for e.g. restricting access to paths to certain client certificates)