[![contribute.design](https://contribute.design/api/shield/balzack/databag)](https://contribute.design/balzack/databag)

Databag

Communication for the Decentralized Web


  

Mobile and Browser App Screens


Databag is a self-hosted messaging service. Notable features include: - Public-private key based identity (not bound to any blockchain or hosting domain) - Federated (accounts on different nodes can communicate) - Topic based threads (messages organized by topic not contacts) - Lightweight (server runs on a raspberry pi zero v1.3) - Decentralized (direct communication between app and contact's node) - Low latency (use of websockets for push events to avoid polling) - Responsive (renders well in phone, tablet and pc) - Unlimited accounts per node (host for your whole family) - Mobile alerts (push notifications on new contacts and messages)

The app is available in the google and apple stores. You can also test out the project [here](https://databag.coredb.org/#/create), but don't post anything important as this server is regularly wiped. Feedback on the UI/UX, bugs or features is greatly appreciated. ## Installation To use databag, you will need a DNS name pointing to your node with a certificate. You can deploy a node manually, but you will have a much easier time using a container service. Containers for arm64 and amd64 are available [here](https://hub.docker.com/r/balzack/databag/tags). ### Docker Compose Command From the net/container sub directory: - sudo docker-compose -f compose.yaml -p databag up ### Example with Portainer and Nginx Proxy Manager From Portainer: - In the volume view, create a new volume - In the container view, click add container: - In the 'Image' field enter 'balzack/databag:latest' - Click 'publish a new network port', and select port 7000 for both host and container - Under 'Advanced container settings', select 'Env', and click 'Add Environment Variable' - Enter 'Name' as 'ADMIN' and your admin password [password] - Under 'Advanced container settings', select 'Volumes', then 'map additional volume' - Enter '/var/lib/databag' for 'container' and the created volume for 'volume' - Click 'Deploy the Container' From Nginx Proxy Manager: - Add a host and specify: - Hostname [hostname.domain] - Portainer IP address [address] - Port '7000' - Request new SSL certificate From Your Browser: - Enter your server address in the address bar [hostname.domain] - Click the cog icon in the top right - Enter your admin password: [password] - Click the cog icon in the dashboard - Enter Federated Host as [hostname.domain] - Click 'Save' - Click the user icon to generate a new account link - Follow the link to create an account ### Other installation options Instruction for installing without a container on a Raspberry Pi Zero are [here](/doc/pizero.md). Instruction for installing without a container in AWS are [here](/doc/aws.md).