Rigel is a self-hostable, alternative server implementation compatible with the Discord API and client ecosystem. Developed as an independent project, it is designed to be compatible with both Spacebar or Fluxer.
This repository contains the core backend codebase, including the REST API, Gateway (WebSocket), and CDN.
- MySQL (>= 8.0) or MariaDB (>= 10.5)
- (Optional) Rust toolchain (latest stable, only if building from source)
Create a dedicated database for Rigel with utf8mb4 encoding:
CREATE DATABASE rigel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- Download the archive matching your OS and architecture from the Latest Releases.
- Extract the archive into your desired directory.
- Copy
.env.exampleto.env(or create one) and adjust your configuration.cp .env.example .env
- Run the executable (database migrations will run automatically on startup):
# Linux / macOS chmod +x rigel-server ./rigel-server # Windows .\rigel-server.exe
Important
Most variables have built-in default values. At minimum, ensure your DATABASE_URL is configured.
-
Clone the repository:
git clone https://github.com/rigelchat/server.git cd server -
Configure environment variables:
cp .env.example .env # Edit .env with your database credentials and secret key -
Run in development mode (with auto-migrations):
cargo run
-
Or build an optimized release binary:
cargo build --release ./target/release/rigel-server
Once started, the server listens by default on port 3000:
- REST API:
http://localhost:3000/api/v1(alias:http://localhost:3000/api) - Gateway (WebSocket):
ws://localhost:3000/gateway
Run the automated test suite:
cargo testRigel aims for 1:1 compatibility with the Discord API. Refer to the official Discord Developer Portal or check our Wiki for project-specific details.