Add multibox tutorial based on Nathans initial exploration

This commit is contained in:
Ana Custura 2026-04-06 13:24:37 +01:00
parent 70b267ccdc
commit 40e05da662
2 changed files with 54 additions and 0 deletions

View file

@ -15,6 +15,7 @@ vmdb2 --rootfs-tarball=my_image.tar.gz --output my_image.img --log my_image.log
## Advanced Documentation ## Advanced Documentation
* [Creating an upgrade content pack for the Butter Box](./docs/upgrade_pack.md) * [Creating an upgrade content pack for the Butter Box](./docs/upgrade_pack.md)
* [Set up DeltaChat messaging between multiple boxes](./docs/multibox.md)
## Copyright and Licence ## Copyright and Licence

53
docs/multibox.md Normal file
View file

@ -0,0 +1,53 @@
## Multi-box Delta Chat setup
This document details the requirements and setup needed to allow exchanging messages between Delta Chat instances
running on different boxes connected together over LAN.
This requires a few configuration changes.
## Requirements
- A way to access the boxes via console, either by using a keyboard and monitor, or by enabling
the SSH setting through the admin portal and connecting via SSH.
- The boxes must be configured with different hostnames, e.g., butterbox.local and jambox.local.
The hostname can only be changed at the time of the initial admin setup for a box.
- The boxes must be connected together in the same LAN, either by being plugged into the same router, or
by reconfiguring one of them to be a client of the hotspot provided by the other.
- The rest of the instructions assume the router provides the boxes with IP addresses via DHCP.
## MDNS Setup
- After making sure the boxes are on the same network, check they can resolve each other's local names,
by running an MDNS lookup command (`avahi-resolve -n -4 <name.local>`) on one of the boxes for the hostname of the others. The following
example shows the address of `jambox.local` being resolved on the console of the box named `butterbox.local`:
```
root@butterbox:~# avahi-resolve -n -4 jambox.local
jambox.local 192.168.1.2
```
- If the above does not work, it could be due to a variety of reasons, the most likely being that the
router used to connect the boxes does not support forwarding MDNS queries.
In this case, run the command `ip a` to find the local `eth0` address for each box, and then add
that into the `/etc/hosts` file on the other boxes. This will allow them to find each other by hostname.
For example, if `jambox.local` had an address of `192.168.1.2`, you would need to add the following
line to `/etc/hosts` on `butterbox.local`:
```192.168.1.2 jambox.local```
- In this example, the corresponding config change would also need to be made for any other connected boxes, e.g., jambox.local's `/etc/hosts` file.
## Nginx setup
- Edit the `/etc/nginx/sites-enabled/default` file to add an entry for `/mxdeliv` that points to
localhost, port 8081, on all boxes participating in the setup:
```angular2html
location /mxdeliv {
proxy_pass http://127.0.0.1:8081;
}
```
## Testing
With the changes above, each box should be able to find the other boxes for mail delivery,
with incoming mail routed by `nginx` to the `madmail` service.
To test, create Delta Chat accounts on each box, and send test messages between them.