A bot to manage your Synapse home server. It uses Synapse's admin API to provides management commands.
Current state of API implementation:
!room purge <room id>!room garbage-collect!room count!room delete <room id>!room details <room id>!room list!room top-complexity!room top-members!room shutdown <room id>!user list!user query <user id>!user deactivate <user id>!user reset-password <user id>!versionSee !help for more details about the bot's commands.
You can join the discussion at #matrix-architect:cervoi.se.
You can download a static build from the releases page. well actually this is not live yet
You can use the provided Dockerfile to build a docker image, or use the already built one (see the usage section for more details):
docker run --init -v $PWD/config.yml:/app/config.yml erdnaxeli/matrix-architect
If you want to build it yourself you need to install Crystal 0.35, then clone the code, go to the new folder and:
make
You can also build a static binary with
make static
Note that the static build (manually or from the releases) is not actually totally static (see the Cristal wiki). If you have trouble you want prefer to build yourself a not static binary.
Set the configuration:
./matrix-architect gen-configRun the bot with ./matrix-architect. If you let the log level to "info" you should
see some messages.
You can now talk to the bot on Matrix!
The commands are a little bit different:
# create an empty config file so we can mount it in the docker container
touch config.yml
# generate the config
docker run -it --rm --init -v $PWD/config.yml:/app/config.yml erdnaxeli/matrix-architect gen-config
# run the bot
docker run --init -v $PWD/config.yml:/app/config.yml erdnaxeli/matrix-architect
The bot does not register any signal handlers, so the --init parameter is mandatory
if you want it to respond correctly to ^C or docker stop.
This bot use the Synapse's admin API (everything under /_synapse/admin).
Although only admin users can use this API, make it available to the whole Internet
is not recommanded. You probably want to run the bot on the same host as your
Synapse instance and communicate through localhost (or you can use a private network).
Note that the domain used to talk to Synapse is your (public) homeserver domain,
so it means that (for example) if you want to access to the admin API on localhost
only you need to have your homeserver domain resolves to localhost (by adding an
entry to /etc/hosts). The public API (everything under /_matrix) must also be
accessible on the same domain and IP.
git checkout -b my-new-feature)git commit -am 'Add some feature')git push origin my-new-feature)Don't forget to run crystal tool format on any code you commit.
Your are advised to open an issue before opening a pull request. In that issue you can describe the context and discuss your proposal.
Non ordered list of things I would like to do:
Content type
Image
Digest
Size
42.9 MB
Last updated
about 6 years ago
docker pull erdnaxeli/matrix-architect