The comms-gatekeeper service acts as the guardian of LiveKit tokens within Decentraland's communication architecture. It processes signed fetch requests from clients and generates tokens that grant access to LiveKit rooms dedicated to specific scenes or worlds. Notably, LiveKit rooms for Archipelago follow a separate communication channel, ensuring proper routing and isolation.
- Node.js (LTS version recommended)
- Yarn package manager
- PostgreSQL database
- Docker and Docker Compose (optional, for containerized setup)
- Clone the repository:
git clone https://github.com/decentraland/comms-gatekeeper.git
cd comms-gatekeeper
- Install dependencies:
yarn install
The service uses environment variables for configuration. Create a .env
file in the root directory following the ones defined in the .env.default
file.
- Start the PostgreSQL database:
docker-compose up
- Start the application:
yarn start:dev
The service uses node-pg-migrate
for database migrations. Check the documentation for more information.
- Run tests:
yarn test
- Lint code:
yarn lint:check
- Fix linting issues:
yarn lint:fix