-- Leo's gemini proxy

-- Connecting to tris.fyi:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

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)

-- Response ended

-- Page fetched on Fri May 10 21:11:46 2024