Funkwhale is a professional music streaming web platform that you can install on a server and stream music (over HTTP) from a remote location. From its interface, you can browse all songs, add playlists, add tracks to favorites, and create multiple users, each with access to separate collections.
There are currently several music streaming services (Spotify, Deezer, SoundCloud, etc.). But if you want to host your own music streaming server, Funkwhale is one of the best programs to create your own local server or deploy it on a remote VPS such as DigitalOcean.
Install Funkwhale as a Music Streaming Server
If you have an online server or VPS, you can install it easily. The best way to install it is via Docker, because it covers all the dependencies of the server and the program. Although there are two installation methods, we will explain the easiest one:
- Step one: First open a CMD window on your computer and run the following commands one after another to create a new user to install Funkwhale:
sudo useradd -r -s /usr/bin/nologin -d /srv/funkwhale -m funkwhale
sudo adduser funkwhale docker
cd /srv/funkwhale
- Step two: Now, switch user and add the environment variable that will be used.
sudo -u funkwhale -H bash
export FUNKWHALE_VERSION="0.18.3"
- Step three: At this point, you will need to create other environment variables that will be used during installation. Simply copy and paste the following lines into the CMD window.
touch .env
echo "FUNKWHALE_HOSTNAME=tudominio.funkwhale" >> .env
echo "FUNKWHALE_PROTOCOL=https" >> .env
echo "NGINX_MAX_BODY_SIZE=100M" >> .env
echo "FUNKWHALE_API_IP=127.0.0.1" >> .env
echo "FUNKWHALE_API_PORT=5000" >> .env
echo "DJANGO_SECRET_KEY=$(openssl rand -hex 45)" >> .env
echo "NESTED_PROXY=1" >> .env
chmod 600 .env
- Step four: Finally, run the following Docker command and Funkwhale will be installed. You just need to specify in this command the music directory that contains all your songs. Change the parameter in bold to your path.
docker run \
--name=funkwhale \
--restart=unless-stopped \
--env-file=/srv/funkwhale/.env \
-v /srv/funkwhale/data:/data \
-v /path/to/your/music/dir:/music:ro \
-e PUID=$UID \
-e PGID=$GID \
-p 5000:80 \
-d \
funkwhale/all-in-one:$FUNKWHALE_VERSION
As you can see, the installation of the program is not that complicated. After installing it, you can access it through your web browser from: “localhost:5000”.
How to Use the Music Streaming Server
After installing Funkwhale on your computer, you can access the platform from “localhost:5000”. Then, you can create your collection with a custom name and start uploading songs.
As soon as you upload songs, you will see them reflected in your library. You can play any hosted song and queue others. You have the “radio” option to play your favorite songs (creating an endless loop), or do a random playback of your collection. Like other music streaming services, the platform allows you to customize your profile and those of other users.
Funkwhale is a very good free music streaming server that works smoothly and without interruptions. If you need to stream music online with your own server, this is one of the best solutions.