all repos — flounder @ c7d2aca283929b5d18a22074b0542ca7cf4f622a

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
10
11Requires go >= 1.15 and sqlite3 development libraries.
12
13`go build`
14
15To run locally, you can use the example-config.toml to start a test server. 
16
17`./flounder -c example-config.toml serve`
18
19After creating an account, you can activate it at the command line with:
20
21./flounder -c example-config.toml activate-user [your-username]
22
23## Deploying
24
25For the Http(s) server, you have two options:
26
271. Expose the flounder server to the internet directly (I have not tested this extensively and probably don't recommend it)
282. Route the flounder server through a reverse proxy
29
30For TLS, you'll need to configure a wildcard cert via, for example, LetsEncrypt, that matches [any-subdomain].[your-host]. Over gemini, self-signed certs are handled automatically.
31
32I have not extensively tested the self-hosting capabilities, but making it easy to self-host Flounder for either a single or multi-user instance is a goal of mine. Email me if you encounter issues or would like guidance.
33
34## Admin
35
36To make yourself an admin, create a user through the web browser, then run `./flounder -c [config_path] make-admin [your user]` -- this gives you access to admin tools to manage users.
37
38Backup your users' data regularly! The admin deletion commands are irreversible.
39
40Flounder comes with an admin panel accessible to users with the admin db flag set. Admins can also impersonate users if you need to take actions like moderating their content, deleting their account, changing their password, etc.
41
42## Development
43
44Patches are welcome!
45
46* [Ticket tracker](https://todo.sr.ht/~alexwennerberg/flounder)
47* [Mailing list](https://lists.sr.ht/~alexwennerberg/flounder-discuss)