We have lift off 🚀: building a gemini server in python
Summary
This article documents building a Gemini server in Python. It covers starting a TCP socket on the Gemini port (1965), returning Gemini responses, and using a minimal gemtext format. It then explores TLS with self-signed certificates (TOFU), and later introduces mutual TLS with pyOpenSSL to identify clients. The piece includes code snippets for socket setup, TLS wrapping, and a /hello-user route, plus deployment notes on a Raspberry Pi and a brief discussion of async performance and deployment considerations.