aboutsummaryrefslogtreecommitdiffstats
path: root/wh.1
diff options
context:
space:
mode:
authorFilip Wandzio <contact@philw.dev>2025-10-03 00:05:56 +0200
committerFilip Wandzio <contact@philw.dev>2025-10-03 00:05:56 +0200
commite08f7273e48b25a910dc9c55a72fe230e401f5b5 (patch)
treec8b5bfb713d653ee510ac6f7b517b9386e037cd0 /wh.1
parent37e65300245be45d4000797b3ada53c68022fc26 (diff)
downloadwhiterabbit-e08f7273e48b25a910dc9c55a72fe230e401f5b5.tar.gz
whiterabbit-e08f7273e48b25a910dc9c55a72fe230e401f5b5.zip
Implement automatic tuwunel pipeline
Fix the path in coturn server configuration file Update manual with actual information Implement cli parameters instead of reading user input Signed-off-by: Filip Wandzio <contact@philw.dev>
Diffstat (limited to 'wh.1')
-rw-r--r--wh.189
1 files changed, 48 insertions, 41 deletions
diff --git a/wh.1 b/wh.1
index 8a6230f..53ffeb6 100644
--- a/wh.1
+++ b/wh.1
@@ -1,67 +1,74 @@
1.\" Manpage for whiterabbit 1.\" Manpage for whiterabbit
2.TH WHITERABBIT 1 "2025-09-25" "1.0.0" "whiterabbit manual" 2.TH WHITERABBIT 1 "2025-10-02" "1.1.0" "whiterabbit manual"
3.SH NAME 3.SH NAME
4whiterabbit \- auto-configure Matrix homeservers (Dendrite or Synapse) 4whiterabbit \- auto-configure Matrix homeservers (Dendrite, Synapse, or Tuwunel)
5.SH SYNOPSIS 5.SH SYNOPSIS
6.B whiterabbit 6.B whiterabbit
7[\fIturn\fR|\fIdendrite\fR|\fIsynapse\fR|\fIlist\fR|\fIremove <domain>\fR| 7[\fIturn <domain> <ip> <device> <secret>\fR|
8\fI-t\fR|\fI-d\fR|\fI-s\fR|\fI-l\fR|\fI-r <domain>\fR] 8 \fIdendrite <domain> <email> <server_ip>\fR|
9 \fIsynapse <domain> <email> <server_ip>\fR|
10 \fItuwunel <domain> <email> <server_ip>\fR|
11 \fIlist\fR|
12 \fIremove <domain>...\fR]
9.SH DESCRIPTION 13.SH DESCRIPTION
10whiterabbit sets up Matrix homeservers with a global Coturn server and Nginx/Let's Encrypt support. 14whiterabbit sets up Matrix homeservers (Dendrite, Synapse, or Tuwunel) with a global Coturn server and Nginx/Let's Encrypt proxying.
11 15
12Main commands and their short flag equivalents: 16Main subcommands:
13.TP 17.TP
14.B turn, -t 18.B turn <domain> <ip> <device> <secret>
15Install or configure the global Coturn server. 19Install or configure the global Coturn server.
16.TP 20.TP
17.B dendrite, -d 21.B dendrite <domain> <email> <server_ip>
18Add a new Matrix Dendrite server. 22Add a new Matrix Dendrite server with automatic TLS and Nginx reverse proxy.
19.TP 23.TP
20.B synapse, -s 24.B synapse <domain> <email> <server_ip>
21Add a new Matrix Synapse server. 25Add a new Matrix Synapse server with automatic TLS and Nginx reverse proxy.
22.TP 26.TP
23.B list, -l 27.B tuwunel <domain> <email> <server_ip>
24List all configured Matrix servers. 28Add a Tuwunel homeserver with automatic TLS and Nginx reverse proxy.
25.TP 29.TP
26.B remove <domain>, -r <domain> 30.B list
27Remove a Matrix server by domain. 31List all configured Matrix servers and their container status.
32.TP
33.B remove <domain> [domain2 ...]
34Remove one or more Matrix servers by domain name.
28 35
29.SH EXAMPLES 36.SH EXAMPLES
30.TP 37.TP
31whiterabbit turn 38whiterabbit turn turn.example.com 192.168.1.10 eth0 myturnsecret
32Set up the global Coturn server. 39Set up the global Coturn server bound to eth0 on IP 192.168.1.10.
33.TP
34whiterabbit -t
35Same as above using flag.
36.TP
37whiterabbit dendrite
38Add a Dendrite server with TLS and Nginx.
39.TP 40.TP
40whiterabbit -d 41whiterabbit dendrite matrix.example.com admin@example.com 192.168.1.20
41Same as above using flag. 42Add a Dendrite server.
42.TP 43.TP
43whiterabbit synapse 44whiterabbit synapse matrix.example.com admin@example.com 192.168.1.21
44Add a Synapse server with TLS and Nginx. 45Add a Synapse server.
45.TP 46.TP
46whiterabbit -s 47whiterabbit tuwunel tuw.example.com admin@example.com 192.168.1.22
47Same as above using flag. 48Add a Tuwunel server.
48.TP 49.TP
49whiterabbit list 50whiterabbit list
50Show all servers. 51Show all installed servers and their status.
51.TP
52whiterabbit -l
53Same as above using flag.
54.TP
55whiterabbit remove matrix.example.com
56Remove a server.
57.TP 52.TP
58whiterabbit -r matrix.example.com 53whiterabbit remove matrix.example.com another.example.org
59Same as above using flag. 54Remove one or more servers.
60 55
61.SH NOTES 56.SH NOTES
62All Matrix servers share the same Coturn instance. 57All Matrix homeservers share the same Coturn instance.
63TLS certificates are issued automatically via Let's Encrypt. 58TLS certificates are issued automatically via Let's Encrypt.
64Requires docker, docker-compose, nginx, certbot, and coturn. 59Requires docker, docker-compose, nginx, certbot, and coturn.
65 60
66.SH AUTHOR 61.SH COMMAND DISPATCH
67Filip Wandzio <contact@philw.dev> 62The script internally dispatches commands as follows:
63.nf
64CMD="${1:-}"
65case "$CMD" in
66 turn) shift; install_turn "$@" ;;
67 dendrite) shift; install_dendrite "$@" ;;
68 # synapse) shift; install_synapse "$@" ;;
69 tuwunel) shift; install_tuwunel "$@" ;;
70 list) list_servers ;;
71 remove) shift; remove_server "$@" ;;
72 *) usage ;;
73esac
74.fi