- TypeScript 88.9%
- Astro 8.5%
- CSS 2.4%
- Dockerfile 0.2%
| .github | ||
| .vscode | ||
| public | ||
| redis | ||
| scripts | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| astro.config.ts | ||
| bearnie.json | ||
| biome.json | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
Warning
Colibri is currently in alpha. The current codebase is not really made to scale all that well. We've planned a refactor, which you can read about here.
Colibri
Colibri is an open source chat platform built on the AT protocol for communities big and small. It gives you the ability to create communities, manage members, and communicate through text, voice, and forum channels, all while maintaining true ownership of your data.
Visit us at colibri.social
What is Colibri?
You can learn more about Colibri on our about page.
Local Development
Prerequisites
- Node.js 24.13.0 or higher
- pnpm 10.29.3 or higher
- Redis server (for session management)
- Docker and Docker Compose (optional, for containerized deployment)
Getting Started
- Clone the repository:
git clone https://github.com/colibri-social/colibri.social.git
cd colibri.social
- Install dependencies:
pnpm install
- Set up environment variables by creating a
.envfile:
# Server-only secrets
PRIVATE_KEY_1=your_private_key_1
PRIVATE_KEY_2=your_private_key_2
INVITE_API_KEY=your_invite_api_key
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
REDIS_PASSWORD=your_redis_password
REDIS_URL=redis://optional_url
# Client-public variables
APPVIEW_DOMAIN=your_appview_domain
LIVEKIT_SERVER_URL=wss://livekit.colibri.social
# Optional
SAME_TLD_DID=optional_did
Note: PRIVATE_KEY_1 and PRIVATE_KEY_2 must be Base-64 encoded private keys compatible with atproto's libraries.
- Start the development server:
pnpm dev
The application will be available at http://localhost:4321.
You'll need a local redis instance running alongside the dev server. For this, you can use the docker-compose.dev.yml file.
pnpm docker:dev
Building for Production
pnpm build
pnpm start # You need to provide environment variables here for this to work correctly
Contributing
Contributions are welcome! Please feel free to open issues and pull requests.
License
This project is open source. Please check the LICENSE file for details.
