selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

chat logo

Self-host chat

0.0.1

Decentralized browser-based chat with end-to-end encryption

AlphaOpen SourceGPL-3.0
Updated8 months ago
LanguageJavaScript
Setup difficultyModerate
Stars
333
Port
80 (HTTP (nginx static frontend))
Requires
Peerjs-server
Install with Docker
chat screenshot 1chat screenshot 2chat screenshot 3chat screenshot 4

What is chat?

Chat is an experimental decentralized chat application designed to run entirely within the browser. It provides end-to-end encrypted messaging, file sharing via WebRTC, voice and video calls, mixed-reality spaces, an image board, and a webtop desktop environment. The app uses browser storage (IndexedDB) and peer-to-peer connections, so no central server is needed for messaging — only a PeerJS signaling server for connection setup. It can be self-hosted as a static site via Docker (nginx), GitHub Pages, or any static hosting. The project is explicitly marked as unstable and not production-ready. Native mobile (iOS/Android via Capacitor) and desktop (via Tauri) builds are possible but not published to app stores.

Should you self-host chat?

chat scores 38/100 on selfhost.directory (how scoring works) and ranks #89 of 110 in Chat. It has 333 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is GPL-3.0-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is Zulip (82/100, 26 131 stars). It scores higher overall, so compare the two before you pick. See chat vs Zulip side by side.

Features

  • End-to-end encryption
  • Image board / feed
  • Local-first calendar (Plan)
  • Mixed-Reality SpacesExperimental previews only
  • No installation or registration
  • Peer-to-Peer File Sharing
  • Voice and video calls
  • Webtop desktop environment

chat README

How to install chat

Install chat with Docker

npm run docker:build # docker build -t chat -f docker/Chat.Dockerfile . --no-cache npm run docker:run # docker run --name chat-container -p 8080:80 chat

Builds a local Docker image serving the static frontend via nginx on port 80

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…