ops-jrz1/docs/musiclink-integration-summary.md

1.5 KiB

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.