Add multibox tutorial based on Nathans initial exploration
This commit is contained in:
parent
70b267ccdc
commit
40e05da662
2 changed files with 54 additions and 0 deletions
53
docs/multibox.md
Normal file
53
docs/multibox.md
Normal 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue