all repos — flounder @ 19eb717f9e8a139b7d093c95ef9c4aab7a2c5428

A small site builder for the Gemini protocol

README.md (view raw)

 1# Flounder: a portal into the small web 
 2
 3A lightweight server to help users build simple Gemini sites over http(s) and serve those sites over http(s) and Gemini
 4
 5Flounder is in ALPHA -- development and features are changing frequently, especially as the Gemini spec and ecosystem remains relatively unstable.
 6
 7See the flagship instance at https://flounder.online and gemini://flounder.online
 8
 9## Building
10Requirements:
11go >= 1.15
12sqlite dev libraries
13
14To run locally, copy example-config.toml to flounder.toml, then run:
15
16`go run . serve`
17
18Add the following to `/etc/hosts` (include any other users you want to create):
19
20```
21127.0.0.1 flounder.local admin.flounder.local proxy.flounder.local
22```
23
24## TLS Certs and Reverse Proxy
25
26Gemini TLS certs are handled for you. For HTTP, you'll need a reverse proxy that does the following for you:
27
281. Cert for yourdomain.whatever
291. Wildcard cert for \*.yourdomain.whatever
302. On Demand cert for custom user domains
31
32If you have a very small deployment of say, <100 users, for example, you can use on demand cert for all domains, and you can skip step 2.
33
34However, for a larger deployment, you'll have to set up a wildcard cert. Wildcard certs are a bit of a pain and difficult to do automatically, depending on your DNS provider. For information on doing this via Caddy, you can follow this guide: https://caddy.community/t/how-to-use-dns-provider-modules-in-caddy-2/8148. 
35
36For information on using certbot to manage wildcard certs, see this guide: https://letsencrypt.org/docs/challenge-types/#dns-01-challenge
37
38An example simple Caddyfile using on-demand certs is available in Caddyfile.example
39
40If you want to host using a server other than Caddy, there's no reason you can't, but it may be more cumbersome to setup the http certs.
41
42You can run this locally by removing the port from the Host config
43
44## Development
45
46Patches are welcome!
47
48* [Ticket tracker](https://todo.sr.ht/~alexwennerberg/flounder)
49* [Mailing list](https://lists.sr.ht/~alexwennerberg/flounder-discuss)