This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| computing:chatmail [2026/09/08 02:12] – oemb1905 | computing:chatmail [2026/09/23 23:16] (current) – oemb1905 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Chatmail Relay: https:// | + | ------------------------------------------- |
| + | * **chatmail** | ||
| + | * **Jonathan Haack** | ||
| + | * **Haack' | ||
| + | * **webmaster@haacksnetworking.org** | ||
| - | Official docs: [[https:// | + | ------------------------------------------- |
| - | Ticket for Trixie: [[https:// | + | |
| + | // | ||
| + | |||
| + | ------------------------------------------- | ||
| + | |||
| + | This tutorial contains my setup notes for creating my chatmail instance. | ||
| + | |||
| + | * Official docs: [[https:// | ||
| + | | ||
| + | * Chatmail Relay: [[https:// | ||
| Set up Debian 12 machine and a dedicated non-root user that will ssh into the root user and deploy the instance. Exchange keys etc., and make sure to use a ed25519 key. Once that's done, setup all DNS before starting and make sure all required packages are installed: | Set up Debian 12 machine and a dedicated non-root user that will ssh into the root user and deploy the instance. Exchange keys etc., and make sure to use a ed25519 key. Once that's done, setup all DNS before starting and make sure all required packages are installed: | ||
| Line 19: | Line 32: | ||
| chmod 700 ~/.ssh | chmod 700 ~/.ssh | ||
| chmod 600 ~/ | chmod 600 ~/ | ||
| - | | + | |
| - | chmod 600 ~/.ssh/config | + | Let's now create a config file for ssh so we don't go out and back in but instead ssh directly into localhost: |
| - | git clone https:// | + | |
| - | cd ~/relay | + | su - worker |
| - | | + | nano ~/ |
| - | scripts/ | + | |
| - | mkdir -p ~/Repositories | + | Inside that, put the following: |
| - | cd ~/ | + | |
| + | < | ||
| + | Host mail.haacknet.org | ||
| + | HostName 127.0.0.1 | ||
| + | User root | ||
| + | IdentityFile ~/ | ||
| + | IdentitiesOnly yes | ||
| + | </code> | ||
| + | |||
| + | When exchanging keys, you will need to use the '' | ||
| + | |||
| + | | ||
| git clone https:// | git clone https:// | ||
| cd relay | cd relay | ||
| scripts/ | scripts/ | ||
| - | scripts/ | + | scripts/ |
| + | scripts/ | ||
| + | scripts/ | ||
| + | scripts/ | ||
| This creates '' | This creates '' | ||
| Line 64: | Line 91: | ||
| touch / | touch / | ||
| | | ||
| - | The primary page I used for setup was here: | + | If you need to setup a firewall, |
| + | |||
| + | ufw allow 22/tcp | ||
| + | ufw allow 25/tcp | ||
| + | ufw allow 80/tcp | ||
| + | ufw allow 143/tcp | ||
| + | ufw allow 443/tcp | ||
| + | ufw allow 465/tcp | ||
| + | ufw allow 587/tcp | ||
| + | ufw allow 993/tcp | ||
| + | #ufw allow 3340/tcp #used by nginx and IROH, if one box only, keep closed | ||
| + | ufw allow 8443/tcp | ||
| + | ufw allow 3478/tcp #used by stock turn, but kept open in case chatmail-turn library uses it | ||
| + | ufw allow 3478/udp | ||
| + | ufw allow 7842/udp | ||
| + | ufw allow 49152: | ||
| + | ufw enable | ||
| + | |||
| + | By default, '' | ||
| + | |||
| + | net.ipv4.ip_local_port_range = 49152 65535 | ||
| + | Then, either reboot the server or run '' | ||
| + | < | ||
| + | cat << ' | ||
| + | #!/bin/bash | ||
| + | DATE=$(date +" | ||
| + | LOG="/ | ||
| + | echo " | ||
| + | echo "" | ||
| + | echo " | ||
| + | df -h >> $LOG | ||
| + | free -h >> $LOG | ||
| + | echo "" | ||
| + | echo "Here are the mail directories for mail.haacknet.org ..." >> $LOG | ||
| + | echo "Total users: $(find / | ||
| + | find / | ||
| + | echo "" | ||
| + | printf "To: email@haacksnetworking.org\nSubject: | ||
| + | rm -f / | ||
| + | EOF | ||
| + | chmod 750 / | ||
| + | </ | ||
| + | --- // | ||