MusicDown
MusicDown is a self-hosted personal music server. You can connect to it using one of the official client app to listen to and download your audio files.
MusicDown App
A simple app to easily list the music present on your MusicDown server, preview them, and download the .mp3 files directly to your smartphone or tablet.
MusicPlay App
A complete streaming music player integrated with the system (background play, lyrics, track/artist lists). Allows playlist creation and offline listening without manually exporting .mp3 files (though still possible).
You can either use the example server software and host it yourself, or develop/create your own HTTP/S server (REST API).
How to use the clients with the example MusicDown server software ?
Please note that this software is a Docker image containing a Python Flask server example; although it can be used as it is, we recommend customising it to suit your needs.
The example server software only supports MP3 files with ID3 title and artist tags (if the tags are missing, it won't work).
- Download the MusicDown or MusicPlay app from the stores mentioned above.
- Download the Docker image of the example MusicDown server software on Docker Hub.
Your server must have Docker installed - Read the image overview (on Docker Hub) to know how to mount the volume and bind the needed port
- Place all your MP3 files in the "music" folder of your volume.
- Run your Docker container
You can change the server port if needed, but the app in the container listen on the port 25250 - Open your chosen client app on your device.
- Set the server URL. Important: By default, the URL must include the
/musicdownpath after your server address (e.g. http://192.168.1.23:25250/musicdown). Type the password you set (the default one is "hackme"). Then press "Ok". - To change the password, create a "password.txt" file containing your password in the volume used by the container.
- Each time you add new MP3 files on the server, press the "Reload server" button in the app.
- You can now use your app and enjoy your audio files.
How to create your own server software for the "MusicDown" apps ?
This section is intended for people who wish to develop/create their own server software (REST API) for "MusicDown" with appropriate endpoints.
Here is the list of endpoints needed for the client apps:
/
Must return a list of all available music in JSON format (see below) with 200 success status.
/reload
Must return a 200 success status when reload or server action finished.
/[FILE_NAME]
Must return the MP3 file to download or play with 200 success status or a 404 not found status.
/image/[FILE_NAME]
Must return the cover art image of the MP3 file with 200 success status or a 404 not found status.
/lyrics/[FILE_NAME]
Must return the lyrics in raw text format with 200 success status or a 404 not found status.
Please note that you can also return an unauthorized 401 status for all endpoints if the password sent as a parameter to the "GET" request does not match the password defined by the server.
Here is the JSON format needed for the / endpoint
[
{
"artist": "Artist name",
"path": "demo_music.mp3",
"title": "Music title"
},
...
]
Troubleshooting and FAQ using the example server
I can not access my music files via the app.
Make sure you have access to the server (e.g. you may need to be on the same network as the server).
I do not have any music shown in the app.
Make sure you have reloaded the server via the app. You need to reload it each time you add new MP3 files.
It does not work
Make sure you only have valid .mp3 files in the "music" folder on the server. Your MP3 files need to have ID3 title and artist tags in it.
Can I use it over HTTPS ?
In theory, yes. But you will need to have a valid certificate.
Can I use it over internet ?
Yes, you can access it over internet if you open the ports on your router/firewall or via a VPN.
Can I use it without password ?
No, but you don't need to enter a strong password, although this is recommended.
Support
As MusicDown is a project made during my free time. There's no actual support, but you can always contact me by email (me@koizeay.com).
koizeay.comPrivacy
The MusicDown and MusicPlay apps do not collect any data.