music-folder-player icon indicating copy to clipboard operation
music-folder-player copied to clipboard

Docker

Open ltguillaume opened this issue 2 years ago • 5 comments

I've dabbled a bit with creating a Docker solution for MFP, which can be found here: https://github.com/ltGuillaume/MusicFolderPlayer/tree/docker

This is pretty much the first time with Docker for me, and I only tried it locally, so I'm gonna need your feedback.

ltguillaume avatar Oct 26 '21 17:10 ltguillaume

I'm sorry I discover your app only now.

I tried installing it following your docker-compose but it won't work, or I don't have the knowledge to make it work.

tiritibambix avatar Nov 14 '22 22:11 tiritibambix

I'm going to revisit this as soon as I set up my server differently, but it may be a while.

ltguillaume avatar Nov 14 '22 23:11 ltguillaume

@tiritibambix If you're interested, could you retry the Docker image?

ltguillaume avatar Sep 14 '23 23:09 ltguillaume

@ltguillaume Thank you for following up.

I tried installing following your instructions and docker-compose. I am no expert, and I fail understanding parts of the config.

      - source: mfp
        target: /app/cfg
        type: volume

I want this bound to a specific location, so I guess this could work:

      - source: /path/to/mfp/folder
        target: /app/cfg
        type: bind

I had to create /path/to/mfp/folder first though, or I get an error.

The environment variables seem over-complicated for my knowledge. What I usually do / is usually done with containered apps is that I specify a port and done !

If I take the example of navidrome: here's my stack, on a machine which local address is 192.168.1.104:

version: "3.3"
services:
  navidrome:
    image: deluan/navidrome:latest
    ports:
      - "4533:4533"
    volumes:
      - "/path/to/navidrom/folder:/data"
      - "/path/to/music/folder:/music:ro"
    restart: unless-stopped

I just then go to 192.168.1.104:4533 and I can start using it.

If I want to access it from outside using a domain, I just create a sub domain pointing to my public IP and I just use Nginx Proxy Manager like this: Screenshot-2023-09-18-at-10-19-49-Nginx-Proxy-Manager.png And voilà

I hope someone more experienced than me will read this and be the middle man as I fear I don't have what it takes to be of more help ':)

tiritibambix avatar Sep 18 '23 08:09 tiritibambix

@ltguillaume Thank you for following up.

I tried installing following your instructions and docker-compose. I am no expert, and I fail understanding parts of the config.

      - source: mfp
        target: /app/cfg
        type: volume

I want this bound to a specific location, so I guess this could work:

      - source: /path/to/mfp/folder
        target: /app/cfg
        type: bind

I had to create /path/to/mfp/folder first though, or I get an error.

While I'm not opposed to using a bind type volume here (even though Docker discourages it), unfortunately docker doesn't seem to support mounting a bind volume while building an image and I want to put some files in there when building.

The environment variables seem over-complicated for my knowledge. What I usually do / is usually done with containered apps is that I specify a port and done !

There is only a HOST (previously ADDRESS) and PORT. I have rarely seen containered apps using less environment variables than that, so I'm not sure what you mean. Navidrome just happens to have separated all of them into a file, see https://www.navidrome.org/docs/usage/configuration-options/#configuration-file

If I want to access it from outside using a domain, I just create a sub domain pointing to my public IP and I just use Nginx Proxy Manager

I'm using nginx-proxy, too, but the docker image supports a standalone way, too, creating SSL certificates automatically. For use behind a reverse proxy, you just need to set the two environment variables a little bit differently (HOST=http://some.domain and PORT=<highnumber>).

ltguillaume avatar Sep 18 '23 14:09 ltguillaume