Skip to content

Repository files navigation

Synapse Relay Server

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.

Usage

Docker is the only supported way of running a relay in production. You can learn more at docs/user/self-hosting.md.

Local Development

Prerequisites

  • Node.js and NPM (LTS)
  • Docker (if testing docker builds)

Setup

  1. Install dependencies:
npm install
  1. Configure environment variables (if desired, the server has defaults it will use):
cp .env.example .env

Development

  1. Run the app in dev mode:
npm start
  1. Run tests:
npm run tests
  1. Run a build:
npm run build
  1. Run the build:
npm run start:build

Contributions

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!

License

Headbase projects are released under the GNU AGPLv3 licence.

About

A relay server where peers can connect via a shared identifier and exchange messages.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages