all repos — flounder @ 241cb5883f57c658bad58c2884e9e4d64bf53645

A small site builder for the Gemini protocol

README.md (view raw)

 1# 🐟 Flounder
 2
 3A lightweight platform to help users build simple Gemini sites over http(s) and
 4serve those sites over http(s) and Gemini
 5
 6Flounder is in ALPHA -- development and features are changing frequently,
 7especially as the Gemini spec and ecosystem remains relatively unstable.
 8
 9See the flagship instance at https://flounder.online and
10[gemini://flounder.online](gemini://flounder.online)
11
12## Building and running locally Requirements:
13* go >= 1.15
14* sqlite dev libraries
15
16To run locally, copy example-config.toml to flounder.toml, then run:
17
18`mkdir files` `go run . serve`
19
20Add the following to `/etc/hosts` (include any other users you want to create):
21
22``` 
23127.0.0.1 flounder.local admin.flounder.local proxy.flounder.local 
24```
25
26Then open `flounder.local:8165` in your browser. The default login/password is
27admin/admin
28
29## TLS Certs and Reverse Proxy
30
31Gemini TLS certs are handled for you. For HTTP, when deploying your site,
32you'll need a reverse proxy that does the following for you:
33
341. Cert for yourdomain.whatever
351. Wildcard cert for \*.yourdomain.whatever
362. On Demand cert for custom user domains
37
38If you have a very small deployment of say, <100 users, for example, you can
39use on demand certificates for all domains, and you can skip step 2.
40
41However, for a larger deployment, you'll have to set up a wildcard cert.
42Wildcard certs are a bit of a pain and difficult to do automatically, depending
43on your DNS provider. For information on doing this via Caddy, you can follow
44this guide:
45https://caddy.community/t/how-to-use-dns-provider-modules-in-caddy-2/8148. 
46
47For information on using certbot to manage wildcard certs, see this guide:
48https://letsencrypt.org/docs/challenge-types/#dns-01-challenge
49
50An example simple Caddyfile using on-demand certs is available in
51Caddyfile.example
52
53If you want to host using a server other than Caddy, there's no reason you
54can't, but it may be more cumbersome to setup the http certs.
55
56## Administration
57
58Flounder is designed to be small, easy to host, and easy to administer. Signups
59require manual admin approval.
60
61## Development
62
63Open a PR, or use one of the mailing lists on https://github.com/alexwennerberg
64
65## Donate
66
67If you'd like to support Flounder development, consider making a [Donation](https://www.buymeacoffee.com/alexwennerberg)