# 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 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= 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]}'`