Databag: A Fast, Lightweight, and Self-Hosted Federated Messenger

Databag: A Fast, Lightweight, and Self-Hosted Federated Messenger

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.

Repository Info

Updated on October 24, 2025
View on GitHub

Introduction

Databag 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.

Key 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.

You can find Databag available on F-Droid, the Apple App Store, and the Google Play Store. A demo server is available for testing, though it is regularly wiped, so avoid posting important information: Try Databag Here.

Installation

To 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.

Docker Compose

YouYou can launch Databag using Docker Compose.

Standard Launch:

# From the net/container sub directory:
docker-compose -f compose.yaml -p databag up

Launch with Certbot HTTPS Certificate:

# FIRST: create a DNS entry in your DNS to point your desired subdomain to your host
# SECOND: edit the net/container/docker-compose-swag.yml to include your domain name
# THIRD: From the root of the project directory:
mkdir -p ~/appdata
docker-compose -f net/container/docker-compose-swag.yml -p databag up

Example with Portainer and Nginx Proxy Manager

For a guided setup with Portainer and Nginx Proxy Manager, follow these steps:

  1. Portainer:

    • Create a new volume.
    • Add a new container using balzack/databag:latest.
    • Publish port 7000 (host and container).
    • Set environment variable ADMIN with your desired admin password.
    • Map /var/lib/databag to your created volume.
    • Deploy the container.
  2. Nginx Proxy Manager:

    • Add a new host.
    • Specify your hostname, Portainer IP address, and port '7000'.
    • Request a new SSL certificate.
  3. Browser Configuration:

    • Access your server via its hostname.
    • Enter your admin password, set the Federated Host, and save.
    • Generate a new account link to create your first account.

Other Installation Options

Databag offers flexible deployment options beyond containers:

For audio and video calls, Databag relies on a STUN/TURN relay server for NAT traversal. You can set up your own (e.g., coturn) or use a service like Cloudflare TURN.

Examples

You 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.

Additionally, the detailed installation guides for Docker Compose, Portainer, Raspberry Pi Zero, and other platforms serve as practical examples for deploying your own Databag node.

Why Use Databag?

Databag stands out as an excellent choice for secure and private communication due to several compelling reasons:

  • 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.
  • 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.
  • 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.
  • Full Control Over Your Data: By self-hosting, you retain complete ownership and control over your messenger data, free from third-party interference.
  • Rich Communication Features: Beyond basic messaging, Databag supports audio and video calls, topic-based threads, and multi-factor authentication, providing a comprehensive communication platform.

Links