Databag
Databag gives you federated, end-to-end encrypted messaging service for the web, iOS, and Android, supporting text, on your own infrastructure.
Self-hosted messaging, honestly reviewed. No marketing fluff, just what you get when you deploy it yourself.
TL;DR
- What it is: Open-source (Apache-2.0) self-hosted federated messenger — think Signal, but the server runs in your garage and the developer has no access to your conversations [1][2].
- Who it’s for: Privacy-focused families, small teams, and founders who want encrypted group messaging and audio/video calls without handing their data to Signal, Discord, or Slack [2][3].
- Cost savings: Slack charges $7.25–$12.50 per user per month. Discord Nitro costs $9.99/mo. Databag is free software — you pay only for the server it runs on, which can be a $6/mo VPS or a Raspberry Pi you already own [README][1].
- Key strength: Genuinely lightweight — the server runs on a Raspberry Pi Zero v1.3. Federated architecture means contacts on different Databag servers can talk to each other. End-to-end encryption is real, not marketing [2][3][README].
- Key weakness: 1,431 GitHub stars and 14 contributors. This is a small solo-maintained project, not a company. Audio and video calls require a separate TURN/STUN relay server you set up yourself. The integration ecosystem is essentially zero — there are no bots, no Zapier hooks, no app directory [README][1].
What is Databag
Databag is a self-hosted federated messenger. “Federated” means your Databag server can communicate with other Databag servers — if you host one for your family and a colleague hosts one for their team, you can still add each other as contacts and exchange messages, exactly like email works across different providers [1][2].
The project was created by Roland Osborne (GitHub: balzack) and sits at 1,431 stars with 93 forks as of this review. The license is Apache-2.0, which means you can self-host, fork, modify, or embed it without any commercial licensing conversation [1][README].
The README is direct about what the project prioritizes: efficiency. The server runs on a Raspberry Pi Zero v1.3 — one of the cheapest single-board computers you can buy. It uses websockets for push notifications instead of polling, keeping latency low without burning CPU. The identity model is built on public-private key pairs, which means your account identity isn’t tied to a domain name — if you move your server, your identity can travel with you [2][3][README].
Three things separate it from the obvious comparison tools (Element/Matrix, Rocket.Chat, Mattermost):
First, scale and complexity are opposite directions. Element/Matrix will scale to thousands of users and integrate with everything. Databag explicitly won’t — it’s built for families, small friend groups, and small teams who want a clean, private alternative to WhatsApp or Signal without the complexity of running a Matrix homeserver.
Second, federation without Matrix overhead. Databag implements its own lightweight federation protocol rather than adopting Matrix. That keeps the footprint tiny but means interoperability is only with other Databag nodes, not the broader Matrix network [README][2].
Third, sealed topics as a first-class privacy primitive. By default, topics (Databag’s equivalent of channels or group chats) are unsealed — the server admin can read them. When you enable end-to-end encryption on a topic (“seal” it), the admin genuinely cannot read it — not “we promise we don’t look,” but cryptographically cannot [2][3][README].
Why people choose it
The reviews available for Databag are thin — this is a sub-1,500-star project, not something with 50 G2 reviews and a Trustpilot page. What exists is mostly feature writeups rather than experience-based reviews, and one first-person testimonial: the developer’s own AlternativeTo entry, where Roland Osborne notes he uses it to communicate with his family [1].
That gap itself tells you something about who picks this tool: people who found it on r/selfhosted or AlternativeTo while looking for a private WhatsApp replacement, deployed it, and mostly didn’t feel the need to write about it afterward. It’s not a platform with a marketing team generating comparison content.
The case people make for it, synthesized from what’s written [2][3]:
Against WhatsApp and iMessage. You get zero visibility into how those services handle your data, and you have no option to self-host. Databag gives you a functionally similar experience (mobile apps, push notifications, audio/video calls) with the data living on infrastructure you control.
Against Signal. Signal is excellent, but centralized. Signal’s servers see your contact graph and metadata even if they can’t read message content. Databag is decentralized by design — there’s no central server that knows who’s talking to whom across all Databag nodes [2][3].
Against Element/Matrix. Matrix is the obvious competitor in the federated self-hosted messaging space, but Matrix is complex. Running a Synapse homeserver properly, with federation working correctly, with bridges to other platforms, is a project, not an afternoon. Databag’s stated goal is simplicity and efficiency. If you just need private messaging and calls for your family, Databag requires far less infrastructure knowledge to operate [2].
Against Rocket.Chat and Mattermost. Those are team collaboration platforms — comparable to Slack, built for organizations. Databag isn’t trying to replace Slack. No threading per-message, no bot framework, no integrations with project management tools. It’s a messenger, not a workplace tool [3].
Features
Based on the README and third-party descriptions:
Core messaging:
- Topic-based threads — messages are organized by topic/channel, not by contact DM pairs. You create a topic, invite participants, and the thread lives there [2][3][README]
- Unlimited participants per topic [README]
- Unlimited accounts per node — one server can host your whole family or team [README]
- End-to-end encryption on sealed topics — hosting admin cannot read them [2][3][README]
- Public-private key identity not bound to any domain [README]
Communication:
- Audio and video calls via WebRTC [2][3][README]
- Low latency via websocket push (no polling) [README]
- Mobile alerts for new contacts, messages, and calls [README]
- Push notification support: UnifiedPush, FCM (Firebase), APN (Apple) [README]
Security and identity:
- Multi-Factor Authentication via TOTP apps [README]
- Federated — cross-node communication between Databag servers [1][2][3]
- Decentralized — direct app-to-server communication, no intermediary [2][3]
Deployment and admin:
- Docker and Docker Compose deployment [README]
- arm64 and amd64 container builds available [README]
- REST API [merged profile]
- Single container, single persistent volume, minimal dependencies [README]
- Available on F-Droid, Google Play, and Apple App Store [README]
What it doesn’t have:
- No bot framework
- No third-party integrations or app marketplace
- No file versioning or document collaboration
- No presence of any enterprise feature tier (RBAC, SSO, audit logs) — this is not an enterprise tool
Pricing: SaaS vs self-hosted math
Databag has no SaaS tier and no pricing page. It’s free software, Apache-2.0 licensed. The only cost is the infrastructure you run it on [1][README].
Self-hosted Databag:
- Software: $0
- VPS (Hetzner, Contabo, Vultr): $4–10/month for a machine that will comfortably run it
- Raspberry Pi Zero v1.3 (one-time): ~$15, runs for years on negligible electricity
- Your time to set it up
What you’re replacing:
| Service | Cost | Per-user? | Data sovereignty |
|---|---|---|---|
| Free | No | No | |
| Signal | Free | No | No (centralized) |
| iMessage | Free | No | No |
| Slack (Pro) | $7.25/user/mo | Yes | No |
| Discord Nitro | $9.99/mo | Per account | No |
| Telegram | Free / $4.99/mo Premium | No | No |
| Element One (Matrix hosting) | ~$5/user/mo | Yes | Optional |
For a family of four replacing WhatsApp: cost difference is near-zero since WhatsApp is free, but the data sovereignty argument is real. For a small team of five replacing Slack: Slack would run $36.25/month minimum; Databag costs $6/month for the VPS. Over a year that’s $435 saved — not transformative, but not nothing [2].
The realistic audience isn’t people escaping a $500/mo Slack bill. It’s people who want to stop feeding their private family conversations into Meta’s servers, and who are willing to spend an afternoon setting up a server to make that happen.
Deployment reality check
The install process is Docker Compose. The container is published on Docker Hub (balzack/databag:latest) for both arm64 and amd64. Setup instructions cover three paths: bare Docker Compose, Docker Compose with certbot for HTTPS, and Portainer with Nginx Proxy Manager [README].
What you actually need:
- A Linux machine (VPS or Raspberry Pi) reachable from the internet
- A domain name pointing to it (DNS A record)
- Docker and docker-compose installed
- An SSL certificate (Certbot/Let’s Encrypt handles this in the SWAG compose variant)
- Port 7000 accessible from the internet (or proxied through nginx/Caddy)
What can go wrong:
Audio and video calls require a STUN/TURN relay server for NAT traversal. Databag doesn’t ship one. The README mentions coturn and pion as tested implementations. If you want calls to work reliably between mobile clients on cellular networks and your home server, you need to either run your own coturn server or use a hosted TURN service. This is a non-trivial extra step that many self-hosted messenger setups skip and then wonder why calls don’t connect [2][3][README].
The admin setup after deployment also requires configuration through the browser interface: you log in with your admin password, set the federated hostname, save the configuration. It’s not complex, but it’s not a one-command-done install either [README].
One important nuance: topics are unsealed by default — meaning the server admin can read all messages. End-to-end encryption is opt-in per topic (“seal” the topic). For a family where you’re the admin, this distinction doesn’t matter. For a multi-admin or multi-user scenario, it matters a lot [2][3].
Realistic time estimate for a technical user who has deployed Docker containers before: 30–60 minutes to a working instance with HTTPS. For a non-technical person following a guide with no prior VPS experience: half a day, possibly two if the TURN server for calls is in scope.
Pros and cons
Pros
- Genuinely lightweight. Runs on a Raspberry Pi Zero v1.3 — the smallest, cheapest Pi available. This isn’t marketing copy; the developer uses this exact hardware [2][3][README].
- Real end-to-end encryption. Sealed topics are cryptographically inaccessible to the hosting admin, not just policy-restricted [2][3][README].
- Federated. Contacts on different Databag nodes can communicate with each other, unlike most self-hosted messengers which are island deployments [1][2][3].
- Public-private key identity. Your account isn’t tied to a domain name or a central registry — more portable than most messenger identity systems [2][3][README].
- Mobile apps on all stores. Available on F-Droid (no Google dependency), Google Play, and Apple App Store [README][1].
- Apache-2.0 license. No commercial use restrictions, no “fair-code” asterisks, no CLA [1][README].
- TOTP MFA. Two-factor authentication works with standard authenticator apps [README].
- UnifiedPush support. Push notifications without Firebase dependency — matters for privacy-conscious users and de-Googled Android devices [README].
Cons
- Small project, solo maintainer. 1,431 stars, 14 contributors. The project is maintained by one person [1][README]. This is the biggest long-term risk — if balzack stops maintaining it, the project stalls.
- Calls require separate TURN server. Audio and video calling doesn’t work reliably without coturn or equivalent. There’s no hosted fallback, no built-in TURN. You set it up yourself or calls fail through NAT [2][3][README].
- No integrations, no bots. Databag is a messenger, not a platform. There’s no webhook system, no bot framework, no third-party app marketplace. If you need Jira notifications, GitHub alerts, or CI/CD results piped into your chat — wrong tool.
- Default topics are unencrypted. Sealed (E2E encrypted) topics require explicit setup per topic. Out of the box, the server admin can read everything [2][3].
- No web discovery for federation. Federation works, but finding and connecting to people on other nodes isn’t smooth — you need to know the exact address. There’s no directory or search [README].
- Very thin documentation. The README covers deployment. A design overview exists. There’s a Figma file for UI contributions. There’s no troubleshooting guide, no admin guide, no “what to do when calls don’t work” page.
- TURN server for calls is underdocumented. The README mentions it’s needed but doesn’t walk you through setting it up. For non-technical users, this will be the wall they hit [2][3].
- Near-zero third-party reviews. The limited review surface makes it hard to know about bugs or failure modes that don’t appear in the README. You’re largely relying on reading the source code or Reddit threads to understand real-world pain points [1].
Who should use this / who shouldn’t
Use Databag if:
- You want to stop sending your family’s private conversations through Meta’s servers and you’re comfortable running a Docker container.
- You’re a developer or technical founder who needs a self-hosted private group messenger for a small team (under 30 people) and doesn’t need Slack-style integrations.
- You already run a Raspberry Pi or home server and want to add messaging to it without significant RAM or compute overhead.
- You want UnifiedPush support and a messenger that doesn’t require Firebase on your devices.
- Federation matters to you — you want to connect with people on other self-hosted nodes without a central registry.
Skip it (use Element/Matrix instead) if:
- You need to federate with the broader Matrix network and its bridges to Slack, Discord, IRC, and WhatsApp.
- You need fine-grained room permissions, moderation tools, or an admin panel with real controls.
- You’re building infrastructure for more than a few dozen users.
Skip it (use Signal instead) if:
- You don’t want to maintain a server at all. Signal is free, excellent, and you don’t operate it.
- You need a messenger that non-technical family members can install with zero explanation — Signal’s onboarding is one step, Databag requires someone to run the server first.
Skip it (use Mattermost or Rocket.Chat instead) if:
- You need team collaboration features: threaded replies on any message, integrations with GitHub/Jira/CI tools, bot framework, slash commands, or an app directory.
- You’re deploying for a company rather than a family or small friend group.
Skip it (use Telegram instead) if:
- You need a large-scale group with hundreds of participants and don’t have the infrastructure for self-hosting.
- You need bots, channels, and broadcast messaging.
Alternatives worth considering
From the AlternativeTo listing and the broader self-hosted communication category [1]:
- Element (Matrix/Synapse) — the serious federated self-hosted messenger. More complex to operate, significantly more features, bridges to virtually every other platform, much larger community. If Databag feels too minimal, this is the next step.
- Signal — the gold standard for private messaging, free, end-to-end encrypted by default, excellent mobile apps, but centralized (Signal Foundation operates the servers). No self-hosting option for most users.
- Mattermost — Slack replacement for teams. Open-source community edition, extensive integrations, more complex infrastructure, not a personal/family messenger.
- Rocket.Chat — Similar positioning to Mattermost. Full-featured team platform, heavier footprint, more admin overhead.
- Zulip — Unique topic-based threading model (actually similar in concept to Databag’s topics), good for async team communication, open source, self-hostable.
- Telegram — Not self-hosted, but free, fast, large groups, bot ecosystem. Privacy is weaker than Signal or Databag (not E2E by default).
- SimpleX Chat — Newer decentralized messenger with a strong privacy focus, no user identifiers at all. Worth comparing if anonymity is a priority.
For a family leaving WhatsApp: Databag vs Signal is the real choice. Databag gives you server control; Signal gives you zero maintenance. For a small technical team: Databag vs Mattermost — Databag if you just need messaging, Mattermost if you need integrations and workflow.
Bottom line
Databag is the right tool for a narrow but real use case: someone technical enough to run a Docker container who wants private, federated messaging for a family or small group, doesn’t need any integrations, and values sovereignty over their data. The Apache-2.0 license, genuine end-to-end encryption on sealed topics, UnifiedPush support, and the ability to run the whole thing on a $15 Raspberry Pi make it genuinely compelling within that scope.
The risks are real: one primary maintainer, thin documentation, audio/video calls requiring a separate TURN server you set up yourself, and essentially no third-party review history to tell you what breaks in production. This is not infrastructure to bet a company on. For a family group chat or a small circle of technically-inclined friends who want to own their conversations, it’s a solid, honest piece of software that does what it says without requiring enterprise-grade infrastructure to support it.
If running a server sounds like work you’d rather skip, Signal is the correct answer. If you want full federation with the broader open-source communication ecosystem, look at Matrix. But if you want a fast, private, federated messenger that you can understand end-to-end and host on the cheapest hardware that exists — Databag is one of the few projects that actually delivers that.
Sources
- AlternativeTo — Databag: A tiny self-hosted federated messenger for the decentralized web (3 likes, 1 review). https://alternativeto.net/software/databag/about/
- Medevel — Databag: Self-hosted Federated Messenger for the Decentralized Web. https://medevel.com/databag-self-hosted/
- Medevel — Databag Is an Open-source Communication Platform for Decentralized Web. https://medevel.com/databag-is-an-open-source/
- Shaynly — A Catalog Of Self-Hosted Free Software Network Services And Web Applications. https://shaynly.com/self-hosted-free-software/
Primary sources:
- GitHub repository and README: https://github.com/balzack/databag (1,431 stars, Apache-2.0 license, 14 contributors)
- Docker Hub container: https://hub.docker.com/r/balzack/databag/tags
- F-Droid listing: https://f-droid.org/en/packages/com.databag/
- Apple App Store: https://apps.apple.com/us/app/databag/id6443741428
- Google Play: https://play.google.com/store/apps/details?id=com.databag
- Design overview: https://github.com/balzack/databag/blob/main/doc/design_overview.md
Features
Authentication & Access
- Two-Factor Authentication
Integrations & APIs
- REST API
Replaces
Related Communication & Messaging Tools
View all 128 →LobeChat
74KAn open-source AI chat platform with multi-model support, agent building, MCP integration, and plugin ecosystem — a self-hosted alternative to ChatGPT.
Rocket.Chat
45KRocket.Chat is an open-source team communication platform that combines messaging, video conferencing, and omnichannel customer engagement in a single self-hosted deployment.
Mattermost
36KSecure collaboration, workflow and AI on sovereign infrastructure. Operational sovereignty for national security and critical infrastructure.
Mattermost
36KSecure collaboration, workflow and AI on sovereign infrastructure. Operational sovereignty for national security and critical infrastructure.
Continue
32KSource-controlled AI checks on every pull request. Standards as checks, enforced by AI, decided by humans.
ntfy
29KPush notifications made easy. Simple HTTP-based pub-sub notification service for your phone or desktop.