Issues with docker and licenses

Support for Ubuntu and other Desktop Linux distributions
Post Reply
souljacker
Posts: 8
Joined: 27 Mar 2017, 13:00

Issues with docker and licenses

Post by souljacker »

I want to have a docker container than automatically rsync's files from a server to my local machine, then runs file bot on it. this was working on the older version of filebot, but I'm having issues getting it working on the never licensed version.

I'm using this dockerfile https://github.com/rossdargan/rsync-fil ... Dockerfile, which uses the official docker container and adds in rsync.

I have my data volume mapped, and if I connect to the container and execute "filebot -script fn:sysinfo" I can see the following:
FileBot 4.8.2 (r5789)
JNA Native: 5.2.2
MediaInfo: 18.05
7-Zip-JBinding: 9.20
Chromaprint: 1.4.2
Extended Attributes: Assertion failed:

assert xattr.getObject() == value
| | | |
| null | Mon Mar 18 13:38:38 UTC 2019
| false
net.filebot.media.MetaAttributes@5fa05212

Unicode Filesystem: OK
Script Bundle: 2019-02-26 (r552)
Groovy: 2.5.1
JRE: Java(TM) SE Runtime Environment 10.0.2
JVM: 64-bit Java HotSpot(TM) 64-Bit Server VM
CPU/MEM: 1 Core / 943 MB Max Memory / 20 MB Used Memory
OS: Linux (amd64)
HW: Linux cd831c4969a3 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 GNU/Linux
DATA: /data/.filebot
Package: DOCKER
License: FileBot License T1137 (Valid-Until: 2020-03-23)
Done ヾ(@⌒ー⌒@)ノ
When I run the following script via cron (which is how I'm scheduling the rsync command) I get this:
Script not found: sysinfo
java.io.FileNotFoundException: Script not found: sysinfo
at net.filebot.cli.ScriptBundle.getScript(ScriptBundle.java:55)
at net.filebot.cli.ScriptShell.runScript(ScriptShell.java:74)
at net.filebot.cli.ArgumentProcessor.runScript(ArgumentProcessor.java:154)
at net.filebot.cli.ArgumentProcessor.run(ArgumentProcessor.java:36)
at net.filebot.Main.main(Main.java:131)
If I execute "echo $HOME" just before filebot then I get /root which makes me think cron is running as the root user which is whats causing the issue (since it appears filebot users your home directory to check the license)

If I run my amc script I can see this in the log "LicenseError: UNREGISTERED" but it does find that script oddly (it just can't find the sysinfo one)

I've tried to fix this by doing the following:
- mounted the data volume as "/root" this fixes this issue but stops rsync working as it can't access my ssh certs... this is also probably a horrible way to fix it
- execute "export _JAVA_OPTIONS=-Duser.home=/data" before running file bot, this produces this:
Picked up _JAVA_OPTIONS: -Duser.home=/data
Script not found: sysinfo
java.io.FileNotFoundException: Script not found: sysinfo
at net.filebot.cli.ScriptBundle.getScript(ScriptBundle.java:55)
at net.filebot.cli.ScriptShell.runScript(ScriptShell.java:74)
at net.filebot.cli.ArgumentProcessor.runScript(ArgumentProcessor.java:154)
at net.filebot.cli.ArgumentProcessor.run(ArgumentProcessor.java:36)
at net.filebot.Main.main(Main.java:131)
- execute "export HOME=/data" - didn't work either

what I'm considering doing now is having the script install the license before executing any filebot command, but this will happen every 15 minutes and I don't know if I will get blacklisted for registering the license that many times.

I'm not really sure what else I can do and would love any assistance!
User avatar
rednoah
The Source
Posts: 22991
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Issues with docker and licenses

Post by rednoah »

If the docker container loses state and application data between each run then your license is likely gonna get auto banned.

Make sure that you map the application data folder (or the entire user home) in the docker to some persistent file system.

Best to check the official docker container to see how it's supposed to work first, and then continue looking into why the rsync container might not work.
:idea: Please read the FAQ and How to Request Help.
souljacker
Posts: 8
Joined: 27 Mar 2017, 13:00

Re: Issues with docker and licenses

Post by souljacker »

Is there any way for me to override what directory it looks in for the license file. The problem appears to be it's looking in the users home folder and it's just not there.

I can't map the whole home folder as \root\.ssh is mapped.

However this made me realise I could probably just map a volume to \root\.filebot, and this DID work.

The sysinfo script still doesn't work, but amc does and I'm no longer getting a license issue so I'm happy!

Thanks

Ross
Post Reply