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
soundscape logo

Self-host soundscape

Personal music streaming server with YouTube import

ReleaseOpen SourceMIT
Updated8 years ago
LanguageGo
Setup difficultyModerate
MobileResponsive
Stars
745
RAM
512MB
Storage
5GB+
Ports
80 (HTTP (redirects to HTTPS when Let's Encrypt enabled)), 443 (HTTPS (Let's Encrypt TLS)), 8000 (HTTP (when running behind reverse proxy))
Requires
Ffmpeg
Docker
soundscapecloud/soundscape
Install with Docker
Playlists viewMusic library viewImport from YouTube viewScreencast demo

What is soundscape?

Soundscape is a personal music streaming server you run on your own hardware. It imports audio from YouTube videos into your library, stores thousands of songs, and streams them to any desktop or mobile browser. You can create custom playlists and share them via private URLs. The server is distributed as a standalone Go executable with all assets included, also available as a Docker image. It supports automatic HTTPS via Let's Encrypt, runs behind a reverse proxy with header-based authentication, and provides HTTP basic auth with a configurable username and password. The project has not been updated since 2018.

Should you self-host soundscape?

soundscape scores 45/100 on selfhost.directory (how scoring works) and ranks #32 of 59 in Music Streaming. It has 745 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. 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 soundscape vs koel side by side.

Features

  • Automatic TLS (Let's Encrypt)
  • HTTP Basic Authentication
  • Music library management
  • Playlist Creation
  • Playlist Sharing
  • Podcast Feed Generation
  • Reverse Proxy Support
  • YouTube Import

soundscape README

How to install soundscape

Install soundscape with Docker

Docker

Your download directory should be bind-mounted as /data

inside the container using the --volume flag (see below).

$ mkdir $HOME/Music

Set a password (default: a password is generated and printed in the log output)

$ echo "mypassword" >$HOME/Music/.authsecret

Create the container.

$ sudo docker create
--name soundscape
--init
--restart always
--publish 80:80
--publish 443:443
--volume $HOME/Music:/data
soundscapecloud/soundscape:latest --http-host music.example.com --http-username $USER --letsencrypt

Run the container

$ sudo docker start soundscape

View logs for the container

$ sudo docker logs -f soundscape

Requires Docker installed. Binds host directory to /data in container. Publishes ports 80 and 443.

How to configure soundscape

  • backlinkBacklink (optional)

    Backlink (optional)

  • data-dir/dataData directory

    Data directory

  • debugDebug mode

    Debug mode

  • http-addr:80Listen address

    Listen address

  • http-hostHTTP host

    HTTP host

  • http-prefix/soundscapeHTTP URL prefix (not actually supported yet!)

    HTTP URL prefix (not actually supported yet!)

  • http-usernamesoundscapeHTTP basic auth username

    HTTP basic auth username

  • letsencryptEnable TLS using Let's Encrypt

    Enable TLS using Let's Encrypt

  • reverse-proxy-headerX-Authenticated-UserReverse proxy auth header

    Reverse proxy auth header

  • reverse-proxy-ipReverse proxy auth IP

    Reverse proxy auth IP

More in Music Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…