Skip to content

GoFM ​

GoFM is a cross-platform, real-time audio streaming server written in Go. It streams MP3 files from a directory over HTTP and synchronizes playback across multiple clients, so listeners share a broadcast rather than starting separate tracks.

Platform and uses ​

  • Deployment: a self-hosted, cross-platform server, with Docker deployment documented in the repository.
  • Audio source: MP3 files in a directory you specify.
  • Uses: broadcasting a music collection to multiple listeners with synchronized playback.
  • License: MIT.

Main features ​

  • Stream MP3 files over HTTP from a local directory.
  • Synchronize playback across connected clients.
  • Enable random playback with a command-line option.
  • Configure the audio directory, host address, port, and station name.
  • Deploy from a release download or build a Docker image using the repository's instructions.

Get started ​

Open the official GoFM repository for release downloads and setup instructions.

Download a release for your platform, then start the server with the -d option pointing to your MP3 directory. The default port is 8090; -p changes it, and -r enables random playback. The README also documents Docker deployment and additional options.

FAQ ​

Is GoFM a hosted subscription service? ​

No. GoFM is server software that you run yourself. You supply the MP3 directory and host the stream.

Do listeners start separate copies of a track? ​

GoFM is designed to synchronize playback across multiple clients sharing the stream.

Can I change the port or play tracks randomly? ​

Yes. Use -p to choose a port and -r to enable random playback. The default port is 8090.

What license does GoFM use? ​

GoFM uses the MIT License. See the repository's license file for its terms and notice requirements.