Suggestiong for clearer instructions on CLI import


Thank you for working on this project! I am hoping it will let me run my own self-hosted cloud instance!

I was able to install Funkwhale on a cloud server and get the solution running.

I store my music (all mp3s) on /srv/funkwhale/data/music. I have a Syncthing instance that syncs the content of the “music” folder on my desktop to /srv/funkwhale/data/music. Initially, I was not able to get the CLI import running (based on this page: It turns out you need run those commands from the api folder.

I would suggest adding the following commands to that page (non-docker install):

source /srv/funkwhale/virtualenv/bin/activate
cd /srv/funkwhale/api/

This would make it easier for non-pros to get Funkwhale running.



Thank you for the report @funkshark, I’m somehow confused, because the documentation states that the command to run is python api/ import_files, which should work correctly if you’re into /srv/funkwhale. Do you confirm it failed? What was the error/output?


It seems this was an error on my part, I forgot to run export LIBRARY_ID="XXXXXXXX" command when I tried to run the manage/py command from /srv/funkwhale/.

But overall, I still think the in-place import instructions should be a bit more clear. I initially didn’t even realize that the I needed to be in the /srv/funkwhale/directory to run that command.

Something like this might be better for people who are not experts at linux:

[1] Login as the funkwhale user.
[2] Navigate to /srv/funkwhale/
[3] source /srv/funkwhale/virtualenv/bin/activate (no idea if this step is mandatory)
[4] export LIBRARY_ID="XXXXXXXX"    
[5] python api/ import_files $LIBRARY_ID "/srv/funkwhale/data/music/**/**/*.mp3" --in-place --recursive --noinput 
[6] NOTE: Modify "/**/**/*.filetype" to reflect your folder structure/format.
[7] Add --in-place if you want avoid duplication of files 

I find that you have to constantly re-run the in-place CLI import; it would be easier if the instructions were a bit clearer. I imagine many people who use self-hosted solutions have large libraries, so “in place” import is pretty important. Maybe I am wrong, this is just a thought.


Yep, there is room for improvement for this documentation, to say the least. we’ll keep that in mind for the next time we work on this document. cc @sporiff


I agree, this isn’t explicitly clear from the documentation. I think the whole document could possibly be restructured to be a bit clearer and more prescriptive about each step. I’ll put in an issue for it and work on rewording the doc this weekend.


Thank you! This would be a great improvement for non-technical users!