selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
airstation logo

Self-host airstation

1.4.1

Self-hosted internet radio station

ReleaseOpen SourceMIT
Docker ComposeCompose file & guide
docker compose up -d
Updated4 months ago
LanguageGo
Setup difficultyEasy
MobileResponsive
Stars
350
Port
7331 (HTTP server for control panel and radio player)
Requires
Ffmpeg
Docker
cheatsnake/airstation
Web studio (control panel) screenshotWeb studio mobile screenshotWeb player screenshot

What is airstation?

Airstation is a self-hosted web application for running your own internet radio station. It provides a control panel (studio) for uploading tracks, managing playback queues, creating playlists, and customizing the player page, plus a minimalistic web player for listeners. The backend stores track metadata and playback history in SQLite, processes audio with FFmpeg into a unified format, and streams via HLS (HTTP Live Streaming) for synchronized playback across all listeners. It runs as a single Docker container with no external database required. Features include track upload/delete/search/sort, queue management with cyclic and shuffle modes, playback history, listener counter, playlists, and player page theming. The project is MIT-licensed and actively developed.

Should you self-host airstation?

airstation scores 46/100 on selfhost.directory (how scoring works) and ranks #28 of 59 in Music Streaming. It has 350 GitHub stars.

It shipped 4 stable releases in the past year. The latest, 1.4.1, came out on 4 April 2026. New versions land roughly every 8 days.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is koel (75/100, 17 320 stars). It scores higher overall, so compare the two before you pick. See airstation vs koel side by side.

Features

  • HLS Streaming
  • Listener Counter
  • Playback control
  • Playback History
  • Playback queue management
  • Player page customization
  • Playlists
  • SQLite Storage
  • Track library management

airstation README

How to install airstation

Install airstation with Docker Compose

Environment variables
AIRSTATION_SECRET_KEY, AIRSTATION_JWT_SIGN
  1. Clone Airstation repository
git clone https://github.com/cheatsnake/airstation.git
cd ./airstation
  1. Setup environment variables

Next you need an .env file with secret keys

touch .env

Inside this file you must define 2 variables:

AIRSTATION_SECRET_KEY=
AIRSTATION_JWT_SIGN=

AIRSTATION_SECRET_KEY - the secret key you need to log in to the station control panel
AIRSTATION_JWT_SIGN - the key to sign the JWT session

Use random string generator with a length of at least 10 characters for these variables!

  1. Build a docker image and start a new container
docker compose up -d

And finally you can see:

To stop the container, just type:

docker compose down

Recommended installation method

How to configure airstation

  • AIRSTATION_JWT_SIGNKey used to sign JWT session tokens

    Key used to sign JWT session tokens

  • AIRSTATION_PLAYER_TITLETitle displayed on the player page

    Title displayed on the player page

  • AIRSTATION_SECRET_KEYSecret key required to log in to the station control panel

    Secret key required to log in to the station control panel

airstation releases & version history

More in Music Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…