databag: Self-Host a Federated Messenger

Summary
Databag is a lightweight messenger that connects users across self-hosted nodes, with topic-based conversations and end-to-end encryption. It suits people and communities who want control over their messaging infrastructure and are prepared to operate a server.
At a glance
- Language
- TypeScript
- License
- Apache-2.0
- Stars
- 1.5k
- Forks
- 98
- Added to OSRepos
- October 24, 2025
- Last analyzed
- October 4, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Databag is a federated messaging app for people who want to run their own messaging service rather than depend on a single hosted platform. Users on separate Databag nodes can communicate, while account identity is based on public-private keys rather than a blockchain or hosting domain.
Conversations are organized into topics, and sealed topics use end-to-end encryption so the hosting administrator cannot view their contents. Databag also supports audio and video calls, though those require a separate relay service for NAT traversal.
Key Features
- Federated communication between accounts hosted on different nodes.
- Public-private key-based identity, not tied to a blockchain or hosting domain.
- End-to-end encryption for sealed topics.
- Topic-based threads with support for unlimited participants.
- Audio and video calls using WebRTC and a separately configured STUN/TURN relay.
- Mobile notifications through UnifiedPush, FCM, and APN.
- TOTP-based multi-factor authentication.
- Lightweight server designed to run on hardware as small as a Raspberry Pi Zero v1.3.
Use Cases
- Individuals who want a private messenger hosted on infrastructure they control.
- Families or small communities that want accounts on their own node and conversations with users on other nodes.
- Self-hosting enthusiasts running a messaging service on a small device or home server.
- Groups that need topic-based conversations and calls, and can configure a separate relay service for reliable NAT traversal.
Project Facts
- Language: TypeScript
- License: Apache-2.0
- Stars: 1.5k
- Forks: 98
- Topics: android, chat-application, decentralized, dweb, end-to-end-encryption, fdroid, federated, golang, ios, messenger, openwrt, raspberry-pi, raspberry-pi-zero, react-native, reactjs, self-sovereign-identity, selfhosted, video-chat, webrtc
- Archived: no
Getting Started
The project provides Docker Compose deployment files. From the net/container directory, start the standard setup with:
docker-compose -f compose.yaml -p databag up
A DNS name pointing to the node and a certificate are needed for a typical deployment. See the repository README for setup details and other installation options.
Considerations
Databag requires you to operate a server. The documented deployment expects a DNS name and certificate, and audio and video calls require a separately configured STUN/TURN relay for NAT traversal. The README offers a demo relay configuration for testing, but advises setting up your own relay or using a TURN service for calls.
Found this useful?
Share it with someone who would like databag.
Source repository
Open the original repository on GitHub.
13 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

agentwatch: Monitor AI Agent Activity Locally
October 6, 2026
agentwatch combines logs from multiple coding agents into a local timeline with event details, cost tracking, alerts, and search. It suits developers who run several agents and want visibility without sending data to a cloud service.

image-blaster: Turn Images into 3D Environments and Assets
October 5, 2026
image-blaster uses Claude skills and external generation services to turn an image into a 3D environment, object meshes, and sound effects. It is designed to quickly create starting points for game, 3D, and web projects.

OrcaReplay: Record and Replay AI Agent Runs
October 2, 2026
OrcaReplay records AI agent runs so developers can inspect what happened, replay interactions offline, and fork a run from a checkpoint onto another model. It is a TypeScript CLI for debugging and comparing agent behavior without modifying the agent.

openmake_llm: Coordinate AI Models, Agents, and Tools
October 1, 2026
OpenMake is a self-hosted AI workspace that coordinates chat models, agents, and tools in one place. It suits people who want multi-step AI workflows with local or open-weight models, while keeping infrastructure and model choices under their control.