commit
				
					
						e1d6f99f25
					
				
			
		
					 1 changed files with 50 additions and 25 deletions
				
			
		
							
								
								
									
										75
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										75
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,26 +1,58 @@
 | 
			
		|||
# Element Call
 | 
			
		||||
 | 
			
		||||
Showcase for full mesh video chat powered by Matrix, implementing [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/blob/matthew/group-voip/proposals/3401-group-voip.md).
 | 
			
		||||
[](https://matrix.to/#/#webrtc:matrix.org)
 | 
			
		||||
[](https://translate.element.io/engage/element-call/)
 | 
			
		||||
 | 
			
		||||
Discussion in [#webrtc:matrix.org: ](https://matrix.to/#/#webrtc:matrix.org)
 | 
			
		||||
Full mesh group calls powered by [Matrix](https://matrix.org), implementing [MatrixRTC](https://github.com/matrix-org/matrix-spec-proposals/blob/matthew/group-voip/proposals/3401-group-voip.md).
 | 
			
		||||
 | 
			
		||||
## Getting Started
 | 
			
		||||
To try it out, visit our hosted version at [call.element.io](https://call.element.io). You can also find the latest development version continuously deployed to [element-call.netlify.app](https://element-call.netlify.app).
 | 
			
		||||
 | 
			
		||||
`element-call` is built against the `robertlong/group-call` branch of [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/pull/1902). Because of how this package is configured and Vite's requirements, you will need to clone it locally and use `yarn link` to stich things together.
 | 
			
		||||
## Host it yourself
 | 
			
		||||
 | 
			
		||||
First clone, install, and link `matrix-js-sdk`
 | 
			
		||||
Until prebuilt tarballs are available, you'll need to build Element Call from source. First, clone and install the package:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git clone https://github.com/vector-im/element-call.git
 | 
			
		||||
cd element-call
 | 
			
		||||
yarn
 | 
			
		||||
cp .env.example .env
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You can now edit the configuration in `.env` to your liking. The most important thing is to set `VITE_DEFAULT_HOMESERVER` to the homeserver that the app should use, such as `https://call.ems.host`.
 | 
			
		||||
 | 
			
		||||
Next, build the project:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
yarn build
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
If all went well, you can now find the build output under `dist` as a series of static files. These can be hosted using any web server of your choice.
 | 
			
		||||
 | 
			
		||||
Because Element Call uses client-side routing, your server must be able to route any requests to non-existing paths back to `/index.html`. For example, in Nginx you can achieve this with the `try_files` directive:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
server {
 | 
			
		||||
    ...
 | 
			
		||||
    location / {
 | 
			
		||||
        ...
 | 
			
		||||
        try_files $uri /$uri /index.html;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Development
 | 
			
		||||
 | 
			
		||||
Element Call is built against the `robertlong/group-call` branch of [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/pull/2553). To get started, clone, install, and link the package:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git clone https://github.com/matrix-org/matrix-js-sdk.git
 | 
			
		||||
cd matrix-js-sdk
 | 
			
		||||
git checkout robertlong/group-call
 | 
			
		||||
git switch robertlong/group-call
 | 
			
		||||
yarn
 | 
			
		||||
yarn link
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Next you'll also need [Synapse](https://matrix-org.github.io/synapse/latest/setup/installation.html) installed locally and running on port 8008.
 | 
			
		||||
 | 
			
		||||
Finally we can set up this project.
 | 
			
		||||
Next, we can set up this project:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git clone https://github.com/vector-im/element-call.git
 | 
			
		||||
| 
						 | 
				
			
			@ -28,6 +60,13 @@ cd element-call
 | 
			
		|||
yarn
 | 
			
		||||
yarn link matrix-js-sdk
 | 
			
		||||
cp .env.example .env
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
By default, the app expects you to have [Synapse](https://matrix-org.github.io/synapse/latest/setup/installation.html) installed locally and running on port 8008. If you wish to use another homeserver, you can set it in your `.env` file.
 | 
			
		||||
 | 
			
		||||
You're now ready to launch the development server:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
yarn dev
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -35,20 +74,6 @@ yarn dev
 | 
			
		|||
 | 
			
		||||
Configuration options are documented in the `.env` file.
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
## Translation
 | 
			
		||||
 | 
			
		||||
All files in this project are:
 | 
			
		||||
 | 
			
		||||
Copyright 2021-2022 New Vector Ltd
 | 
			
		||||
 | 
			
		||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
    http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
See the License for the specific language governing permissions and
 | 
			
		||||
limitations under the License.
 | 
			
		||||
If you'd like to help translate Element Call, head over to [translate.element.io](https://translate.element.io/engage/element-call/). You're also encouraged to join the [Element Translators](https://matrix.to/#/#translators:element.io) space to discuss and coordinate translation efforts.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue