MCPcopy Index your code
hub / github.com/cheatsnake/airstation

github.com/cheatsnake/airstation @1.4.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.4.1 ↗ · + Follow
467 symbols 1,062 edges 102 files 71 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

logo

Airstation

Your own online radio station

🔍 Overview   💻 Demo   ⚙️ Installation   🗺️ Roadmap   🚨 Bug report

Airstation is a self-hosted web app for streaming music over the Internet. It features a simple interface for uploading tracks and managing the playback queue, along with a minimalistic player for listeners. Under the hood, it streams music over HTTP using HLS, stores data in SQLite, and leverages FFmpeg for audio processing — all packaged in a compact Docker container for easy deployment.

Web studio screenshot Web studio mobile screenshot Web player screenshot

Made for fun

LICENSE 2025 - Present

Extension points exported contracts — how you extend this code

Storage (Interface)
(no doc) [1 implementers]
internal/storage/storage.go
TrackQueueStore (Interface)
(no doc) [1 implementers]
web/studio/src/store/track-queue.ts
Store (Interface)
(no doc)
internal/station/types.go
Store (Interface)
(no doc)
internal/track/types.go
Store (Interface)
(no doc)
internal/playlist/types.go
Store (Interface)
(no doc)
internal/queue/types.go
Store (Interface)
(no doc)
internal/playback/types.go
Track (Interface)
(no doc)
web/player/src/api/types.ts

Core symbols most depended-on inside this repo

jsonBadRequest
called by 27
internal/http/messages.go
errNotify
called by 23
web/studio/src/notifications/index.ts
Handle
called by 21
internal/logger/logger.go
jwtAuth
called by 16
internal/http/middlewares.go
Info
called by 14
internal/station/service.go
Run
called by 14
internal/playback/state.go
Close
called by 13
internal/storage/storage.go
jsonResponse
called by 12
internal/http/messages.go

Shape

Function 230
Method 171
Struct 33
Interface 29
Class 4

Languages

Go52%
TypeScript48%

Modules by API surface

internal/http/handlers.go24 symbols
web/studio/src/api/index.ts22 symbols
web/studio/src/page/Playlists.tsx17 symbols
web/studio/src/icons/index.tsx14 symbols
internal/track/service.go13 symbols
internal/pkg/hls/playlist.go13 symbols
web/studio/src/page/TracksLibrary.tsx12 symbols
web/studio/src/store/playlists.ts11 symbols
web/studio/src/page/Playback.tsx10 symbols
internal/track/types.go10 symbols
internal/playlist/service.go10 symbols
web/studio/src/store/tracks.ts9 symbols

For agents

$ claude mcp add airstation \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page