26 lines
1.5 KiB
Markdown
26 lines
1.5 KiB
Markdown
# MusicLink Deployment Summary
|
|
|
|
We have successfully integrated the `MusicLink` bot into the `ops-jrz1` production environment.
|
|
|
|
## Architecture
|
|
|
|
We deployed `MusicLink` using a **Matrix-mediated** architecture to bypass Matterbridge's lack of support for Slack Socket Mode (which our App configuration requires).
|
|
|
|
**Flow:**
|
|
`Slack User` -> `#music` -> `mautrix-slack` -> `Matrix Room` -> `Matterbridge` -> `MusicLink`
|
|
|
|
## Integration Details
|
|
|
|
1. **No Code Changes:** We used the `musiclink` repository as-is (via Nix Flake input). All deployment logic resides in our infrastructure repo (`ops-jrz1`).
|
|
2. **Service Isolation:** The bot runs as a systemd service (`musiclink.service`) with `DynamicUser` and restricted permissions.
|
|
3. **Connectivity:**
|
|
- We run a bundled `Matterbridge` instance (`musiclink-matterbridge.service`) configured to connect to our Matrix homeserver.
|
|
- `MusicLink` connects to this local Matterbridge via WebSocket (`ws://127.0.0.1:4242`).
|
|
- We granted the bot's Matrix user (`@musiclink:clarun.xyz`) server admin privileges to allow it to join the invite-only portal rooms bridging Slack.
|
|
|
|
## Status
|
|
|
|
- **Active:** The bot is running and monitoring the bot testing room (`!whU7Geg7JPrBL5wHcW:clarun.xyz`).
|
|
- **Verified:** We confirmed bidirectional communication by having the bot post a test message (GIF) to the room.
|
|
- **Next Steps:** We will enable it for the main `#music` channel once we confirm link conversion logic in the testing room.
|