* Rewrites the demo documentation to be clearer, accurate, and moves it to our documentation tree. * Improvements to the demo scripts: * `clean.sh` now runs `stop.sh` first to avoid zombie processes. * Uses more modern Synapse configuration (and removes some obsolete configuration). * Consistently use the HTTP ports for server name, etc. * Remove the `demo/etc` directory and place everything into the `demo/808x` directories.
1.7 KiB
Synapse demo setup
DO NOT USE THESE DEMO SERVERS IN PRODUCTION
Requires you to have a Synapse development environment setup.
The demo setup allows running three federation Synapse servers, with server
names localhost:8080
, localhost:8081
, and localhost:8082
.
You can access them via any Matrix client over HTTP at localhost:8080
,
localhost:8081
, and localhost:8082
or over HTTPS at localhost:8480
,
localhost:8481
, and localhost:8482
.
To enable the servers to communicate, self-signed SSL certificates are generated and the servers are configured in a highly insecure way, including:
- Not checking certificates over federation.
- Not verifying keys.
The servers are configured to store their data under demo/8080
, demo/8081
, and
demo/8082
. This includes configuration, logs, SQLite databases, and media.
Note that when joining a public room on a different HS via "#foo:bar.net", then you are (in the current impl) joining a room with room_id "foo". This means that it won't work if your HS already has a room with that name.
Using the demo scripts
There's three main scripts with straightforward purposes:
start.sh
will start the Synapse servers, generating any missing configuration.- This accepts a single parameter
--no-rate-limit
to "disable" rate limits (they actually still exist, but are very high).
- This accepts a single parameter
stop.sh
will stop the Synapse servers.clean.sh
will delete the configuration, databases, log files, etc.
To start a completely new set of servers, run:
./demo/stop.sh; ./demo/clean.sh && ./demo/start.sh