aboutsummaryrefslogtreecommitdiffstats
path: root/messages/README.md
blob: aa0d4da85b462c3d26b482dc4e230232dc225068 (plain) (blame)
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]}'`