auth/
contains authentication service (used for OAuth login and validating users)signalling/
contains signalling server (based on WebSockets), a service that transports everything that cannot be transported peer-to-peer (user's contact list updates, ICE servers configuration, peers offers and answers used to establish peer-to-peer connection)frontend/
contains web frontend app written in Reactnginx/
contains development Nginx configuration and self-signed certificates (we need them to make WebRTC work in browsers)
- install dependecies for
auth
,signalling
andfrontend
- copy
auth/config_example
toauth/config
and fill in values - copy
signalling/config_example
tosignalling/config
and fill in values - copy
frontend/src/config_example
tofrontend/src/config
and fill in values - in
nginx/
directory generate certificates (seenginx/README.md
) - install dependencies (
yarn
) for every service - run
create_network.sh
to create a Docker network for service containers - run
docker-compose build
To run containers, call docker-compose up
, optionally followed with -d
flag to detach from terminal.
Next, run frontend dev server: cd frontend && yarn start
If running for the first time, you will need to add security exceptions for our self-signed certificates.
Access https://curly.test
and https://signalling.curly.test
from browser(s) to add the exceptions.