{"name":"Databag: A Fast, Lightweight, and Self-Hosted Federated Messenger","description":"Databag is a fast and lightweight self-hosted messenger designed for efficiency and privacy. It offers decentralized and federated communication with end-to-end encryption, supporting audio/video calls and running on minimal resources like a Raspberry Pi Zero. This project provides a robust solution for self-sovereign messaging.","github":"https://github.com/balzack/databag","url":"https://osrepos.com/repo/balzack-databag","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/balzack-databag","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/balzack-databag.md","json":"https://osrepos.com/repo/balzack-databag.json","topics":["android","chat-application","decentralized","end-to-end-encryption","federated","messenger","selfhosted","TypeScript"],"keywords":["android","chat-application","decentralized","end-to-end-encryption","federated","messenger","selfhosted","TypeScript"],"stars":null,"summary":"Databag is a fast and lightweight self-hosted messenger designed for efficiency and privacy. It offers decentralized and federated communication with end-to-end encryption, supporting audio/video calls and running on minimal resources like a Raspberry Pi Zero. This project provides a robust solution for self-sovereign messaging.","content":"## Introduction\n\nDatabag is a fast, lightweight, and self-hosted messenger designed for private and efficient communication. It champions decentralization and federation, allowing accounts on different nodes to communicate seamlessly. With a strong focus on privacy, Databag implements public-private key based identity and end-to-end encryption, ensuring that even hosting administrators cannot view sealed topics.\n\nKey features include audio and video calls, topic-based threads for organized conversations, and support for unlimited participants. Databag is remarkably lightweight, capable of running on minimal resources like a Raspberry Pi Zero v1.3, and uses websockets for low-latency push events. It also supports unlimited accounts per node, mobile alerts, and multi-factor authentication.\n\nYou can find Databag available on [F-Droid](https://f-droid.org/en/packages/com.databag/), the [Apple App Store](https://apps.apple.com/us/app/databag/id6443741428), and the [Google Play Store](https://play.google.com/store/apps/details?id=com.databag). A demo server is available for testing, though it is regularly wiped, so avoid posting important information: [Try Databag Here](https://databag.coredb.org/#/create).\n\n## Installation\n\nTo deploy Databag, you'll need a DNS name pointing to your node with a valid SSL certificate. While manual deployment is possible, using container services is highly recommended for ease of setup. Docker containers for arm64 and amd64 architectures are available on Docker Hub.\n\n### Docker Compose\n\nYouYou can launch Databag using Docker Compose.\n\n**Standard Launch:**\n\nshell\n# From the net/container sub directory:\ndocker-compose -f compose.yaml -p databag up\n\n\n**Launch with Certbot HTTPS Certificate:**\n\nshell\n# FIRST: create a DNS entry in your DNS to point your desired subdomain to your host\n# SECOND: edit the net/container/docker-compose-swag.yml to include your domain name\n# THIRD: From the root of the project directory:\nmkdir -p ~/appdata\ndocker-compose -f net/container/docker-compose-swag.yml -p databag up\n\n\n### Example with Portainer and Nginx Proxy Manager\n\nFor a guided setup with Portainer and Nginx Proxy Manager, follow these steps:\n\n1.  **Portainer:**\n    *   Create a new volume.\n    *   Add a new container using `balzack/databag:latest`.\n    *   Publish port 7000 (host and container).\n    *   Set environment variable `ADMIN` with your desired admin password.\n    *   Map `/var/lib/databag` to your created volume.\n    *   Deploy the container.\n2.  **Nginx Proxy Manager:**\n    *   Add a new host.\n    *   Specify your hostname, Portainer IP address, and port '7000'.\n    *   Request a new SSL certificate.\n3.  **Browser Configuration:**\n    *   Access your server via its hostname.\n    *   Enter your admin password, set the Federated Host, and save.\n    *   Generate a new account link to create your first account.\n\n### Other Installation Options\n\nDatabag offers flexible deployment options beyond containers:\n\n*   Install without a container on a [Raspberry Pi Zero](https://github.com/balzack/databag/blob/main/doc/pizero.md).\n*   Install without a container in [AWS](https://github.com/balzack/databag/blob/main/doc/aws.md).\n*   Integrate Databag into an [OpenWrt firmware](https://github.com/balzack/databag/blob/main/doc/openwrt.md).\n*   1-click installs are available for platforms like [CapRover](https://caprover.com/), [CasaOS](https://casaos.io), [Unraid](https://unraid.net/), [Runtipi](https://www.runtipi.io/), [Kubero](https://www.kubero.dev/), and [Umbrel](https://umbrel.com/).\n\nFor audio and video calls, Databag relies on a STUN/TURN relay server for NAT traversal. You can set up your own (e.g., [coturn](https://github.com/coturn/coturn)) or use a service like [Cloudflare TURN](https://developers.cloudflare.com/calls/turn/).\n\n## Examples\n\nYou can easily test Databag without setting up your own server by using the official demo instance. Please note that this server is regularly wiped, so it's not suitable for important communications.\n\n*   **Try Databag Live:** [https://databag.coredb.org/#/create](https://databag.coredb.org/#/create)\n\nAdditionally, the detailed installation guides for Docker Compose, Portainer, Raspberry Pi Zero, and other platforms serve as practical examples for deploying your own Databag node.\n\n## Why Use Databag?\n\nDatabag stands out as an excellent choice for secure and private communication due to several compelling reasons:\n\n*   **Uncompromised Privacy and Security:** With end-to-end encryption and public-private key based identity, your communications remain private and are not tied to any central authority or hosting domain.\n*   **True Decentralization and Federation:** Databag allows direct communication between app and server nodes, and enables accounts on different nodes to communicate, fostering a truly distributed network.\n*   **Exceptional Efficiency:** Designed to be lightweight, Databag consumes minimal hosting resources, making it ideal for running on low-power devices like a Raspberry Pi Zero.\n*   **Full Control Over Your Data:** By self-hosting, you retain complete ownership and control over your messenger data, free from third-party interference.\n*   **Rich Communication Features:** Beyond basic messaging, Databag supports audio and video calls, topic-based threads, and multi-factor authentication, providing a comprehensive communication platform.\n\n## Links\n\n*   **GitHub Repository:** [https://github.com/balzack/databag](https://github.com/balzack/databag)\n*   **Official Website / Demo:** [https://databag.coredb.org/#/create](https://databag.coredb.org/#/create)\n*   **F-Droid:** [https://f-droid.org/en/packages/com.databag/](https://f-droid.org/en/packages/com.databag/)\n*   **Apple App Store:** [https://apps.apple.com/us/app/databag/id6443741428](https://apps.apple.com/us/app/databag/id6443741428)\n*   **Google Play Store:** [https://play.google.com/store/apps/details?id=com.databag](https://play.google.com/store/apps/details?id=com.databag)\n*   **Design Guidelines:** [https://github.com/balzack/databag/blob/main/.design/DESIGN.md](https://github.com/balzack/databag/blob/main/.design/DESIGN.md)\n*   **Figma File:** [https://www.figma.com/design/eVFi8bYlybn5KeyEePEaey/Databag---Github?node-id=1-6&t=Is2AiTfwktFO5aY0-1](https://www.figma.com/design/eVFi8bYlybn5KeyEePEaey/Databag---Github?node-id=1-6&t=Is2AiTfwktFO5aY0-1)","metrics":{"detailViews":1,"githubClicks":0},"dates":{"published":null,"modified":"2025-10-24T07:01:37.000Z"}}