💾 Archived View for gemini.smallweb.space › gemlog › 20220220-scgi-in-molly-brown.gmi captured on 2022-03-01 at 15:11:45. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
For a novice such as myself to Gemini, finding the right information about setting up my own server was a bit challenging, but that was part of the fun I suppose. I first got Agate up and running and that was easy enough, but of course that wasn't enough for me to just serve static content - I needed more. I tried gemserv, but there were some issues there and I ended up abandoning it. I wanted something that served up dynamic content so I landed on Solderpunk's The Unskinkable Molly Brown.
Solderpunk's instructions were pretty good - I was able to get the server up and running after installing Go on my Raspberry Pi 4. The sticking point then, was getting some dynamic content going and while there was a section on CGI, I saw that SCGI was a bit more secure, especially when the server is built using Go, but the HOWTO on there was lacking. There was discussion about Unix Sockets and serving up the responses yourself, but that was about it - how do I setup SCGI?
So, SCGI is an old technology. My first instinct of course was to search around the regular web, and most of the hits that I found were dated and/or technical specifications that didn't really help me. What I did find were the basics of SCGI:
What I didn't really find was how to set this up with Molly Brown and how sockets came into play. I saw Python had a scgi module but the only documentation I could find was over 12 years old, and by this time I was overwhelmed that I initially dismissed the article. Little did I know this would help me.
Then it hit me.
Molly Brown is hosted on Gemini. And Gemini has a search function.
Let's use that.
So i hop on over to the search function and within a few minutes I come across this gem of a log:
Which lays it all out for me and *bam* I was able to get SCGI working with Python and Molly Brown, which is exactly what I was looking for.
Now for the hard part - implementing something. I may start out with my own visitor log, like it's 1997! I know I could use one that someone else has made, but what fun is that?