all repos — flounder @ f4e52c38b273814b3f916b0aab71900f56816123

A small site builder for the Gemini protocol

README.md (view raw)

 1# Flounder: a portal into the small web 
 2[![builds.sr.ht status](https://builds.sr.ht/~alexwennerberg/flounder/commits/.build.yml.svg)](https://builds.sr.ht/~alexwennerberg/flounder/commits/.build.yml?)
 3
 4A lightweight server to help users build simple Gemini sites over http(s) and serve those sites over http(s) and Gemini
 5
 6Flounder is in ALPHA -- development and features are changing frequently, especially as the Gemini spec and ecosystem remains relatively unstable.
 7
 8See the flagship instance at https://flounder.online and gemini://flounder.online
 9
10## Building and running locally
11Requirements:
12* go >= 1.15
13* sqlite dev libraries
14
15To run locally, copy example-config.toml to flounder.toml, then run:
16
17`go run . serve`
18
19Add the following to `/etc/hosts` (include any other users you want to create):
20
21```
22127.0.0.1 flounder.local admin.flounder.local proxy.flounder.local
23```
24
25Then open `flounder.local:8165` in your browser.
26
27## TLS Certs and Reverse Proxy
28
29Gemini TLS certs are handled for you. For HTTP, when deploying your site, you'll need a reverse proxy that does the following for you:
30
311. Cert for yourdomain.whatever
321. Wildcard cert for \*.yourdomain.whatever
332. On Demand cert for custom user domains
34
35If you have a very small deployment of say, <100 users, for example, you can use on demand certificates for all domains, and you can skip step 2.
36
37However, 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. 
38
39For information on using certbot to manage wildcard certs, see this guide: https://letsencrypt.org/docs/challenge-types/#dns-01-challenge
40
41An example simple Caddyfile using on-demand certs is available in Caddyfile.example
42
43If 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.
44
45## Administration
46
47Flounder is designed to be small, easy to host, and easy to administer. Signups require manual admin approval.
48
49## Development
50
51Patches are welcome!
52
53* [Ticket tracker](https://todo.sr.ht/~alexwennerberg/flounder)
54* [Mailing list](https://lists.sr.ht/~alexwennerberg/flounder-discuss)