Skip to content

Commit 430337e

Browse files
committed
update dev env setup
1 parent 4a71283 commit 430337e

File tree

1 file changed

+33
-16
lines changed

1 file changed

+33
-16
lines changed

README.md

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ You may also wish to add a configuration file (Element Call uses the domain it's
2828
but you can change this in the config file). This goes in `public/config.json` - you can use the sample as a starting point:
2929

3030
```
31-
cp config/config.sample.json public/config.json
31+
cp config/config.devenv.json public/config.json
3232
# edit public/config.json
3333
```
3434

@@ -58,14 +58,24 @@ If you're using [Synapse](https://github.com/element-hq/synapse/), you'll need t
5858

5959
```
6060
experimental_features:
61+
# MSC3266: Room summary API. Used for knocking over federation
6162
msc3266_enabled: true
63+
64+
# The maximum allowed duration by which sent events can be delayed, as
65+
# per MSC4140.
66+
max_event_delay_duration: 24h
67+
68+
rc_message:
69+
# This needs to match at least the heart-beat frequency plus a bit of headroom
70+
# Currently the heart-beat is every 5 seconds which translates into a rate of 0.2s
71+
per_second: 0.5
72+
burst_count: 30
6273
```
6374

6475
MSC3266 allows to request a room summary of rooms you are not joined.
6576
The summary contains the room join rules. We need that to decide if the user gets prompted with the option to knock ("ask to join"), a cannot join error or the join view.
6677

67-
Element Call requires a Livekit SFU behind a Livekit jwt service to work. The url to the Livekit jwt service can either be configured in the config of Element Call (fallback/legacy configuration) or be configured by your homeserver via the `.well-known`.
68-
This is the recommended method.
78+
Element Call requires a Livekit SFU behind a [Livekit JWT service](https://github.com/element-hq/lk-jwt-service) to work. The url to the Livekit JWT service can either be configured in the config of Element Call (fallback/legacy configuration) or be configured by your homeserver via the `.well-known/matrix/client`. This is the recommended method.
6979

7080
The configuration is a list of Foci configs:
7181

@@ -112,6 +122,14 @@ yarn
112122
yarn link matrix-js-sdk
113123
```
114124

125+
To use it, create a local config by, e.g., `cp ./config/config.sample.json
126+
./public/config.json` and adapt it if necessary. The sample config should work
127+
with the backend development environment as outlined in the next section out of
128+
box.
129+
130+
(Be aware, that this is only the fallback Livekit SFU. If the homeserver
131+
advertises one in the client well-known, this will not be used.)
132+
115133
You're now ready to launch the development server:
116134

117135
```
@@ -120,25 +138,24 @@ yarn dev
120138

121139
### Backend
122140

123-
A docker compose file is provided to start a LiveKit server and auth
124-
service for development. These use a test 'secret' published in this
125-
repository, so this must be used only for local development and
126-
**_never be exposed to the public Internet._**
141+
A docker compose file `dev-backend-docker-compose.yml` is provided to start the
142+
whole stack of components which is required for a local development environment:
143+
- Minimum Synapse Setup (servername: synapse.localhost)
144+
- LiveKit JWT Service (Note requires Federation API and hence a TLS reverse proxy)
145+
- Minimum TLS reverse proxy (servername: synapse.localhost) Note certificates
146+
are valid for at least 10 years from now
147+
- Minimum LiveKit SFU Setup using dev defaults for config
148+
- Redis db for completness
127149

128-
To use it, add a SFU parameter in your local config `./public/config.json`:
129-
(Be aware, that this is only the fallback Livekit SFU. If the homeserver
130-
advertises one in the client well-known, this will not be used.)
131-
132-
```json
133-
"livekit": {
134-
"livekit_service_url": "http://localhost:7881"
135-
},
136-
```
150+
These use a test 'secret' published in this repository, so this must be used
151+
only for local development and **_never be exposed to the public Internet._**
137152

138153
Run backend components:
139154

140155
```
141156
yarn backend
157+
# or for podman-compose
158+
# podman-compose -f dev-backend-docker-compose.yml up
142159
```
143160

144161
### Test Coverage

0 commit comments

Comments
 (0)