Funkwhale on Unraid VM

support

#1

I’ve been able to install funkwhale via docker in an Ubuntu VM, to the point where I can access the GUI in the VM browser at localhost:5000 but not with LAN IP:5000 nor can I get to it from other browsers on the network using LAN IP:5000 (IP came from ifconfig run in Ubuntu terminal)

I have bridging enabled, the VM is on br0 network with the same subnet as my router, unraid box etc.

I have a reverse proxy set up for nextcloud etc. with the letsencrypt docker and duckdns docker running straight on the unraid box. My plan was to redirect from there to the VM IP. Does this seem possible? I’m clearly missing something with the “double” nginx setup.
I understand that this might be complicated to troubleshoot and more of a letsencrypt/nginx question but any tips would be much appreciated.

Thanks!


#2

Hi there,
Based on your post, it looks like the nginx docker container is listening on 127.0.0.1 (which is the default value for the FUNKWHALE_API_IP in the env file). You can confirm that by running netstat -tlpn and look for the IP matching the entry where port=5000.

Can you try updating this variable to the proper IP and restart the nginx container? If you run netstat -tlpn again after that, it should listen on the updated IP and be reachable from outside your VM :slight_smile:


#3

Thanks for the tips! I changed the entry in the .env file and restarted nginx. The netstat command again returned 127.0.0.1:5000.
I tried to recreate the nginx config file with the commands from the guide but am getting “permission denied” on the second part that creates the funkwhale.conf file (not sure how I got around this originally, it was probably late) I tried sudo but it doesn’t seem to have an effect.

Blockquote
set -a && source /srv/funkwhale/.env && set +a envsubst “env | awk -F = '{printf \" $%s\", $$1}'” \ < /etc/nginx/sites-available/funkwhale.template \ > /etc/nginx/sites-available/funkwhale.conf

I also installed portainer and am able to access that outside the VM via IP:port no problem, so it’s something specific to my funkwhale config. Thanks for bearing with me, I’ve been using unraid for a bit but am extremely new to linux/ubuntu/docker-compose.


#4

Did you run docker-compose restart nginx or docker-compose up nginx ? It should be the latter, I believe restarting the container will not pick up configuration changes


#5

Ok, I can get to the GUI with both my LAN IP and public https domain! Now to add the music.

Thanks so much!


#6

So I’ve got the in–place importing working but I can’t get the artwork to load when I access via https.
When I go to http://LAN.IP:PORT it loads the images fine at http://LAN.IP:PORT/media/pathtoimage but when I access via reverse proxy at https://domain.com I can play the songs but no album art loads.
When trying to load a cover image in another tab I get a 400 Error because it tries to access via http with port 443 at domain.com:443/media/pathtoimage
If I manually edit the url to be https://domain.com/media/pathtoimage it loads the image fine. I assume there is some redirect that needs to go somewhere in my letsencrypt config but also might need to change something within funkwhale to achieve this?
I understand this might be more of a general nginx/letsencrypt question but any pointers would be much appreciated.

Thanks for all your great work on this!

Max

Edit: fixed typo in URL


#7

can you share the content of your funkwhale nginx virtual host? I assume it’s an issue with the X-Forwarded-Proto header missing :slight_smile:


#8

I got it working! Think it was adding proxy_set_header Host $host; line to the server block, but I also added the X-Forwarded Proto header so it could be either.

Thanks again!

max


#9

:ok_hand: enjoy your new instance!


closed #10

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.