Trying to built Asset UPNP docker but I get warning and docker does not seem to get build.


Recommended Posts

Hi,

 

I try to built a docker from a raw dockerfile send to me by Sparklyballs. Unfortunately I get a warning when building:

[WARNING]: Empty continuation line found in:
    RUN usermod -u 99 nobody && usermod -g 100 nobody && usermod -d /home nobody && chown -R nobody:users /home && apt-get update && apt-get install -y wget && mkdir -p /usr/bin/asset && chmod -R 777 /usr/bin/asset && cd /usr/bin/asset && wget http://www.dbpoweramp.com/install/AssetUPnP-Linux-x64.tar.gz && tar -zxvf *.gz && rm *.gz && apt-get purge --remove -y wget && apt-get autoremove -y && apt-get clean
[WARNING]: Empty continuation lines will become errors in a future release.

 

The docker doesn't seem to get build and when running it it shows:

 

docker: Error response from daemon: oci runtime error: container_linux.go:265: s                          tarting container process caused "exec: \"/usr/bin/asset/bin/AssetUPnP\": stat /                          usr/bin/asset/bin/AssetUPnP: no such file or directory".

 

Is something wrong with the dockerfile or is it unraid 6.4.0 which I'm currently running?

 

When I try to add the docker on the docker page in unraid I get:

 

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name="Asset-UPNP" --net="host" -e TZ="Europe/Berlin" -e HOST_OS="unRAID" sparklyballs/asset-upnp

aa619a608337f4e150e84b2702851aa06650c3facdb282fb12ca34d629b83a5f
/usr/bin/docker: Error response from daemon: oci runtime error: container_linux.go:265: starting container process caused "exec: "/usr/bin/asset/bin/AssetUPnP": stat /usr/bin/asset/bin/AssetUPnP: no such file or directory".

The command failed.

 

Edited by dikkiedirk
Link to comment

Not sure...  But the path to the binaries in AssetUPnP changed with the v6 release.  For the trial version that you have linked to it will be somthing like /usr/Asset-R6-Linux-x64-trial/bin

 

You can see that if you look at the folder struction inside the archve file that gets downloaded.  Does that help?

 

I have been running AssetUPnP under unRAID but with it simply installed in a folder on my cache drive and started by a call from the go file.  It works quite well.  I haven't tried setting it up in a Docker session just yet.

Edited by S80_UK
Link to comment
1 minute ago, S80_UK said:

Not sure...  But the path to the binaries in AssetUPnP changed with the v6 release.  For the trial version that you have linked to it will be somthing like /usr/Asset-R6-Linux-x64-trial/bin

 

You can see that if you look at the folder struction inside the archve file that gets downloaded.  Does that help?

 

I have been running AssetUPnP under unRAID but with it simply installed in a folder on my cache drive and started by a call from the go file.  It works quite well.  I haven't tried setting it up in a Docker session just yet.

I like to follow your way and forget about dockerizing. Can you explain how you did it? Is the file you downloaded the right Linux build for unraid? Which folders need to be created and what files have to go where? and what command needs to be placed in the go file? 

Link to comment

Sorry for the delay.  So, this is what I do...

 

On my cache drive I create a folder called .AssetUPnP - the . is the old way of making the folder non-moveable.

In that folder I place the file that I download for the AssetUPnP Linux 64-bit version.  The URL that you have is correct for the trial version.  I have a paid license for AssetUPnP so I use the file that I download when I look up my order from the program creators.  I prefer to do the download manually, then I always know which version is beng run.  I don't want the download to change just because they've updated the program in case it breaks something.  I do the download under Windows, but it desn't matter.  It's just an archive file that gets copied into that .AssetUPnP folder.

 

Also in the .AssetUPnP folder I have a simple script derived from the one that the AssetUPnP guys have placed in their support forums for the Linux version.  It is named as AssetUPnP.sh

Mine looks like this...

# Asset UPnP for Linux

# should already be here, but just in case
cd /mnt/cache/.AssetUPnP
# Unpack the downloaded archive - change file name here to match downloaded archive file for AssetUPnP
tar -zxvf AssetUPnP-Linux-x64-premium.tar.gz

# Create a folder for the database
cd /mnt/cache
mkdir .dBpoweramp
chown nobody:users .dBpoweramp

# AssetUPnP doesn't know about my cache drive, it uses a folder called /root/.dBpoweramp which would normally be in RAM so I need to creat a soft-link to redirect from there to the cache
# I set this up twice, once in / and once in /root
# At different times I have needed different locations.  It's safe to leave both in the code.

# remove any old link (if just restarting Asset; normally will generate an error)
cd /
rm .dBpoweramp
# remove any folder contents (if present; normally will just generate an error)
rm -r .dBpoweramp
# create a soft-link to the database on the cache drive
ln -s /mnt/cache/.dBpoweramp .dBpoweramp
# change ownership of the soft-link
chown nobody:users .dBpoweramp

# remove any old link (if just restarting Asset; normally will generate an error)
cd /root
rm .dBpoweramp
# remove any folder contents (if present; normally will just generate an error)
rm -r .dBpoweramp
# create a soft-link to the database on the cache drive
ln -s /mnt/cache/.dBpoweramp .dBpoweramp
chown nobody:users .dBpoweramp

# The path to  the binaries changed after V5, so...
# this cd for 5.x
# cd /mnt/cache/.AssetUPnP/bin
# this cd for 6.x
cd /mnt/cache/.AssetUPnP/Asset-R6-Linux-x64-registered/bin

# start the program
./AssetUPnP

The key detail is that Asset by default would place the database of scanned metadata from your music in the RAM filing system.  So that it survives reboots and to save RAM I choose build it on the cache drive.  The above sets up a link from the RAM filing system to that folder on the cache drive.  After that Asset is happy to use it.

 

In the go file I place a simple call to the above start up script like this...

# other startup stuff here. Array must be started before starting AssetUPnP...
#
#
#
# AssetUPnP server
cd /mnt/cache/.AssetUPnP
./AssetUPnP.sh &
cd /boot/config
echo "AssetUPnP server started"
#
#
#
# Any more start up stuff...

Once AssetUPnP is started, you need to go to its local web page (unRAID-server-IP-address:45537). You can then go to the configuration page and set up the path(s) to your media files and any other options.  In my case that it simply a share on the server /mnt/user/FLAC

 

That's it.  You'll probably need to tweak this to suit your own needs.  This does not have the benefits of running in a Docker session, but I have struggled to find good info on how to make that work.  In fact the documentation on the docker site is pretty impenetrable for people that don't already understand enough about how it works, IMHO.   

 

 

Edited by S80_UK
typo
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.