📒 Easy and effective communication for any team or community.
OTHER License
Easy and effective communication is the foundation of any successful team or community. That's where Mantle comes in, providing you the messaging platform that puts you in charge of both the conversation and the data.
These instructions will help you get the project up and running and are required before moving on.
In order to allow users to log in to Mantle, you will need to create an app on your Identity Provider(s) of choice. See the nektro/go.oauth2 docs for more detailed info on this process on where to go and what data you'll need.
Here you can also fill out a picture and description that will be displayed during the authorization of users on your chosen Identity Provider. When prompted for the "Redirect URI" during the app setup process, the URL to use will be http://mantle/callback
, replacing mantle
with any origins you wish Mantle to be usable from, such as example.com
or localhost:800
.
Once you have finished the app creation process you should now have a Client ID and Client Secret. These are passed into Mantle through flags as well.
Name | Type | Default | Description |
---|---|---|---|
--oauth2-client |
string |
none. | OAuth2 Client Config in the form `For |
The Identity Provider IDs can be found from the table in the nektro/go.oauth2 documentation.
--base string The path to mount all listeners on (default "/")
--config string (default "~/.config/mantle/config.json")
--dbstorage-debug-sql Enable this flag to print all executed SQL statements.
--dbstorage-debug-verbose Enabled this flag to inlcude binded values in logs.
--jwt-secret string Private secret to sign and verify JWT auth tokens with. (default "Random")
--max-member-count int
--mysql-database string
--mysql-password string
--mysql-url string
--mysql-user string
--oauth2-client stringArray Custom client config. Pass in the form: for|id|secret
--oauth2-default-auth string A default auth to use when multiple appconf's are enabled.
--port int The port to bind the web server to. (default 8000)
--postgres-database string
--postgres-password string
--postgres-sslmode string (default "verify-full")
--postgres-url string
--postgres-user string
--redis-url string
--skip-translation-fetch Enable this flag to only read native translation data.
--theme stringArray A CLI way to add config themes.
Pre-compiled binaries can be obtained from https://github.com/nektro/mantle/releases/latest.
Or you may run Mantle using the official Docker image. Visit https://hub.docker.com/r/nektro/mantle for the full list of tags.
$ docker run -p 80:8000 nektro/mantle
Local development is done with Docker and docker-compose
To launch a local instance, add the OAUTH2_CLIENT_N
env var into docker-compose.yml
where N
is 1, 2, 3, etc with your OAuth2 client info and then run the following and visit http://localhost/.
$ docker-compose up
We listen to issues all the time right here on GitHub. Labels are extensively to show the progress through the fixing process. Question issues are okay but make sure to close the issue when it has been answered! Off-topic and '+1' comments will be deleted. Please use post/comment reactions for this purpose.
Want to try out a live server before installing your own, or get involved in an already existing community? Try these servers below:
Run an instance and want your site here? Contact me below!
AGPL-3.0