MinimServer

Home

Features

MinimServer 2

License options

Starter Edition

Downloads

Release notes

Quick start

MinimWatch

User guide

Support

Troubleshooting

Forum

MinimStreamer

License terms

UPnP AV

Technology

Contact

Latest news

(2021/03/13) Improvements to index artwork

Latest change

(2021/09/09) MinimServer update 201 has been released

[NEW] MinimServer 2 has replaced MinimServer 0.8 on all platforms for new installations. If you have an existing installation of MinimServer 0.8, you can continue to use it with some limitations. See the MinimServer 2 page for details.

There are important differences between MinimServer 2 and earlier versions of MinimServer. Some features that were available free of charge in earlier versions of MinimServer require payment of a license fee in MinimServer 2. For details, see the License Options page.

For details of how to install MinimServer 2, see the Quick Start page.

Running MinimServer 2 in a Docker or LXC container

Table of contents

Running MinimServer 2 in a Docker container on a QNAP NAS
Running MinimServer 2 in a Docker container on a Synology NAS
Running MinimServer 2 in a Docker container on Linux
Running MinimServer 2 in an LXC container on a QNAP NAS
Running MinimServer 2 in an LXC container on Linux

This page explains how you can run MinimServer in a Docker or LXC container on a QNAP or Synology NAS or on some other Linux host. Running MinimServer in a container enables you to run multiple instances of MinimServer with different configuration settings on the same NAS or Linux host. QNAP Container Station supports both Docker and LXC containers. The Synology Docker package supports Docker containers only.

Running MinimServer 2 in a Docker container on a QNAP NAS

  1. Install the QNAP Container Station package on your QNAP NAS if it isn't already installed
  2. Install the MinimServer QNAP package on your QNAP NAS if it isn't already installed. For details of how to do this, see the Installing MinimServer 2 on a QNAP NAS page. The MinimServer QNAP package needs to be at version 2.0.12 with update 162 or a later version.
  3. After installing the MinimServer QNAP package, you need to start the MinimServer package with an internet connection available. This creates a file named minimserver-starter.license in the MinimServer/data directory. After this file has been created, you can stop the MinimServer package if you don't want to run MinimServer as a native QNAP package.
  4. Start and open Container Station
  5. Click Images and select Pull
  6. In the "Pull image from registry" dialog, enter minimworld/minimserver in the Image Name field
  7. If your NAS has an Intel processor, enter in the Image Version field. If your NAS has an ARM 32-bit processor, enter -arm in the Image Version field.
  8. Click Pull. After a short time, you should see the image "minimworld/minimserver " appear in the list of images.
  9. Click the + symbol in the Actions column for this image
  10. On the Advanced Settings page, select Network and change the network mode to Host (ignoring the warning message)
  11. On the Advanced Settings page, select Shared Folders
  12. On the Shared Folders page, create a "Volume from host" mapping from the /MinimServer folder to the Mount Point /MinimServer

    Note: This step is essential. If you don't do this, MinimServer will show an error message "MinimServer shared folder on host is not shared with this container".

  13. On the Shared Folders page, create a "Volume from host" mapping from your QNAP music library folder to the Mount Point /Music
  14. Uncheck the 'write' boxes for both these shared folders
  15. The default timezone for the container is GMT. If you want to change this, select Environment on the Advanced Settings page and add a new environment variable with name TZ and a timezone name such as Europe/London, Australia/Brisbane, etc. For a list of valid timezone names, see the TZ column on this page.
  16. Click the Create button, then click OK on the Summary page
  17. The MinimServer container should start and appear in the Overview section. It should also appear in MinimWatch if you have this running. When MinimServer has finished its initial scan of your music library (this might take some time), it should be visible to UPnP control points. The default display name is suffixed with ".2" to distinguish it from the native MinimServer instance running on the NAS.
  18. You can start additional MinimServer containers by repeating the above steps, starting with step 7
  19. To stop a MinimServer container, click the stop icon (black square) in the Actions column for the container
  20. To restart a stopped MinimServer container, click the start icon (black triangle) in the Actions column for the container
  21. To remove a MinimServer container, click the x symbol in the Actions column for the container
  22. A MinimServer instance running in a Docker container on a QNAP NAS shares the full or trial license of the container host. For more information, see the MinimServer 2 licensing for Linux containers section.

Running MinimServer 2 in a Docker container on a Synology NAS

  1. Install the Synology Docker package on your Synology NAS if it isn't already installed
  2. Install the MinimServer package on your Synology NAS if it isn't already installed. For details of how to do this, see the Installing MinimServer 2 on a Synology NAS page. The MinimServer QNAP package needs to be at version 2.0.12 with update 162 or a later version.
  3. After installing the MinimServer Synology package, you need to start the MinimServer package with an internet connection available. This creates a file named minimserver-starter.license in the MinimServer/appData directory. After this file has been created, you can stop the MinimServer package if you don't want to run MinimServer as a native Synology package.
  4. Start and open the Docker package
  5. Select Registry
  6. In the search box, type minimworld and click the Search button
  7. An item minimworld/minimserver should appear. Double-click this item.
  8. If you are prompted to choose a tag, select and click the Select button
  9. You should see the image "minimworld/minimserver:" appear in the Image section and start to download
  10. When the image has finished downloading, select this image and click the Launch button
  11. On the General Settings page, enter a suitable name in the 'Container Name' field. This name will be part of the default display name for MinimServer.
  12. Click the Advanced Settings button
  13. On the Volume tab of the Advanced Settings page, click Add Folder, select the shared folder for your music library and click the Select button
  14. Type /Music in the 'Mount path' field and check the Read-Only box
  15. Click Add Folder again, select the MinimServer shared folder and click the Select button
  16. Type /MinimServer in the 'Mount path' field and check the Read-Only box
  17. On the Network tab of the Advanced Settings page, check the box 'Use same network as the Docker Host' You will see a message saying that you cannnot join other networks.
  18. The default timezone for the container is GMT. If you want to change this, select the Environment tab of the Advanced Settings page and add a new environment variable with name TZ and a timezone name such as Europe/London, Australia/Brisbane, etc. For a list of valid timezone names, see the TZ column on this page.
  19. Click the Apply button, then click the Next button. On the Summary page, make sure the 'Run this container' box is checked and click the Apply button.
  20. The MinimServer container should start and appear in the Container section. It should also appear in MinimWatch if you have this running. When MinimServer has finished its initial scan of your music library (this might take some time), it should be visible to UPnP control points. The default display name is suffixed with ".2" to distinguish it from the native MinimServer instance running on the NAS.
  21. You can start additional MinimServer containers by repeating the above steps, starting with step 9
  22. To stop a MinimServer container, click the stop icon (black square) in the Actions column for the container
  23. To restart a stopped MinimServer container, click the start icon (black triangle) in the Actions column for the container
  24. To remove a MinimServer container, click the x symbol in the Actions column for the container
  25. A MinimServer instance running in a Docker container on a Synology NAS shares the full or trial license of the container host. For more information, see the MinimServer 2 licensing for Linux containers section.

Running MinimServer 2 in a Docker container on Linux

  1. Install Docker on your Linux system if it isn't already installed
  2. To download the official MinimServer image for Intel, run this command:
    docker pull minimworld/minimserver:
    For the ARM 32-bit version of the image, use this command instead:
    docker pull minimworld/minimserver:-arm
  3. To create a MinimServer container, run this command:
    docker create -v host-content-dir:/Music:ro --network host --name container-name minimserver:
    where host-content-dir is the path to your music library on the host Linux system and container-name is the name you want to use for the MinimServer container. Mounting your host music library as /Music enables MinimServer to find it automatically. Alternatively, you can use a different mount pount or mount additional library folders. If you do this, you will need to set the contentDir property using MinimWatch after you have started MinimServer.
  4. The default timezone for the container is GMT. If you want to change this, add the -e option to the docker create command to set the environment variable TZ to a timezone name such as Europe/London, Australia/Brisbane, etc. For example, to set the timezone to Australia/Brisbane, you would specify -e TZ=Australia/Brisbane. For a list of valid timezone names, see the TZ column on this page.
  5. To start the container, run this command:
    docker run -d container-name
    where container-name is the container name that you used in step 3.
  6. The MinimServer container should start and should appear in MinimWatch if you have this running. To verify that the container is running, use this command:
    docker container ls -a
  7. When MinimServer has finished its initial scan of your music library (this might take some time), it should be visible to UPnP control points. The default display name is suffixed with ".2" to distinguish it from a MinimServer instance you might be running on the host system. You can change this by setting the displayName property using MinimWatch.
  8. You can start additional MinimServer containers by repeating step 5
  9. To stop a MinimServer container, run this command:
    docker stop container-name
    where container-name is the container name that you used in step 3.
  10. To restart a stopped MinimServer container, repeat step 5
  11. To remove a MinimServer container, run this command:
    docker rm container-name
    where container-name is the container name that you used in step 3. It's best to stop the container first before removing it so that the container can notify other UPnP devices that it is stopping.

Running MinimServer 2 in an LXC container on a QNAP NAS

Unlike a Docker container that runs a single application such as MinimServer, LXC provides a Linux environment that can be used to install one or more applications. To create an LXC container and install MinimServer 2 in this container, do the following:

  1. Install the QNAP Container Station package on your QNAP NAS if it isn't already installed
  2. Install the MinimServer package on your QNAP NAS if it isn't already installed. For details of how to do this, see the Installing MinimServer 2 on a QNAP NAS page. The MinimServer QNAP package needs to be at version 2.0.12 with update 162 or a later version.
  3. After installing the MinimServer QNAP package, you need to start the MinimServer package with an internet connection available. This creates a file named minimserver-starter.license in the MinimServer/data directory. After this file has been created, you can stop the MinimServer package if you don't want to run MinimServer as a native QNAP package.
  4. Using another computer, open the MinimServer 2 Downloads page, find the Linux row in the table of MinimServer downloads and click the Intel download link.
  5. Accept the license and download the archive file. The downloaded file is . Copy this file to the Public shared folder of your QNAP NAS.
  6. Start and open Container Station
  7. Click Create, then scroll down to the end of the list of available images
  8. Select the Debian LXC image and click Install. Alternatively, you can install an Ubuntu or Fedora LXC image.
  9. In the Create Container dialog, select Advanced Settings
  10. On the Advanced Settings page, enter a name in the Container Hostname field. This name will be part of the default display name for MinimServer.
  11. On the Advanced Settings page, click Network Mode and select Bridge, leaving other settings as the defaults that appear when you do this
  12. On the Advanced Settings page, select Shared Folders
  13. On the Shared Folders page, create a mapping for your QNAP music library folder to the mount point /Music
  14. On the Shared Folders page, create a mapping for the /MinimServer folder to the mount point /MinimServer
  15. On the Shared Folders page, create a mapping for the /Public folder to the mount point /Public
  16. Uncheck the 'write' boxes for all these shared folders
  17. The default timezone for the container is GMT. If you want to change this, select Environment on the Advanced Settings page and add a new environment variable with name TZ and a timezone name such as Europe/London, Australia/Brisbane, etc. For a list of valid timezone names, see the TZ column on this page.
  18. Click the Create button, then click OK on the Summary page
  19. After some time (be patient), the Debian container should start and appear in the Overview section
  20. Click the container name. A window will open that includes a Console section. Wait for a command prompt with a # symbol to appear in the Console section.
  21. Click the arrows next to the word Console to open a separate window for the Console.
  22. To run MinimServer, you need to have Java installed. To install Java, run the command apt update followed by the command apt install default-jre-headless. When prompted, enter Y.
  23. Unpack the MinimServer archive by entering the command tar xf /Public/ -C /opt
  24. Start MinimServer by entering the command /opt/minimserver/bin/startd
  25. MinimServer should start and should appear in MinimWatch if you have this running. When MinimServer has finished its initial scan of your music library (this might take some time), it should be visible to UPnP control points.
  26. To configure MinimServer to start automatically when the container is started, enter the command /opt/minimserver/bin/setup enable_autostart
  27. For more information about installing and running MinimServer on Linux (without a graphical desktop), see this page.
  28. To stop the container, click the stop icon (black square) in the Actions column for the container
  29. To restart the stopped container, click the start icon (black triangle) in the Actions column for the container. If you have configured MinimServer to start automatically (see above), MinimServer will start.
  30. To remove the container, click the x symbol in the Actions column for the container
  31. A MinimServer instance running in an LXC container on a QNAP NAS shares the full or trial license of the container host. For more information, see the MinimServer 2 licensing for Linux containers section.

Running MinimServer 2 in an LXC container on Linux

Unlike a Docker container that runs a single application such as MinimServer, LXC provides a Linux environment that can be used to install one or more applications. To create an LXC container on a Linux Intel system and install MinimServer 2 in this container, do the following:

  1. Install LXC on your Linux system if it isn't already installed

    Note: The instructions in this section are for LXC, not LXD. Some changes to the following steps will be needed if you are using LXD.

  2. Open the MinimServer 2 Downloads page, find the Linux row in the table of MinimServer downloads and click the Intel download link.
  3. Accept the license and download the MinimServer archive file. The downloaded file is .
  4. Create an LXC container running Linux. For example, you can create a container for Debian Buster using the following command:
    lxc-create -t download -n container-name -- -d debian -r buster -a amd64
    where container-name is any name of your choosing.
  5. Mount your music library inside the container so that MinimServer can access it. For example, you can mount your music library as /Music inside the container by editing your container's config file to add the following line:
    lxc.mount.entry = host-content-dir Music none bind,ro,create=dir 0 0
    where host-content-dir is the path to your music library on the host Linux system. Mounting your host music library as /Music enables MinimServer to find it automatically. Alternatively, you can use a different mount pount or mount additional library folders. If you do this, you will need to set the contentDir property using MinimWatch after you have started MinimServer.
  6. The default timezone for the container is GMT. You can change this by editing your container's config file to add the following line:
    lxc.environment = TZ=timezone-name
    where timezone-name is a timezone name such as Europe/London, Australia/Brisbane, etc. For a list of valid timezone names, see the TZ column on this page.
  7. By default, LXC will run the container in its own network segment using the lxcbr0 bridge. This doesn't work for MinimServer because the UPnP protocol doesn't allow a different network segment (subnet) to communicate with a UPnP control point and renderer on your main subnet, so you won't be able to select and play music. Instead, you need to run the container using a host-shared bridge. There are instructions for setting this up on this section and on this page. After you have done this and checked that your machine can still access the network, edit your container's config file to change the line starting lxc.network.link to this:
    lxc.network.link = br0
    assuming you have used the name br0 for your host-shared bridge.
  8. Start the container as a daemon by running this command:
    lxc-start -n container-name -d
    where container-name is the container name that you used in step 4.
  9. Attach a shell to the running container by running this command:
    lxc-attach -n container-name -- "/bin/sh"
    where container-name is the container name that you used in step 4.
  10. To run MinimServer, you need to have Java installed. To install Java, run these commands:
    apt update
    apt install default-jre-headless
    in your attached shell. When prompted, enter Y.
  11. Copy the MinimServer archive file that you downloaded in step 3 into the container and unpack it to the /opt directory by entering the command tar xf -C /opt
    in your attached shell.
  12. Start MinimServer by entering the command:
    /opt/minimserver/bin/startd
    in your attached shell.
  13. MinimServer should start and should appear in MinimWatch if you have this running. When MinimServer has finished its initial scan of your music library (this might take some time), it should be visible to UPnP control points.
  14. To configure MinimServer to start automatically when the container is started, enter the command: /opt/minimserver/bin/setup enable_autostart
    in your attached shell.
  15. For more information about installing and running MinimServer on Linux (without a graphical desktop), see this page.
  16. To stop the container, run this command (in a host terminal window, not in the attached shell):
    lxc-stop -n container-name
    where container-name is the container name that you used in step 4.
  17. To restart a stopped container, repeat step 8
  18. To destroy the container, run this command:
    lxc-destroy -n container-name
    where container-name is the container name that you used in step 4.