|
Support for Docker installation
|
|
09-10-2015, 14:23
Post: #1
|
|||
|
|||
|
Support for Docker installation
I run unRAID at home, which has support for Docker installations.
I see someone has already created a Dockerfile for vanilla MinimServer, but I also find MinimStreamer terribly useful as most of my music is in ALAC format which has limited support with renderers. My question is - is there any way to install MinimStreamer without using the package manager of MinimWatch? If you are unfamiliar with Docker, it essentially spins up a new virtual machine on each reboot installing packages from the Dockerfile, which would mean MinimStreamer requires setting up after each reboot. |
|||
|
11-10-2015, 22:19
Post: #2
|
|||
|
|||
RE: Support for Docker installation
(09-10-2015 14:23)squarefrog Wrote: I run unRAID at home, which has support for Docker installations. Thanks for letting me know about this. The only way to install MinimStreamer is via the Packages tab of the Properties dialog for MinimServer/MinimWatch. I've looked at the Dockerfile for MinimServer. The approach it uses to download and install MinimServer isn't supported and is likely to stop working in the near future. Is there some reason why you can't use the documented and supported MinimServer Linux installation procedure (see this page) on an unRAID system? |
|||
|
12-10-2015, 13:31
Post: #3
|
|||
|
|||
RE: Support for Docker installation
(11-10-2015 22:19)simoncn Wrote: Is there some reason why you can't use the documented and supported MinimServer Linux installation procedure (see this page) on an unRAID system? Yes - essentially, on each boot the OS is loaded into RAM. Therefore installations aren't permanent. Using Docker, or adding the file to a special place on the boot disk means it is installed fresh each time. There is the option for shared preference/database files, so at least that doesn't have to be recreated, but AFAIK it isn't possible to get away from the package being installed each time. |
|||
|
12-10-2015, 15:58
Post: #4
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 13:31)squarefrog Wrote: Yes - essentially, on each boot the OS is loaded into RAM. Therefore installations aren't permanent. Using Docker, or adding the file to a special place on the boot disk means it is installed fresh each time. There is the option for shared preference/database files, so at least that doesn't have to be recreated, but AFAIK it isn't possible to get away from the package being installed each time. Can the newly created virtual machine access a normal Linux filesystem on an HDD? If so, there could be a persistent standard MinimServer installation on the HDD and it would only be necessary to load a bootstrapping launcher script into the VM when the VM is created. |
|||
|
12-10-2015, 16:05
Post: #5
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 15:58)simoncn Wrote: Can the newly created virtual machine access a normal Linux filesystem on an HDD? If so, there could be a persistent standard MinimServer installation on the HDD and it would only be necessary to load a bootstrapping launcher script into the VM when the VM is created. Traditionally, you map normal filesystem folders within your Docker file. Each Docker is essentially Sandboxed so it doesn't have access to folders that you haven't specified. |
|||
|
12-10-2015, 17:48
(This post was last modified: 12-10-2015 17:49 by simoncn.)
Post: #6
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 16:05)squarefrog Wrote: Traditionally, you map normal filesystem folders within your Docker file. Each Docker is essentially Sandboxed so it doesn't have access to folders that you haven't specified. Does this mean that the user's audio library would be mapped/sandboxed within a Docker file? If so, would any changes to the library be saved persistently by Docker automatically when the VM is shut down? If the user wants to change tags in the library files, would the tagging program run in the same VM as MinimServer or would it run in a different VM? If it is the latter, how does Docker/unRAID synchronize access to the library files (e.g., read-only and/or read-write) from two separate VMs? A similar question would apply to adding files to a libary that is currently being accessed by MinimServer. |
|||
|
12-10-2015, 18:01
Post: #7
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 17:48)simoncn Wrote: Does this mean that the user's audio library would be mapped/sandboxed within a Docker file? If so, would any changes to the library be saved persistently by Docker automatically when the VM is shut down? Precisely. So for example, I would map /mnt/user/Music to /music in the VM. This would grant me read/write access to the audio files. I would then setup a folder separate from the disk pool for MinimServer config files. For example, /mnt/cache/appdata/minim, which would map to /config in the VM. This could host MinimServers database, along with any user settings. (12-10-2015 17:48)simoncn Wrote: If the user wants to change tags in the library files, would the tagging program run in the same VM as MinimServer or would it run in a different VM? If it is the latter, how does Docker/unRAID synchronize access to the library files (e.g., read-only and/or read-write) from two separate VMs? A similar question would apply to adding files to a libary that is currently being accessed by MinimServer.In this case, the tagging application would be part of the VM. You may list any packages as dependencies, so you may want MinimServer, a tagging library, ffmpeg etc. All packages have access to the aforementioned /music and /config folders. As the mounts are external to the VM, they survive reboots. I could add files to my music library, over afp, smb, nfs whatever, and they appear instantly in the VM. Consider the mapping like a symlink or a mount in linux. |
|||
|
12-10-2015, 19:18
Post: #8
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 18:01)squarefrog Wrote: Precisely. So for example, I would map /mnt/user/Music to /music in the VM. This would grant me read/write access to the audio files. I would then setup a folder separate from the disk pool for MinimServer config files. For example, /mnt/cache/appdata/minim, which would map to /config in the VM. This could host MinimServers database, along with any user settings. In this case, there should be no problem with mapping the Linux MinimServer installation folder (a mixture of code and data) as /minim in the VM. This would mean you can install extensions such as MinimStreamer to this folder and they will survive a VM reboot. Quote:In this case, the tagging application would be part of the VM. You may list any packages as dependencies, so you may want MinimServer, a tagging library, ffmpeg etc. All packages have access to the aforementioned /music and /config folders. I am surprised that the tagging application would be part of the MinimServer VM. There is no need for the tagging application to communicate with MinimServer apart from via writing and reading shared files. It would be necessary to have ffmpeg as part of the same VM because MinimStreamer and ffmpeg need to communicate with other when doing transcoding. |
|||
|
12-10-2015, 19:37
(This post was last modified: 12-10-2015 19:38 by squarefrog.)
Post: #9
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 19:18)simoncn Wrote: In this case, there should be no problem with mapping the Linux MinimServer installation folder (a mixture of code and data) as /minim in the VM. This would mean you can install extensions such as MinimStreamer to this folder and they will survive a VM reboot. That sounds fine. Quote:I am surprised that the tagging application would be part of the MinimServer VM. There is no need for the tagging application to communicate with MinimServer apart from via writing and reading shared files. It would be necessary to have ffmpeg as part of the same VM because MinimStreamer and ffmpeg need to communicate with other when doing transcoding. It certainly doesn't need to be in there. It only needs to be in the same VM if it shares functionality. I'd always prefer to use a desktop tagging library, so if there is no need for Minim to use it then it doesn't need to be there. Essentially what using Docker achieves is allowing you access to the disk pool and shares locally rather than over a network. You can still connect to the network shares like any other NAS out there. Just with the added security from sandboxing applications so they can't access anything they shouldn't. So am I right in thinking then that, provided with a folder, Minim will install all components to that folder? There are no other scattered files, such as user prefs, etc. You previously mentioned that the method used in the current docker is being deprecated soon. What in particular is going? I appreciate your time and thoughts. |
|||
|
12-10-2015, 21:15
Post: #10
|
|||
|
|||
RE: Support for Docker installation
(12-10-2015 19:37)squarefrog Wrote: It certainly doesn't need to be in there. It only needs to be in the same VM if it shares functionality. I'd always prefer to use a desktop tagging library, so if there is no need for Minim to use it then it doesn't need to be there. That's right. It's not very Linux-like but it seems to be well suited to how Docker works. Quote:You previously mentioned that the method used in the current docker is being deprecated soon. What in particular is going? The main problem is using a prebuilt config file with prepopulated values. The internal structure of the config file is not a supported external interface and it important for the integrity and correct operation of MinimServer that MinimServer creates this file from scratch and has full control over what the file contains. This usage will be disallowed as soon as I can write the code to enforce it. Another issue is the download URL that is used to download MinimServer via wget. The direct download URL is intentionally not published because I would like users to come to the MinimServer downloads page to get the latest download version. I expect this URL to change very soon. |
|||
|
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)

Search
Member List
Calendar
Help



