[Support] Josh5 - Unmanic - Library Optimiser


Recommended Posts

unmanic-logo-blackgrey.thumb.png.1f2a8210b4635247f49fab925765e74f.png

Application Name: Unmanic - Library Optimiser

Application Site: https://unmanic.app/

Docker Hub: https://hub.docker.com/r/josh5/unmanic/

Github: https://github.com/Unmanic/unmanic/

Documentation: https://docs.unmanic.app/

Discord: https://unmanic.app/discord

 

Description:

Unmanic is a simple tool for optimising your file library. You can use it to convert your files into a single, uniform format, manage file movements based on timestamps, or execute custom commands against a file based on its file size.
Simply configure Unmanic pointing it at your library and let it automatically manage that library for you.

 

Unmanic provides you with the following main functions:

 

  • A scheduler built in to scan your whole library for files that do not conform to your configured presets. Files found with incorrect formats are then queued for conversion.
  • A folder watchdog. When a video file is modified or a new file is added in your library, Unmanic is able to check that video against your configured video presets. Like the first function, if this video is not formatted correctly it is added to a queue for conversion.
  • A handler to manage running multiple file manipulation tasks at a time.
  • A Web UI to easily configure, manage and monitor the progress of your library optimisation.

 

You choose how you want your library to be.

 

Unmanic can be used to:

  • Modify and/or trans-code video or audio files into a uniform format using FFmpeg
  • Move files from one location to another after a configured period of time
  • Execute FileBot to automatically batch rename files in your library
  • Extract ZIP files (or compress files to .{zip,tar,etc})
  • Resize or auto-rotate images
  • Correct missing data in music files
  • Run any custom command against files matching a certain extension or above a configured file size

 

 

The Docker container is currently based linuxserver.io Ubuntu focal image.

 

Video Guide:

 

 

 

Screenshots:

(Dashboard)

unmanic-dashboard-processing-anime.thumb.png.6049f1ccfcb276db42e636fad5ad98e8.png

(File metrics)

unmanic-file-size-data-panel-anime.thumb.png.ae0da52d352c5f20759293ce9551468a.png

(installed plugins)

unmanic-list-installed-plugins.thumb.png.db6b00dda81c5b8d29b6027c8698fcaf.png

 

 

Setup Guide:

 

Unmanic Documentation - Installation on Unraid

 

 

Thanks To/Credits

    Special thanks to:
        linuxserver.io (For their work with Docker base images): https://www.linuxserver.io/
        Cpt. Chaz (For providing me with some updated graphics and his awesome work on YouTube): https://forums.unraid.net/profile/96222-cpt-chaz/

 

 

Edited by Josh.5
Remove documentation. Link to website documentation
  • Like 2
  • Thanks 3
  • Upvote 5
Link to comment
4 minutes ago, zAdok said:

Great work Josh. The previous build didn't work to well for me but I'm going to try this one out now. Thanks for your work on this.

This is still pretty early on, there are still not that many configuration options. The main thing that this provides over the previous version is the ability to add configuration that is simple to apply from a user's perspective via the web ui.

If you could let me know details of what sorts of things don't work out for you that will be helpful.

Link to comment
56 minutes ago, Josh.5 said:

This is still pretty early on, there are still not that many configuration options. The main thing that this provides over the previous version is the ability to add configuration that is simple to apply from a user's perspective via the web ui.

If you could let me know details of what sorts of things don't work out for you that will be helpful.

OK so far I've found a few bugs. 

1 - When the docker was pinned to core 2,3 (i have only 4 cores) it used 100% of core 3 but wasn't actually scanning anything. Upon switching it to use all cores 0-3 it scanned the library OK and started building the queue.

2 - When you set the scheduler to 0 (to disable the schedule) the option to scan on startup does nothing.

3 - A few times when I've stopped the container and started it again, the number of workers have gone back to 3 (i've set it to 1) and the library scan went back to 60 (I had it at 180). This hasn't occurred when restarting it, only stop/start.

4 - It can't parse apostrophe characters when scanning the library, results in ' being added instead. Not sure if the file outputs this way though.

Link to comment
45 minutes ago, trekkiedj said:

@Josh.5I cant work out how to get the to the GUI

Go into the settings for the container; turn on the advanced settings (at top right; and then put [PORT:8888] into the setting for the WebUI.   When you now start the container and click on the container icon you will have the option to connect to the WebUI.

Link to comment
21 minutes ago, itimpi said:

Go into the settings for the container; turn on the advanced settings (at top right; and then put [PORT:8888] into the setting for the WebUI.   When you now start the container and click on the container icon you will have the option to connect to the WebUI.

@itimpi Would you mind screenshotting your container page? I am having a nightmare getting this to work!

Edited by trekkiedj
Link to comment
Still the same.  I've reinstalled, applied settings as yours and rebooted unraid.  Anything else I could have missed?


Just check the cache section, I've labelled it cache

c52c1991cdb2582d2293d55d2ad088df.jpg

Have you got anything else running on 8888 already?


Sent from my iPhone using Tapatalk
Link to comment

I have mine set as in attached image (based on the example on GitHub)

Point to note are:

  • Advanced view is enabled so that I can set the WebUI entry
  • I have pointed the /library container location to a temporary location on my server as I do not (yet) want my main media library to be scanned.
  • I have pointed the transcoding location to a location that is in RAM on the host.   If you do not want this then point to a suitable location on the cache disk.
  • I have selected 'host' style networking.   This means I have also set up a port mapping entry in case I want to use a different port to the default of 8888.

 

 

IMG_0191.jpg

  • Like 1
Link to comment
1 hour ago, itimpi said:

I have mine set as in attached image (based on the example on GitHub)

Point to note are:

  • Advanced view is enabled so that I can set the WebUI entry
  • I have pointed the /library container location to a temporary location on my server as I do not (yet) want my main media library to be scanned.
  • I have pointed the transcoding location to a location that is in RAM on the host.   If you do not want this then point to a suitable location on the cache disk.
  • I have selected 'host' style networking.   This means I have also set up a port mapping entry in case I want to use a different port to the default of 8888.

 

 

IMG_0191.jpg

Sorted it thanks.  Cleared the cache in Chrome.  Settings were fine all along.

Link to comment

Thanks, i now have it running fine... almost!

 

@Josh.5 - I have a large library, and i dont know if it is related,  but if i point the container to my entire TV series library, after a few minutes the WebUI page gets replaced with the following:

 

Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/tornado/web.py", line 1590, in _execute result = method(*self.path_args, **self.path_kwargs) File "/app/webserver/main.py", line 51, in get self.render("main.html", time_now=time.time()) File "/usr/local/lib/python3.5/dist-packages/tornado/web.py", line 766, in render html = self.render_string(template_name, **kwargs) File "/usr/local/lib/python3.5/dist-packages/tornado/web.py", line 907, in render_string return t.generate(**namespace) File "/usr/local/lib/python3.5/dist-packages/tornado/template.py", line 346, in generate return execute() File "main_html.generated.py", line 89, in _tt_execute if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp) # main-pending-tasks.html:7 (via main.html:195, page_layout.html:123) File "/usr/local/lib/python3.5/dist-packages/tornado/escape.py", line 199, in utf8 return value.encode("utf-8") UnicodeEncodeError: 'utf-8' codec can't encode character '\udce2' in position 48: surrogates not allowed

 

The processes seem to still be running in the background as the log reflects this but the WebUI is non-functional. It's not happening if i just select a single show folder.

 

Link to comment

 
The processes seem to still be running in the background as the log reflects this but the WebUI is non-functional. It's not happening if i just select a single show folder.
 


Just to note that I'm experiencing the same with a large library.


Sent from my iPhone using Tapatalk
Link to comment

Holy smokes there are a lots of posts here. Sorry for the absence.

Thanks everyone for the feedback, especially those who took the time to raise issues on github. If I don't get back to you directly its because I'm busy either working or working. I've had an insanely busy first day back at work and it looks like more of that for perhaps the next few weeks.

I spent a few hours today implementing the guts of automated testing for the project. This highlighted some pretty dumb code that I had written. As such I'v just spent the past few hours refactoring the file that handles communication with the ffmpeg subprocesses.

The next priority I'm seeing here is to fix up issues with not escaping or converting special characters. Finger crossed I can get that done asap for you guys.


Thanks again,

Josh

Sent from my ONE E1003 using Tapatalk

  • Like 2
  • Upvote 1
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.