flounder

A simple gemini site builder
git clone git://git.alexwennerberg.com/flounder
Log | Files | Refs | README | LICENSE

README.md (2519B)


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