Synapse is a WebSocket relay server where peers can connect via a shared identifier and exchange messages.
The server protocol and implementation is designed to be application agnostic, however as part of Headbase its purpose is to provide a mechanism for data synchronisation between peers.
Docker is the only supported way of running a relay in production. You can learn more at docs/user/self-hosting.md.
- Node.js and NPM (LTS)
- Docker (if testing docker builds)
- Install dependencies:
npm install
- Configure environment variables (if desired, the server has defaults it will use):
cp .env.example .env
- Run the app in dev mode:
npm start
- Run tests:
npm run tests
- Run a build:
npm run build
- Run the build:
npm run start:build
This project is currently open source, not open contribution. This is a personal project in its early stages. You're welcome to try it out, ask questions, raise bug reports etc but it wouldn't be practical to accept external code contributions or feature requests yet.
I'm open to this changing in the future once the project is more stable, collaboration is one of the great things about open source after all!
Headbase projects are released under the GNU AGPLv3 licence.