|
||
---|---|---|
.gitignore | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
config.json | ||
docker-compose.yml | ||
go.mod | ||
main.go | ||
mastoUtil.go | ||
server.go | ||
start.sh | ||
util.go |
README.md
MastoGem : a Mastodon proxy for Gemini
Build from sources
$ make
All builds are in the build
folder.
Generate key and certificate
TLS is mandatory with Gemini, a self-signed certificate is recommended. You must generate a key first:
$ openssl genrsa -out key.rsa 4096
Then, you must generate the certificate (replace localhost with your domain name):
$ openssl req -x509 -key key.rsa -out cert.pem -days 365 -subj "/CN=localhost"
Config
You have an example of config file in config.json
, the program only accepts json files.
Run this program
You should provide the MASTOGEM_CONFIG_PATH
environment variable when launching the program, if it was not provided or it was empty, default config will be loaded.
To run the program simply run the executable file corresponding to your architecture in the build
folder. Make sure the certificate and the key where generated before.
Run with Docker
You could use docker or docker-compose to run this program, you must set a MASTODON_BASE_URL
variable corresponding to the URL to your Mastodon instance (without the tailing slash), you also must bind a certificate (/cert.pem
) and a key (/key.rsa
).
You can set a TITLE
and a HOME_MESSAGE
variables.
Docker
sudo docker run -it \
-p 1965:1965 \
-e MASTODON_BASE_URL=https://mamot.fr \
--mount type=bind,source=$(pwd)/certs/cert.pem,destination=/cert.pem \
--mount type=bind,source=$(pwd)/certs/key.rsa,destination=/key.rsa \
dervom/mastogem
Docker-compose
sudo docker-compose up -d
Contribute
You contributions are welcomed, you can send me an email (romain.delaage@rdelaage.ovh).
This program is under AGLPv3 License