Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FileBot Node plugin #215

Merged
merged 9 commits into from
Feb 3, 2023
Merged

Conversation

StephenBrown2
Copy link
Contributor

Fixes #109.

General information on project

This pull request proposes to add a new rock-on for the following project:

  • name: filebot
  • website: http://www.filebot.net/
  • description: FileBot Node is a server-side Node.js application that allows you to make filebot calls via a straight-forward ExtJS web application. Adding it to rockstor allows you to manage and automate file renaming for shared media directories.

Information on docker image

Checklist

  • Passes JSONlint validation
  • Entry added to root.json in alphabetical order (for new rock-on only)
  • "description" object lists and links to the docker image used
  • "description" object provides information on the image's particularities (advantage over another existing rock-on for the same project, for instance)
  • "website" object links to project's main website

@StephenBrown2 StephenBrown2 mentioned this pull request Feb 24, 2020
@phillxnet phillxnet added the needs review Test install, function, on / off behaviour, all links / info. label Feb 24, 2020
@phillxnet phillxnet added needs review Test install, function, on / off behaviour, all links / info. and removed needs review Test install, function, on / off behaviour, all links / info. labels Jun 5, 2020
@FroggyFlox
Copy link
Member

Hi @StephenBrown2 ,

Sorry again for not taking the time to look at your submission earlier.

Thanks also for your latest commit db33ab4, as I was about to suggest to do just that.

I tested the new version and it seems to work as intended:

  • installs without issues
  • can be toggled ON and OFF
  • can be uninstalled
  • webUI is accessible.

The only doubt I have relates to the use of host networking (--net=host). Indeed, for security and "compatibility" reasons, we typically try to avoid using it unless required for the rock-on to work properly. Unless I missed it, I cannot see it mentioned on the image's docker hub documentation, so would you be able to explain why it is needed?
As an illustration, I tried to use the "Tools > System info" from within its webUI and using host networking does seem to create some issue:
with host networking:

filebot -script 'fn:sysinfo' --log-file '/data/.filebot-node/filebot.log'

------------------------------------------

Initialize new disk cache: /data/.filebot/cache/0
Jun 13, 2020 12:16:42 PM net.sf.ehcache.Cache <clinit>
SEVERE: Unable to set localhost. This prevents creation of a GUID. Cause was: rockhome: rockhome: No address associated with hostname
java.net.UnknownHostException: rockhome: rockhome: No address associated with hostname
	at java.base/java.net.InetAddress.getLocalHost(InetAddress.java:1642)
	at net.sf.ehcache.Cache.<clinit>(Cache.java:222)
	at net.filebot.CacheManager.getCache(Unknown Source)
	at net.filebot.Cache.getCache(Unknown Source)
	at net.filebot.cli.ScriptSource.getCache(Unknown Source)
	at net.filebot.cli.ScriptSource$1.getScriptProvider(Unknown Source)
	at net.filebot.cli.ArgumentProcessor.runScript(Unknown Source)
	at net.filebot.cli.ArgumentProcessor.run(Unknown Source)
	at net.filebot.Main.main(Unknown Source)
Caused by: java.net.UnknownHostException: rockhome: No address associated with hostname
	at java.base/java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
	at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:929)
	at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1515)
	at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:848)
	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1505)
	at java.base/java.net.InetAddress.getLocalHost(InetAddress.java:1637)
	... 8 more

FileBot 4.9.1 (r7372)
JNA Native: 5.2.0
MediaInfo: 17.12
p7zip: p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Celeron(R) CPU 1037U @ 1.80GHz (306A9),ASM)
unrar: UNRAR 5.50 freeware
Jun 13, 2020 12:16:50 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Chromaprint: 1.4.3
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2020-06-12 (r652)
Groovy: 3.0.3
JRE: OpenJDK Runtime Environment 11.0.6
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 2 Core / 2.1 GB Max Memory / 80 MB Used Memory
OS: Linux (amd64)
HW: Linux rockhome 5.3.18-lp152.18-default #1 SMP Fri Jun 5 07:06:38 UTC 2020 (32f87b5) x86_64 x86_64 x86_64 GNU/Linux
STORAGE: btrfs [/] @ 4.0 TB | btrfs [/volume1] @ 4.0 TB | btrfs [/data] @ 4.0 TB | btrfs [/etc/localtime] @ 26 GB | btrfs [/etc/resolv.conf] @ 4.0 TB | btrfs [/etc/hostname] @ 4.0 TB | btrfs [/etc/hosts] @ 4.0 TB
DATA: /data/.filebot
Package: DOCKER
License: UNREGISTERED
Done ヾ(@⌒ー⌒@)ノ

------------------------------------------

[Process completed]

without host networking:

filebot -script 'fn:sysinfo' --log-file '/data/.filebot-node/filebot.log'

------------------------------------------

Initialize new disk cache: /data/.filebot/cache/0
FileBot 4.9.1 (r7372)
JNA Native: 5.2.0
MediaInfo: 17.12
p7zip: p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Celeron(R) CPU 1037U @ 1.80GHz (306A9),ASM)
unrar: UNRAR 5.50 freeware
Jun 13, 2020 12:06:55 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Chromaprint: 1.4.3
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2020-06-12 (r652)
Groovy: 3.0.3
JRE: OpenJDK Runtime Environment 11.0.6
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 2 Core / 2.1 GB Max Memory / 93 MB Used Memory
OS: Linux (amd64)
HW: Linux 7792bc990ae5 5.3.18-lp152.18-default #1 SMP Fri Jun 5 07:06:38 UTC 2020 (32f87b5) x86_64 x86_64 x86_64 GNU/Linux
STORAGE: btrfs [/] @ 4.0 TB | btrfs [/volume1] @ 4.0 TB | btrfs [/data] @ 4.0 TB | btrfs [/etc/localtime] @ 26 GB | btrfs [/etc/resolv.conf] @ 4.0 TB | btrfs [/etc/hostname] @ 4.0 TB | btrfs [/etc/hosts] @ 4.0 TB
DATA: /data/.filebot
Package: DOCKER
License: UNREGISTERED
Done ヾ(@⌒ー⌒@)ノ

------------------------------------------

[Process completed]

Otherwise, thanks a lot for making the effort of providing all links and descriptions as we now try to, that is greatly appreciated!

On another note, I personally wasn't familiar with Filebot before and didn't know what to expect just from reading the rock-on description. Maybe we could add a few more words to describe what the project does? From their website, we could take some of the following, for instance:

FileBot is the ultimate tool for organizing and renaming your Movies, TV Shows and Anime as well as fetching subtitles and artwork.

https://www.filebot.net/

Thanks again for your contribution, and I apologize again for such a delay in getting back to you.

@StephenBrown2
Copy link
Contributor Author

Sure thing. I believe I must have copied the just networking from whatever other RockOn config I started with. I'll update that on Monday when I'm back at a computer, I had noticed the error too, but the functionality was unaffected.

Also yes, it definitely needs a better description. I'll fix that too.

@StephenBrown2
Copy link
Contributor Author

Description updated, let me know if there's anything else that should be done.

Copy link
Member

@FroggyFlox FroggyFlox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It still works very well in my test, as it did in my previous tests. I only have a few minor changes that I can think of.

filebot-node.json Outdated Show resolved Hide resolved
filebot-node.json Outdated Show resolved Hide resolved
filebot-node.json Outdated Show resolved Hide resolved
filebot-node.json Outdated Show resolved Hide resolved
@FroggyFlox
Copy link
Member

Hi @StephenBrown2 ,

First of all, let me apologize for the silence on this PR... things have been really busy on the main repository with almost all of our efforts spent on the relaunching the next Rockstor version and I'm afraid the rockon-registry repository has suffered from a lack of attention as a result.

Thanks a lot for all your revisions and changes made to your original submission. It all looks good to me pending a few minor changes I highlighted in my review. There is one last thing I would recommend, however: I just now realized FileBot seems to require a license in order to function (after some time, I believe?) so we may want to indicate this briefly in the rock-on description. This way, users won't have an unexpected surprise if they go through the installation and setup process but fail to realize a license is required (that was my case, for instance).

I understand this review might come a little too late, so my apologies again on this.

@FroggyFlox FroggyFlox added change requested A change has been requested and removed needs review Test install, function, on / off behaviour, all links / info. labels Aug 25, 2020
StephenBrown2 and others added 2 commits November 5, 2020 00:06
Co-authored-by: FroggyFlox <30297881+FroggyFlox@users.noreply.github.com>
@StephenBrown2
Copy link
Contributor Author

@FroggyFlox Much delay comes to all. I've applied your suggestions, and added a note regarding the License. Let me know if that's sufficient!

@FroggyFlox
Copy link
Member

Thanks a lot for taking care of it, @StephenBrown2 .
I didn't forget about your PR, and I've started looking into it again. I've come across some oddity on my end when testing this so I still need to figure that out first. Nothing related to your work by itself; it's related to our testing pipeline in the back-end so I'm taking the opportunity to further improve that thanks to you ;-) .
I should hopefully be able to get back to you soon.

@FroggyFlox FroggyFlox removed the change requested A change has been requested label Nov 10, 2020
@phillxnet
Copy link
Member

@FroggyFlox I know this is super old but there has now been quite the effort put in so it would seem we are near enough on this one hopefully. Image was last updated around a month ago.

Also re:

it's related to our testing pipeline in the back-end so I'm taking the opportunity to further improve that thanks to you ;-) .

I'm pretty sure we have now, finally, gotten this short-coming in our back-end testing capability sorted now and so it should work for such a pull request as this one; where-as previously it was failing us.

@FroggyFlox FroggyFlox self-assigned this Nov 24, 2021
@FroggyFlox
Copy link
Member

Thanks for the reminder, @phillxnet , and my deepest apologies for dropping the ball on that one. I've assigned myself to this PR so that I will be able to more easily have it on my to-do list.

@phillxnet
Copy link
Member

@FroggyFlox No worries. I was just doing some house-keeping and remembered upon seeing this that we fixed our back-end just recently. Thanks again for the help on that one by the way.

@phillxnet
Copy link
Member

@StephenBrown2 Just following up on the @FroggyFlox review. We do seem to have all requested changes now in place.
Plus the image is still maintained: updated 5 days ago.

I'd rather see the license in the description myself but it's there in the more-info for now and we can modify that at a later date, via a follow-up pr if there is the interest. Plus we link to the upstream Project https://www.filebot.net/ via the Rock-on name so I think we are up-front on that one all-in. And that page has the per-year/life-time License options just a little way down.

The Web-UI also has a Licnese link here:
Web-UI-license-link

[03/Feb/2023 16:04:46] DEBUG [system.osi:208] Running command: /usr/bin/docker pull rednoah/filebot:node
[03/Feb/2023 16:07:09] DEBUG [system.osi:208] Running command: /usr/bin/docker run -d --restart=unless-stopped --name filebot -v /mnt2/emby-all:/volume1 -v /etc/localtime:/etc/localtime:ro -p 5452:5452/tcp rednoah/filebot:node
[03/Feb/2023 16:07:09] DEBUG [storageadmin.views.rockon_helpers:210] Set rock-on 134 state to installed
[03/Feb/2023 16:07:09] INFO [storageadmin.tasks:64] Task [install], id: c8af65e1-8069-48d0-87f1-ba1abc6e950e completed OK

filebot-node-installed
and we have the license mention and link (but in plain text):
filebot-node-info-page

I have no appropriate media on my test instances but this looks to be a legitimate and long standing project, so lets get this Rock-on merged and out for general feedback.

@phillxnet
Copy link
Member

We also need a follow-up pull request to address our new normalisation regarding arch compatibility.
From: https://hub.docker.com/r/rednoah/filebot/tags
this looks to be both amd64 & arm64 compatible.

@Hooverdan96 my apologies for muddying the waters on this front, but while we were on a merge run I wanted to not loose the already not insubstantial effort that has gone into this Rock-on preperation.
Hope you are OK with that.

@FroggyFlox From a quick look this pr does seem to have the required changes you requested. I know we have other requirements in the interim but again I'm keen to not loose the work we have here before it gets even older.

Copy link
Member

@phillxnet phillxnet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously reviewed by @FroggyFlox with a quick follow-up by myself.
All previously requested changes look now to have been applied, so lets get this one out for field testing.
We do need a follow-up pr to address arch compatibility however. Which we now add in our description.

@phillxnet phillxnet merged commit 91ca403 into rockstor:master Feb 3, 2023
@phillxnet
Copy link
Member

This Rock-on has now been published to PRODUCTION.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Request: filebot
3 participants