This page is safe to hand to an AI assistant — there are no secrets on it. The stream password is the one David sent you on Telegram.
The connection details
| Server | macmini.tail32e87c.ts.net |
|---|---|
| Port | 4250 |
| Mount | /matt |
| User | source |
| Password | sent separately on Telegram |
| Format | MP3, 128 kbps, 44100 Hz, stereo |
Prefer the full server name. macmini and
MacMini.local can work, but only in the right conditions —
MacMini.local needs the flat's wifi.
macmini.tail32e87c.ts.net works from anywhere you are connected
to Tailscale, so it is the one to use.
If nothing appears on the site, check you pressed play. In BUTT, adding the server under Settings does not start the broadcast — the play button does. A configured-but-not-started client is the most common reason a stream looks set up but never reaches the server, and it leaves no trace in the logs at all.
The five-minute way — BUTT
BUTT (Broadcast Using This Tool)
is free and runs on a Mac. Install it, then
Settings → Main → Server → ADD and fill in the
table above — Type Icecast. Then
Settings → Audio to pick your input, close settings, and
press the play button. That button is the part people miss: adding the server
does not start the broadcast.
The one-line way — ffmpeg
Stream a file straight from the terminal (replace PASSWORD):
ffmpeg -re -i yourtrack.wav -c:a libmp3lame -b:a 128k -ar 44100 -ac 2 \
-f mp3 icecast://source:PASSWORD@macmini.tail32e87c.ts.net:4250/matt
The -re matters — without it ffmpeg pushes the file as fast
as it can rather than in real time, and the stream ends almost immediately.
Where people listen
https://dontpanic.fm — public, no account, no app, no Tailscale needed. Your stream is the first one on the page. It shows offline until a source connects and flips to on air by itself within about fifteen seconds.
The direct stream URL, if you want to hand someone just the audio:
https://dontpanic.fm/listen/matt
Checking it worked
This lists every mount that currently has a source connected:
curl -s https://dontpanic.fm/listen/status-json.xsl | python3 -m json.tool
If /matt appears, you are on air. If it does not, nothing
reached the server — check the server name first.
Your own login on the machine
So you can edit this site and run your own things on the Mac Mini, David needs your SSH public key. One line in Terminal — it makes a key if you have not got one, then prints the public half:
[ -f ~/.ssh/id_ed25519.pub ] || ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519 -q; cat ~/.ssh/id_ed25519.pub
Send the output back to David on Telegram. It is one line starting
ssh-ed25519 AAAA… and that half is designed to be shared. The
private key sits beside it without the .pub and never leaves
your Mac — do not send that one.
Once you are in
The site lives at /Users/Shared/dontpanic.fm/ on the Mac Mini.
Saving a file publishes it — no build, no deploy. Read
CLAUDE.md in that folder first: it covers the layout,
the stream endpoints, how to put a Rust or WASM soundtoy on the page, and
which parts of the machine to leave alone.