What is it?¶
Funkwhale is a modern, self-hosted, free and open-source music server.
sb install sandbox-funkwhale
- To access Funkwhale, visit
First create the superuser
docker exec -it funkwhale manage createsuperuser
(for ease of access, set it as your Saltbox user and password.)
exitcommand when finished to return to your server's shell.
Now configure these settings via the web GUI
Access Funkwhale, visit
https://funkwhale._yourdomain.com_and log in with the user and password you just created.
Music->Add Content->Create a new Libraryand fill out the information.
- Enter your new Library and Details. There will be a sharing link such as:
Copy out the last portion:
Return to the shell session to import music library
docker exec -it funkwhale /usr/bin/python3 /app/api/manage.py import_files da8bd97b-3c3f-4e7b-92cb-6ba45721837b "/music/Media/Audio/Music/**/**/*.flac" --in-place --async --recursive
The above line explained:
docker exec -it funkwhale /usr/bin/python3 /app/api/manage.py import_filestells funkwhale to import music.
da8bd97b-3c3f-4e7b-92cb-6ba45721837bis your library id
"/music/Media/Audio/Music/**/**/*.flac"is the path to your media.
--in-placemeans do not copy the media into Funkwhale and leave it where it is.
--asyncmeans it will import the music first and then pull the metadata`
--recursivewill recursively scan the folders
If everything goes as planned you'll get prompted like this:
> Checking imported paths against settings.MUSIC_DIRECTORY_PATH > Import summary: > - 149828 files found matching this pattern: ['/music/Media/Audio/Music/**/**/*.flac'] > - 0 files already found in database > - 149828 new files > Selected options: in place > Are you sure you want to do this? > Type 'yes' to continue, or 'no' to cancel:
- Answer yes at the prompt and the import will begin.
Admin Account Edit Page:
If you want to use subsonic clients then you'll need to set a password here:
(subsonic protocol requires storing password in cleartext, so to avoid compromising your Funkwhale account, we use a different password).