A modern discord-clone for self-hosting. Because fuck anti-privacy laws.
Find a file
2025-12-02 23:26:27 +01:00
.claude fix: VAD and screensharing in production 2025-10-02 17:11:30 +02:00
.github/workflows feat: begin implementing unit tests 2025-11-01 16:51:29 +01:00
android feat: release preparation for android app 2025-09-22 01:54:29 +02:00
build feat: desktop app 2025-08-11 23:51:35 +02:00
docs feat: version bump 2025-11-24 12:19:27 +01:00
public feat: gif for welcome page 2025-10-31 10:42:03 +01:00
scripts feat: ensure migrations before running tests 2025-11-07 16:19:37 +01:00
server Merge branch 'main' of ssh://192.168.1.74/Eidenz/Chirp 2025-12-02 23:26:27 +01:00
src Merge branch 'main' of ssh://192.168.1.74/Eidenz/Chirp 2025-12-02 23:26:27 +01:00
tests feat: raise threashold for tests 2025-11-07 16:23:21 +01:00
.dockerignore feat: docker 2025-08-07 17:29:47 +02:00
.gitignore fix: temporarily pulled bot doc 2025-11-20 16:49:59 +01:00
babel.config.js feat: begin implementing unit tests 2025-11-01 16:51:29 +01:00
build-docker.sh feat: better desktop notification content for other channel types 2025-11-11 01:44:20 +01:00
capacitor.config.ts fix: better android app screen usage 2025-09-17 17:11:21 +02:00
CLAUDE.md feat: migration to postgresql 2025-09-29 15:23:47 +02:00
docker-compose.yml feat: updated compose 2025-10-10 09:08:31 +02:00
docker-entrypoint.sh fix: attempt to fix docker image 2025-09-22 00:39:26 +02:00
Dockerfile feat: postgresql for docker 2025-09-29 15:30:31 +02:00
index.html feat: using ico for favicon 2025-11-01 16:09:40 +01:00
jest.config.js feat: begin implementing unit tests 2025-11-01 16:51:29 +01:00
jest.server.config.js feat: continuing tests implementation, fixing pools 2025-11-03 10:34:02 +01:00
LICENSE feat: readme 2025-08-26 12:31:17 +02:00
package-lock.json fix: some backend tests 2025-11-05 12:10:20 +01:00
package.json feat: version bump 2025-11-24 12:19:27 +01:00
postcss.config.js Initial commit 2025-08-06 15:54:21 +02:00
README.md feat: version bump 2025-11-24 12:19:27 +01:00
tailwind.config.js feat: better white theme 2025-09-16 22:59:05 +02:00
vite.config.js feat: do not include gif in build 2025-10-31 12:32:23 +01:00
vite.config.js.docker feat: automate docker build a bit 2025-11-01 16:04:17 +01:00

Chirp

Chirp Logo

A privacy-focused, self-hostable social platform. Discord-like functionality with full control over your data.

License: MIT Version


🐦 Why Chirp?

In an era where digital privacy is constantly under threat and our personal conversations are treated as a commodity, we believe you have a fundamental right to private communication. Chirp was born out of frustration with platforms that monitor, monetize, and censor your data without your consent.

Chirp is built on a simple idea: your data belongs to you.

  • 🔒 Self-Hosted First: Chirp is designed to be run on your own server. You control the hardware, the database, and the entire ecosystem. There are no third-party servers storing your messages.
  • 🚫 No Message Scanning: We will never scan your messages. The code is open source—you can verify this yourself.
  • 📢 Open Source & Transparent: Trust should be earned. Chirp's entire codebase is available for you to inspect, modify, and contribute to.

Features

Real-time Communication

  • Servers & Channels - Create communities with text, media, forum, and collaborative channels
  • Threads - Organized conversations that branch from any message
  • Direct & Group Messages - Private conversations with rich features
  • Real-time Updates - Instant messaging with WebSockets, presence, and typing indicators
  • Friend System - Comprehensive friend management with online status and blocking

Rich Content & Media

  • Enhanced Media - File attachments, GIF search, custom emojis, and stickers
  • Smart Embeds - Rich link previews with embedded YouTube playback
  • Interactive Polls - Live polls with real-time results
  • Media Channels - Browse images, videos, and audio with thumbnails and comments
  • Collaborative Workspaces - Shared notes, documents, and wiki functionality
  • Events & Calendar - Server events with reminders and scheduling

Personalization & Profiles

  • Dual Profile System - Global profile + per-server profiles
  • Rich Customization - Avatars, banners, bios, custom sounds, and themes
  • Profile Badges - Collectible status and achievement badges
  • Advanced Cropping - Fine-tune your profile images with intuitive tools
  • Date/Time Formatting - Personalized display preferences

Moderation & Security

  • Fine-Grained Permissions - Role-based system with category and channel overrides
  • Moderation Tools - Comprehensive admin logs, kick/ban functionality
  • Muting Controls - Granular muting for DMs, channels, and servers
  • E2EE Channels - End-to-end encryption for sensitive conversations
  • Two-Factor Auth - Optional 2FA for account security
  • Account Control - Full deletion options (anonymize or complete nuke)

Cross-Platform Experience

  • Desktop App - Native Windows and Linux Electron app
  • System Tray - Background operation with notification badges
  • Auto-Updates - Seamless desktop app updates
  • Rich Notifications - Clickable notifications that go directly to conversations
  • VR Integration - XSOverlay support for in-VR notifications

🛠️ Tech Stack

Frontend: React 19, Vite, Tailwind CSS, Zustand, TanStack Query Backend: Node.js, Express, Socket.IO Database: PostgreSQL with Knex.js migrations Desktop: Electron with auto-updater support

🚀 Quick Start

See docusaurus documentation

🏗️ Architecture

Frontend: React 19 application with Vite, organized by feature components with Zustand for state management and TanStack Query for server state.

Backend: Node.js/Express server with Socket.IO for real-time communication, handling REST API endpoints and WebSocket connections.

Database: PostgreSQL with comprehensive migration system using Knex.js, supporting users, servers, channels, messages, roles, permissions, and more.

Real-time: Socket.IO handles presence, typing indicators, and instant message delivery with auto-reconnection and heartbeat system.

📚 Documentation

Complete documentation is available at docs/ with guides for:

  • Getting Started - Installation and quick setup
  • Self-Hosting - Production deployment and configuration
  • User Guide - Features and how to use them
  • Admin Guide - Server management and moderation
  • Developer Guide - Architecture, API, and contributing

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ for privacy-respecting communities