2022-03-08 21:02:59 +01:00
# Synapse demo setup
**DO NOT USE THESE DEMO SERVERS IN PRODUCTION**
2023-12-13 17:15:22 +01:00
Requires you to have a [Synapse development environment setup ](https://element-hq.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies ).
2022-03-08 21:02:59 +01:00
The demo setup allows running three federation Synapse servers, with server
2022-05-18 20:49:33 +02:00
names `localhost:8480` , `localhost:8481` , and `localhost:8482` .
2022-03-08 21:02:59 +01:00
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.
2022-05-18 20:49:33 +02:00
Note that when joining a public room on a different homeserver via "#foo:bar.net",
then you are (in the current implementation) joining a room with room_id "foo".
This means that it won't work if your homeserver already has a room with that
name.
2022-03-08 21:02:59 +01:00
## 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).
* `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:
```sh
./demo/stop.sh; ./demo/clean.sh & & ./demo/start.sh
```