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
7## Building
8
9Requires go >= 1.15 and sqlite3 development libraries.
10
11`go build`
12
13To run locally, you can use the example-config.toml to start a test server.
14
15`./flounder -c example-config.toml serve`
16
17After creating an account, you can activate it at the command line with:
18
19./flounder -c example-config.toml activate-user [your-username]
20
21## Deploying
22
23For the Http(s) server, you have two options:
24
251. Expose the flounder server to the internet directly (I have not tested this extensively and probably don't recommend it)
262. Route the flounder server through a reverse proxy
27
28For 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.
29
30I 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.
31
32## Admin
33
34To 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.
35
36Backup your users' data regularly! The admin deletion commands are irreversible.
37
38Flounder 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.
39
40## Development
41
42Patches are welcome!
43
44* [Ticket tracker](https://todo.sr.ht/~alexwennerberg/flounder)
45* [Mailing list](https://lists.sr.ht/~alexwennerberg/flounder-discuss)
46