1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# messages.coinos.io
The messaging relay: [Magnitude Relay](https://github.com/VectorPrivacy/magnitude-relay)
(AGPL-3.0, Rust), run as the `messages` service in `compose.yml` with the
settings in `relay.toml`. relay.coinos.io (strfry on desk) stays the general
relay; this one takes the app's private messages, inbox lists, calls and
group chats, and copies down what other clients deliver to relay.coinos.io.
## Build (on cs)
The binary is built from a pinned commit, outside the deploy hook (a release
build takes minutes), and mounted into the container:
```sh
git -C ~/magnitude-relay-src fetch && git -C ~/magnitude-relay-src checkout <rev>
docker run --rm --cpus 4 -v ~/magnitude-relay-src:/src -v ~/magnitude-build:/target \
-v magnitude-cargo:/usr/local/cargo/registry -w /src -e CARGO_TARGET_DIR=/target \
-e RELAY_BUILD_REV=<rev> rust:1-bookworm cargo build --release -p relay-server
install -m 755 ~/magnitude-build/release/magnitude-relay $STATE/messages/bin/
docker compose -f ~/coinosv3-server/compose.yml --env-file ~/coinosv3-state/.env up -d --force-recreate messages
```
Running now: 92f2440.
## Ingress
`messages.coinos.io` → `http://localhost:8794` in `~/.cloudflared/bitcoin.yml`
(`sudo systemctl restart cloudflared-bitcoin`), DNS CNAME to the tunnel.
## Operating
Dashboard `https://messages.coinos.io/dashboard`, `/stats`, `/metrics`. Operator
commands (`query`, `count`, `delete`, `backup`, `sync`) reach the running relay
through `/data/admin.sock`:
`docker exec messages magnitude-relay --config /etc/magnitude-relay/relay.toml count '{"kinds":[1059]}'`
|