Code Monkey home page Code Monkey logo

tinymediamanager-docker's Introduction

tinymediamanager-docker

A repository for creating a docker container including TinyMediaManager with GUI interface.

docker pulls docker stars Donate

Latest versions:

Docker Image Version (latest semver) docker size

Docker Image Version (tag latest semver) docker size

If you are migrating from v3 to v4, please make a backup before. I recommend you create a new host directory to map the new config, and copy the "/config/data" folder from v3 version to it. Take a look at the official upgrade documentation here: https://www.tinymediamanager.org/docs/upgrade-v4

You can invite me a beer if you want ;)

This is a completely funcional Docker image with TinyMediaManager.

Based on Alpine Linux, which provides a very small size.

Tested and working on Synology and QNAP, but should work on any x86_64 devices.

Thanks to @jlesage for a great base image for GUI apps.

Instructions:

  • Map any local port to 5800 for web access
  • Map any local port to 5900 for VNC access
  • Map a local volume to /config (Stores configuration data)
  • Map a local volume to /media (Access media files)

Sample run command:

docker run -d --name=tinymediamanager \
-v /share/Container/tinymediamanager/config:/config \
-v /share/Container/tinymediamanager/media:/media \
-e GROUP_ID=0 -e USER_ID=0 -e TZ=Europe/Madrid \
-p 5800:5800 \
-p 5900:5900 \
romancin/tinymediamanager:latest-v4

Browse to http://your-host-ip:5800 to access the TinyMediaManager GUI.

Image TAGs available

TAG Description
latest Latest available version of TMM v3
latest-v4 Latest available version of TMM v4
vX.X.X Points directly to one of the TMM versions available, v3 or v4

Environment Variables

To customize some properties of the container, the following environment variables can be passed via the -e parameter (one for each variable). Value of this parameter has the format <VARIABLE_NAME>=<VALUE>.

Variable Description Default
USER_ID ID of the user the application runs as. See User/Group IDs to better understand when this should be set. 1000
GROUP_ID ID of the group the application runs as. See User/Group IDs to better understand when this should be set. 1000
SUP_GROUP_IDS Comma-separated list of supplementary group IDs of the application. (unset)
UMASK Mask that controls how file permissions are set for newly created files. The value of the mask is in octal notation. By default, this variable is not set and the default umask of 022 is used, meaning that newly created files are readable by everyone, but only writable by the owner. See the following online umask calculator: http://wintelguy.com/umask-calc.pl (unset)
TZ TimeZone of the container. Timezone can also be set by mapping /etc/localtime between the host and the container. Etc/UTC
KEEP_APP_RUNNING When set to 1, the application will be automatically restarted if it crashes or if user quits it. 0
APP_NICENESS Priority at which the application should run. A niceness value of -20 is the highest priority and 19 is the lowest priority. By default, niceness is not set, meaning that the default niceness of 0 is used. NOTE: A negative niceness (priority increase) requires additional permissions. In this case, the container should be run with the docker option --cap-add=SYS_NICE. (unset)
CLEAN_TMP_DIR When set to 1, all files in the /tmp directory are delete during the container startup. 1
DISPLAY_WIDTH Width (in pixels) of the application's window. 1280
DISPLAY_HEIGHT Height (in pixels) of the application's window. 768
SECURE_CONNECTION When set to 1, an encrypted connection is used to access the application's GUI (either via web browser or VNC client). See the Security section for more details. 0
VNC_PASSWORD Password needed to connect to the application's GUI. See the VNC Password section for more details. (unset)
X11VNC_EXTRA_OPTS Extra options to pass to the x11vnc server running in the Docker container. WARNING: For advanced users. Do not use unless you know what you are doing. (unset)
ENABLE_CJK_FONT When set to 1, open source computer font WenQuanYi Zen Hei is installed. This font contains a large range of Chinese/Japanese/Korean characters. 0

Data Volumes

The following table describes data volumes used by the container. The mappings are set via the -v parameter. Each mapping is specified with the following format: <HOST_DIR>:<CONTAINER_DIR>[:PERMISSIONS].

Container path Permissions Description
/config rw This is where the application stores its configuration, log and any files needing persistency.
/media rw This is where your media files are stored.

Ports

Here is the list of ports used by the container. They can be mapped to the host via the -p parameter (one per port mapping). Each mapping is defined in the following format: <HOST_PORT>:<CONTAINER_PORT>. The port number inside the container cannot be changed, but you are free to use any port on the host side.

Port Mapping to host Description
5800 Mandatory Port used to access the application's GUI via the web interface.
5900 Optional Port used to access the application's GUI via the VNC protocol. Optional if no VNC client is used.

User/Group IDs

When using data volumes (-v flags), permissions issues can occur between the host and the container. For example, the user within the container may not exists on the host. This could prevent the host from properly accessing files and folders on the shared volume.

To avoid any problem, you can specify the user the application should run as.

This is done by passing the user ID and group ID to the container via the USER_ID and GROUP_ID environment variables.

To find the right IDs to use, issue the following command on the host, with the user owning the data volume on the host:

id <username>

Which gives an output like this one:

uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),24(cdrom),27(sudo),46(plugdev),113(lpadmin)

The value of uid (user ID) and gid (group ID) are the ones that you should be given the container.

Security

By default, access to the application's GUI is done over an unencrypted connection (HTTP or VNC).

Secure connection can be enabled via the SECURE_CONNECTION environment variable. See the Environment Variables section for more details on how to set an environment variable.

When enabled, application's GUI is performed over an HTTPs connection when accessed with a browser. All HTTP accesses are automatically redirected to HTTPs.

When using a VNC client, the VNC connection is performed over SSL. Note that few VNC clients support this method. SSVNC is one of them.

Certificates

Here are the certificate files needed by the container. By default, when they are missing, self-signed certificates are generated and used. All files have PEM encoded, x509 certificates.

Container Path Purpose Content
/config/certs/vnc-server.pem VNC connection encryption. VNC server's private key and certificate, bundled with any root and intermediate certificates.
/config/certs/web-privkey.pem HTTPs connection encryption. Web server's private key.
/config/certs/web-fullchain.pem HTTPs connection encryption. Web server's certificate, bundled with any root and intermediate certificates.

NOTE: To prevent any certificate validity warnings/errors from the browser or VNC client, make sure to supply your own valid certificates.

NOTE: Certificate files are monitored and relevant daemons are automatically restarted when changes are detected.

VNC Password

To restrict access to your application, a password can be specified. This can be done via two methods:

  • By using the VNC_PASSWORD environment variable.
  • By creating a .vncpass_clear file at the root of the /config volume. This file should contains the password in clear-text. During the container startup, content of the file is obfuscated and moved to .vncpass.

The level of security provided by the VNC password depends on two things:

  • The type of communication channel (encrypted/unencrypted).
  • How secure access to the host is.

When using a VNC password, it is highly desirable to enable the secure connection to prevent sending the password in clear over an unencrypted channel.

ATTENTION: Password is limited to 8 characters. This limitation comes from the Remote Framebuffer Protocol RFC (see section 7.2.2). Any characters beyhond the limit are ignored.

Shell Access

To get shell access to a the running container, execute the following command:

docker exec -ti CONTAINER sh

Where CONTAINER is the ID or the name of the container used during its creation (e.g. crashplan-pro).

Reverse Proxy

The following sections contains NGINX configuration that need to be added in order to reverse proxy to this container.

A reverse proxy server can route HTTP requests based on the hostname or the URL path.

Routing Based on Hostname

In this scenario, each hostname is routed to a different application/container.

For example, let's say the reverse proxy server is running on the same machine as this container. The server would proxy all HTTP requests sent to tinymediamanager.domain.tld to the container at 127.0.0.1:5800.

Here are the relevant configuration elements that would be added to the NGINX configuration:

map $http_upgrade $connection_upgrade {
	default upgrade;
	''      close;
}

upstream tinymediamanager {
	# If the reverse proxy server is not running on the same machine as the
	# Docker container, use the IP of the Docker host here.
	# Make sure to adjust the port according to how port 5800 of the
	# container has been mapped on the host.
	server 127.0.0.1:5800;
}

server {
	[...]

	server_name tinymediamanager.domain.tld;

	location / {
	        proxy_pass http://tinymediamanager;
	}

	location /websockify {
		proxy_pass http://tinymediamanager;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection $connection_upgrade;
		proxy_read_timeout 86400;
	}
}

Routing Based on URL Path

In this scenario, the hostname is the same, but different URL paths are used to route to different applications/containers.

For example, let's say the reverse proxy server is running on the same machine as this container. The server would proxy all HTTP requests for server.domain.tld/tinymediamanager to the container at 127.0.0.1:5800.

Here are the relevant configuration elements that would be added to the NGINX configuration:

map $http_upgrade $connection_upgrade {
	default upgrade;
	''      close;
}

upstream tinymediamanager {
	# If the reverse proxy server is not running on the same machine as the
	# Docker container, use the IP of the Docker host here.
	# Make sure to adjust the port according to how port 5800 of the
	# container has been mapped on the host.
	server 127.0.0.1:5800;
}

server {
	[...]

	location = /tinymediamanager {return 301 $scheme://$http_host/tinymediamanager/;}
	location /tinymediamanager/ {
		proxy_pass http://tinymediamanager/;
		location /tinymediamanager/websockify {
			proxy_pass http://tinymediamanager/websockify/;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection $connection_upgrade;
			proxy_read_timeout 86400;
		}
	}
}

Support or Contact

Having troubles with the container or have questions? Please [create a new issue].

Changelog

v4.1.1 (16/03/2021): First version of TMM v4 (v4.1.1)

v3.1.10 (31/10/2020): Updated TMM to 3.1.10

v3.1.8 (09/09/2020): Updated to latest image from jlesage for Alpine 3.12, updated Corretto to current 1.8 version and TMM to 3.1.8

v1.0.1 (22/09/2019): Updated to latest image from jlesage and added Jenkinsfile for CI

tinymediamanager-docker's People

Contributors

bodiroga avatar romancin avatar seriouswebby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tinymediamanager-docker's Issues

advice about cannot connect to api.themoviedb.org

sometimes, for some reasons, the connection to api.themoviedb.org seems unaccessible, adding a variable to add a hosts item about api.themoviedb.org in /etc/hosts automatically would be a terrific idea i think.

half cleaning after remain

Hello
In some series folders I have the following structure

tvshow/S1/episode 1x1
               /episode 1x2
               /oldtvshow.nfo
               /oldtvshow.jpg
tvshow/S2/episode 2x1

after scrape,rename and clean this format remains

tvshow/season 01/ episode 1x1
                 /episode 1x2
                 /newtvshow.nfo
                 /newtvshow.jpg
tvshow/season 02/episode 2x1
tvshow/S1/oldtvshow.nfo

folder .deletedByTMM structure

tvshow/S1 (folder)
tvshow/S1/oldtvshow.jpg
tvshow/S2 (folder)
the file tvshow/S1/oldtvshow.nfo not deleted

not mover ir deleites nfo files and folder # #

How to send command with script

I want to setup my Radarr and TMM together where Radarr find a movie, renames it and sends it to my movies folder and then sends a command to TMM to scan the new files so it download trailers and subtitles. On a windows computer the command would be L:\TinyMediaManager\TinyMediaManagerCMD.exe -updateMovies -scrapeNew

How would I send that command with Docer on a Synology?

IllegalStateException java.lang.IllegalStateException: The file is locked: nio:data/movies.db [1.4.197/7]

Hi!

I am running your docker image on my Synology NAS and my main user case is to automate the renaming of files using the Task Scheduler (headless use).

After configuring TMM settings using the GUI, I have doubled checked that everything is working fine. Then I close the GUI and I run the following command via SSH:
sudo docker exec -ti tmm /config/tinyMediaManagerCMD.sh -updateMovies -scrapeAll -rename

I have managed to get it to work, but sometimes I get the following error message:
ERROR [headless] org.tinymediamanager.TinyMediaManager:361 - IllegalStateException
java.lang.IllegalStateException: The file is locked: nio:data/movies.db [1.4.197/7]

I have 2 TMM containers running on my system, and I make sure to stop them right after the renaming process has finished by using the following command via SSH:
sudo docker stop tmm

What am I missing here? I got it working before, but I am not sure what is root cause of the error message I posted above.

Thanks!

Possible to have several Media volumes?

Hi,
First, thanks for this excellent port of TMM to Docker! Works very well.
There is just one thing I was wondering about: is it possible to have several Media volumes accessible from within the docker container?
I tried to create symbolic links from the additional volumes to the main one declared in the docker-compose file and it was not recognized.

Trailer downloads no longer have audio

This is probably an issue with something that has changed with Youtube and the TMM program itself but I figured I would start here. For the past week or so, all trailers dowloaded in the app do not have audio. I have updated the app within the container to the newest version available.

Execute tmm through cli?

Buenos dias, Romancin.

First of all, amazing work with this.
I'm trying to create an image of tmm to use it through CLI but, at least for now, I don't know how to do it.
How could I modify your image to stop the GUI execution? I cannot run any CLI commands because the databases are used by the GUI.
I would like to run tmm in addition another scripts I have and I don't need the GUI anymore.

Thanks for your work and support.

Missing ARM64 Version

Can you make it possible? Please, please......
the amd64 version dont realy works on arm64/linux..

scrapper setting : prefered language

Hi romancin,

And thanks for this great tool which helps a lot

My question : is it possible to specify a prefered language for the scrapping part ?
In my case I have 2 separate directories, one in English, one in French...

Any advise welcome !

thks

java.lang.OutOfMemoryError: Java heap space

my library is quite big and now tmm doesn't work anymore. when starting the docker it shows the following error
java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3236) at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118) at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:253) at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:211) at com.sun.nio.zipfs.ZipFileSystem$EntryOutputStream.write(ZipFileSystem.java:1579) at java.nio.file.Files.copy(Files.java:2909) at java.nio.file.Files.copy(Files.java:3027) at java.nio.file.CopyMoveHelper.copyToForeignTarget(CopyMoveHelper.java:126) at java.nio.file.Files.copy(Files.java:1277) at org.tinymediamanager.core.Utils.lambda$createZip$1(Utils.java:1445) at org.tinymediamanager.core.Utils$$Lambda$22/1480476051.accept(Unknown Source) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.Iterator.forEachRemaining(Iterator.java:116) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) at org.tinymediamanager.core.Utils.createZip(Utils.java:1434) at org.tinymediamanager.core.Utils.createBackupFile(Utils.java:1158) at org.tinymediamanager.core.Utils.createBackupFile(Utils.java:1134) at org.tinymediamanager.TinyMediaManager$1.doStartupTasks(TinyMediaManager.java:450) at org.tinymediamanager.TinyMediaManager$1.run(TinyMediaManager.java:183) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709)

Black Screen when launching TMM after upgrading to v4

I can launch the included v3 and even update to v3.14? but as soon as I update to v4, I just get a black screen. I'm sure this is related to x somehow. I do install this on a vm with know x windows, but v3 seemed to work ok.

30/04/2021 09:55:03 GrabServer control via XTEST.

30/04/2021 09:55:03

30/04/2021 09:55:03 Scroll Detection: -scrollcopyrect mode is in effect to

30/04/2021 09:55:03 use RECORD extension to try to detect scrolling windows

30/04/2021 09:55:03 (induced by either user keystroke or mouse input).

30/04/2021 09:55:03 If this yields undesired behavior (poor response, painting

30/04/2021 09:55:03 errors, etc) it may be disabled via: '-noscr'

30/04/2021 09:55:03 Also see the -help entry for tuning parameters.

30/04/2021 09:55:03 You can press 3 Alt_L's (Left "Alt" key) in a row to

30/04/2021 09:55:03 repaint the screen, also see the -fixscreen option for

30/04/2021 09:55:03 periodic repaints.

30/04/2021 09:55:03

30/04/2021 09:55:03 XKEYBOARD: number of keysyms per keycode 7 is greater

30/04/2021 09:55:03 than 4 and 51 keysyms are mapped above 4.

30/04/2021 09:55:03 Automatically switching to -xkb mode.

30/04/2021 09:55:03 If this makes the key mapping worse you can

30/04/2021 09:55:03 disable it with the "-noxkb" option.

30/04/2021 09:55:03 Also, remember "-remap DEAD" for accenting characters.

30/04/2021 09:55:03

30/04/2021 09:55:03 X FBPM extension not supported.

Xlib: extension "DPMS" missing on display ":0".

30/04/2021 09:55:03 X display is not capable of DPMS.

30/04/2021 09:55:03 --------------------------------------------------------

30/04/2021 09:55:03

30/04/2021 09:55:03 Default visual ID: 0x21

30/04/2021 09:55:03 Read initial data from X display into framebuffer.

30/04/2021 09:55:03 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120

30/04/2021 09:55:03

30/04/2021 09:55:03 X display :0 is 32bpp depth=24 true color

30/04/2021 09:55:03

30/04/2021 09:55:03 Listening for VNC connections on TCP port 5900

30/04/2021 09:55:03 Listening for VNC connections on TCP6 port 5900

30/04/2021 09:55:03 listen6: bind: Address in use

30/04/2021 09:55:03 Not listening on IPv6 interface.

30/04/2021 09:55:03

30/04/2021 09:55:03 Xinerama is present and active (e.g. multi-head).

30/04/2021 09:55:03 Xinerama: number of sub-screens: 1

30/04/2021 09:55:03 Xinerama: no blackouts needed (only one sub-screen)

30/04/2021 09:55:03

30/04/2021 09:55:03 fb read rate: 439 MB/sec

30/04/2021 09:55:03 fast read: reset -wait ms to: 10

30/04/2021 09:55:03 fast read: reset -defer ms to: 10

30/04/2021 09:55:03 The X server says there are 10 mouse buttons.

30/04/2021 09:55:03 screen setup finished.

30/04/2021 09:55:03

The VNC desktop is: docker:0

0


Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster

retrieval. It should work with any VNC viewer. Try it by running:

x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.

More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

30/04/2021 09:55:05 Got connection from client 127.0.0.1

30/04/2021 09:55:05 other clients:

30/04/2021 09:55:05 Got 'ws' WebSockets handshake

30/04/2021 09:55:05 Got protocol: binary

30/04/2021 09:55:05 - webSocketsHandshake: using binary/raw encoding

30/04/2021 09:55:05 - WebSockets client version hybi-13

30/04/2021 09:55:05 Disabled X server key autorepeat.

30/04/2021 09:55:05 to force back on run: 'xset r on' (3 times)

30/04/2021 09:55:05 incr accepted_client=1 for 127.0.0.1:47922 sock=11

30/04/2021 09:55:05 Client Protocol Version 3.8

30/04/2021 09:55:05 Protocol version sent 3.8, using 3.8

30/04/2021 09:55:05 rfbProcessClientSecurityType: executing handler for type 1

30/04/2021 09:55:05 rfbProcessClientSecurityType: returning securityResult for client rfb version >= 3.8

30/04/2021 09:55:05 Pixel format for client 127.0.0.1:

30/04/2021 09:55:05 32 bpp, depth 24, little endian

30/04/2021 09:55:05 true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0

30/04/2021 09:55:05 no translation needed

30/04/2021 09:55:05 Enabling NewFBSize protocol extension for client 127.0.0.1

30/04/2021 09:55:05 Enabling full-color cursor updates for client 127.0.0.1

30/04/2021 09:55:05 Using image quality level 6 for client 127.0.0.1

30/04/2021 09:55:05 Using JPEG subsampling 0, Q79 for client 127.0.0.1

30/04/2021 09:55:05 Using compression level 9 for client 127.0.0.1

30/04/2021 09:55:05 Enabling LastRect protocol extension for client 127.0.0.1

30/04/2021 09:55:05 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0xFFFFFECC)

30/04/2021 09:55:05 Using tight encoding for client 127.0.0.1

[services.d] starting logmonitor...

[services.d] starting app...

[logmonitor] no file to monitor: disabling service...

[app] starting TinyMediaManager...

[services.d] done.

[tmmsupervisor] TinyMediaManager not started yet. Proceeding...

30/04/2021 09:55:06 client_set_net: 127.0.0.1 0.0001

30/04/2021 09:55:06 created xdamage object: 0x20002c

30/04/2021 09:55:07 copy_tiles: allocating first_line at size 41

30/04/2021 09:55:07 client 1 network rate 246.4 KB/sec (16758.2 eff KB/sec)

30/04/2021 09:55:07 client 1 latency: 2.7 ms

30/04/2021 09:55:07 dt1: 0.0109, dt2: 0.0339 dt3: 0.0027 bytes: 10730

30/04/2021 09:55:07 link_rate: LR_UNKNOWN - 2 ms, 246 KB/s

30/04/2021 09:55:15 created selwin: 0x20002d

30/04/2021 09:55:15 called initialize_xfixes()

Can't visit webui through tcp port after installing docker version latest-v4

Env: qnap 453Bmini
Using docker-compose

version: "2.1"
services:
  tinymediamanager:
    image: romancin/tinymediamanager:latest-v4
    container_name: tinymediamanager
    environment:
      - GROUP_ID=0
      - USER_ID=0
      - TZ=Asia/Shanghai
      - ENABLE_CJK_FONT=1 #support chinese gui
    volumes:
      - /share/CACHEDEV1_DATA/Container/tinymediamanager/config:/config
      - /share/CACHEDEV2_DATA/tmm:/media
    ports:
      - 5800:5800
    extra_hosts:
      - "api.themoviedb.org:52.85.61.40"
      - "image.themoviedb.org:104.16.61.155"
      - "image.tmdb.org:52.85.61.95"
      - "api.tmdb.org:52.85.61.101"
      - "api.thetvdb.com:54.239.200.102"
      - "www.themoviedb.org:52.85.61.101"
    restart: always

image

Logs:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.,
[s6-init] ensuring user provided files have correct perms...exited 0.,
[fix-attrs.d] applying ownership & permissions fixes...,
[fix-attrs.d] done.,
[cont-init.d] executing container initialization scripts...,
[cont-init.d] 00-app-niceness.sh: executing... ,
[cont-init.d] 00-app-niceness.sh: exited 0.,
[cont-init.d] 00-app-script.sh: executing... ,
[cont-init.d] 00-app-script.sh: exited 0.,
[cont-init.d] 00-app-user-map.sh: executing... ,
[cont-init.d] 00-app-user-map.sh: exited 0.,
[cont-init.d] 00-clean-logmonitor-states.sh: executing... ,
[cont-init.d] 00-clean-logmonitor-states.sh: exited 0.,
[cont-init.d] 00-clean-tmp-dir.sh: executing... ,
[cont-init.d] 00-clean-tmp-dir.sh: exited 0.,
[cont-init.d] 00-set-app-deps.sh: executing... ,
[cont-init.d] 00-set-app-deps.sh: exited 0.,
[cont-init.d] 00-set-home.sh: executing... ,
[cont-init.d] 00-set-home.sh: exited 0.,
[cont-init.d] 00-take-config-ownership.sh: executing... ,
[cont-init.d] 00-take-config-ownership.sh: exited 0.,
[cont-init.d] 00-xdg-runtime-dir.sh: executing... ,
[cont-init.d] 00-xdg-runtime-dir.sh: exited 0.,
[cont-init.d] 10-certs.sh: executing... ,
[cont-init.d] 10-certs.sh: exited 0.,
[cont-init.d] 10-cjk-font.sh: executing... ,
[cont-init.d] 10-cjk-font.sh: installing CJK font...,
[cont-init.d] 10-cjk-font.sh: fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz,

13/05/2021 23:18:10 passing arg to libvncserver: -rfbportv6

13/05/2021 23:18:10 passing arg to libvncserver: -1

13/05/2021 23:18:10 passing arg to libvncserver: -httpportv6

13/05/2021 23:18:10 passing arg to libvncserver: -1

13/05/2021 23:18:10 passing arg to libvncserver: -desktop

13/05/2021 23:18:10 passing arg to libvncserver: TinyMediaManager

13/05/2021 23:18:10 x11vnc version: 0.9.14 lastmod: 2015-11-14  pid: 767

The XKEYBOARD keymap compiler (xkbcomp) reports:

> Internal error:   Could not resolve keysym XF86FullScreen

Errors from xkbcomp are not fatal to the X server

13/05/2021 23:18:10 Using X display :0

13/05/2021 23:18:10 rootwin: 0x43 reswin: 0x200001 dpy: 0xa6ccfb00

13/05/2021 23:18:10 

13/05/2021 23:18:10 ------------------ USEFUL INFORMATION ------------------

13/05/2021 23:18:10 X DAMAGE available on display, using it for polling hints.

13/05/2021 23:18:10   To disable this behavior use: '-noxdamage'

13/05/2021 23:18:10 

13/05/2021 23:18:10   Most compositing window managers like 'compiz' or 'beryl'

13/05/2021 23:18:10   cause X DAMAGE to fail, and so you may not see any screen

13/05/2021 23:18:10   updates via VNC.  Either disable 'compiz' (recommended) or

13/05/2021 23:18:10   supply the x11vnc '-noxdamage' command line option.

13/05/2021 23:18:10 X COMPOSITE available on display, using it for window polling.

13/05/2021 23:18:10   To disable this behavior use: '-noxcomposite'

13/05/2021 23:18:10 

13/05/2021 23:18:10 Wireframing: -wireframe mode is in effect for window moves.

13/05/2021 23:18:10   If this yields undesired behavior (poor response, painting

13/05/2021 23:18:10   errors, etc) it may be disabled:

13/05/2021 23:18:10    - use '-nowf' to disable wireframing completely.

13/05/2021 23:18:10    - use '-nowcr' to disable the Copy Rectangle after the

13/05/2021 23:18:10      moved window is released in the new position.

13/05/2021 23:18:10   Also see the -help entry for tuning parameters.

13/05/2021 23:18:10   You can press 3 Alt_L's (Left "Alt" key) in a row to 

13/05/2021 23:18:10   repaint the screen, also see the -fixscreen option for

13/05/2021 23:18:10   periodic repaints.

13/05/2021 23:18:10 GrabServer control via XTEST.

13/05/2021 23:18:10 

13/05/2021 23:18:10 Scroll Detection: -scrollcopyrect mode is in effect to

13/05/2021 23:18:10   use RECORD extension to try to detect scrolling windows

13/05/2021 23:18:10   (induced by either user keystroke or mouse input).

13/05/2021 23:18:10   If this yields undesired behavior (poor response, painting

13/05/2021 23:18:10   errors, etc) it may be disabled via: '-noscr'

13/05/2021 23:18:10   Also see the -help entry for tuning parameters.

13/05/2021 23:18:10   You can press 3 Alt_L's (Left "Alt" key) in a row to 

13/05/2021 23:18:10   repaint the screen, also see the -fixscreen option for

13/05/2021 23:18:10   periodic repaints.

13/05/2021 23:18:10 

13/05/2021 23:18:10 XKEYBOARD: number of keysyms per keycode 7 is greater

13/05/2021 23:18:10   than 4 and 51 keysyms are mapped above 4.

13/05/2021 23:18:10   Automatically switching to -xkb mode.

13/05/2021 23:18:10   If this makes the key mapping worse you can

13/05/2021 23:18:10   disable it with the "-noxkb" option.

13/05/2021 23:18:10   Also, remember "-remap DEAD" for accenting characters.

13/05/2021 23:18:10 

13/05/2021 23:18:10 X FBPM extension not supported.

Xlib:  extension "DPMS" missing on display ":0".

13/05/2021 23:18:10 X display is not capable of DPMS.

13/05/2021 23:18:10 --------------------------------------------------------

13/05/2021 23:18:10 

13/05/2021 23:18:10 Default visual ID: 0x21

13/05/2021 23:18:10 Read initial data from X display into framebuffer.

13/05/2021 23:18:10 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120

13/05/2021 23:18:10 

13/05/2021 23:18:10 X display :0 is 32bpp depth=24 true color

13/05/2021 23:18:10 

13/05/2021 23:18:10 Listening for VNC connections on TCP port 5900

13/05/2021 23:18:10 

13/05/2021 23:18:10 Xinerama is present and active (e.g. multi-head).

13/05/2021 23:18:10 Xinerama: number of sub-screens: 1

13/05/2021 23:18:10 Xinerama: no blackouts needed (only one sub-screen)

13/05/2021 23:18:10 

13/05/2021 23:18:10 fb read rate: 761 MB/sec

13/05/2021 23:18:10 fast read: reset -wait  ms to: 10

13/05/2021 23:18:10 fast read: reset -defer ms to: 10

13/05/2021 23:18:10 The X server says there are 10 mouse buttons.

13/05/2021 23:18:10 screen setup finished.

13/05/2021 23:18:10 


The VNC desktop is:      1bcd20f20856:0
�      

0


******************************************************************************

Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?


The scheme stores pixel data offscreen on the VNC viewer side for faster

retrieval.  It should work with any VNC viewer.  Try it by running:


    x11vnc -ncache 10 ...


One can also add -ncache_cr for smooth 'copyrect' window motion.

More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching


s6-svwait: fatal: timed out

[services.d] starting logmonitor...

[services.d] starting openbox...

[logmonitor] no file to monitor: disabling service...

[openbox] starting...

[services.d] starting app...

[app] starting TinyMediaManager...

[tmmsupervisor] TinyMediaManager not started yet.  Proceeding...

[services.d] done.



When I visited http://192.168.3.2:5800/, it displayed a black screen and then failed.
Reinstall version tag: latest (which means latest v3) works fine.

Any ideas? Thanks!

Can't find libmediainfo

It's appear that the libmediainfo is not found on my systems.
Debian 9 x64
Docker manager throught openmediavault

2020-04-01 12:37:45,867 ERROR [main] o.t.thirdparty.MediaInfoUtils:108 - could not load MediaInfo!

2020-04-01 12:37:45,868 ERROR [main] o.t.thirdparty.MediaInfoUtils:110 - Please try do install the library from your distribution

2020-04-01 12:37:46,647 ERROR [main] org.tinymediamanager.core.TmmDateFormat:126 - could not load JNA: Could not initialize class com.sun.jn$

2020-04-01 12:37:48,233 ERROR [main] o.tinymediamanager.thirdparty.MediaInfo:630 - Failed to load mediainfo
What can i do to tell the image where is my libmediainfo.
/usr/lib/x86_64-linux-gnu/libmediainfo.so.0

/usr/lib/x86_64-linux-gnu/libmediainfo.so

/usr/lib/x86_64-linux-gnu/libmediainfo.so.0.0.0

Can this image be used on centos 7.6?

Hi,can this image be used on centos 7.6? I couldn't use the "ip:5800" to open the web-ui according to your installation guide. I wish to get your help.

Command line arguments not working....

It appears that Command line arguments don't work when called from either the host via the docker "exec" command or directly in a sh console....

https://www.tinymediamanager.org/blog/command-line-arguments/

I want to run tmm overnight without any user interaction...

The CLI commands need bash, which I added via "apk add bash".
They still would not run... :-( something else needs to be installed...

Would it be possible to upodate the container to allow the CLI to run?

Thanks

Update TMM to 3.1.10

can we get an upgrade to version 3.1.10? since 3.1.8 is throwing an java error in the artwork chooser since kyradb is no more.

nevermind the internal updater seems to work fine :)

Cannot access to VNC with internal network

When im deploying container with default setting I cannot connect to VNC (by client, and by web browser). Everything its ok when i connect container to network without NAT - than i can connect directly to VNC.

TMM v4 update

current TMMv4 release is 4.2.7, can you update your image please?

Quit the application

Is there a way to quit the application without shutdown the container?

My use case is:

  1. the container will be running 24/7, and the application is up by default
  2. in my automation:
docker exec -it tinymediamanager [quit_application.sh] && /config/tinyMediaManagerCMD.sh -updateMovies -scrapeNew && [start_application.sh]

Thanks.

Can't bind the WebUI to port 80 with Docker at unRAID in macvlan

I am using TMM Docker in my unRAID server.

I recently set-up TMM Docker to use macvlan with a specific ip. My goal was to be able to access it when inside my LAN with a simple internal DNS resolution, e.g: tmm.mydomain.com, instead of having to remember ports.

I tried to change the settings to use port 80, no matter what I do the WebUI is always at port 5800.

Here is the docker run command generated by the unRAID script.
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='tinymediamanager' --net='br0' --ip='10.123.234.160' -e TZ="Europe/Paris" -e HOST_OS="Unraid" -e 'USER_ID'='99' -e 'GROUP_ID'='100' -e 'UMASK'='000' -e 'TCP_PORT_5900'='5900' -e 'APP_NAME'='tinymediamanager' -e 'TCP_PORT_5900'='5900' -e 'DISPLAY_WIDTH'='1600' -e 'DISPLAY_HEIGHT'='800' -v '/mnt':'/media':'rw' -v '/mnt/user/appdata/tinymediamanager':'/config':'rw' -p '80:5800' -p '5900:5900' 'romancin/tinymediamanager'

The part -p '80:5800' -p '5900:5900' are passed to the script as extra arguments whereas the parts -e 'TCP_PORT_5900'='5900' -e 'TCP_PORT_5800'='5800' are passed by variables.

I even tried to run the Docker as a second instance manually and removing the 'TCP_PORT_5900'='5900' and 'TCP_PORT_5800'='5800' arguments and the same problem shows up, i.e: even passing only -e '80:5800' and -e '5900:5900' the WebUI is bond to port 5800.

Docker run command my 2nd instance:
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='tinymediamanager2' --net='br0' --ip='10.123.234.160' -e TZ="Europe/Paris" -e HOST_OS="Unraid" -e 'USER_ID'='99' -e 'GROUP_ID'='100' -e 'UMASK'='000' -e 'APP_NAME'='tinymediamanager2' -e 'DISPLAY_WIDTH'='1600' -e 'DISPLAY_HEIGHT'='800' -v '/mnt':'/media':'rw' -v '/mnt/user/appdata/tinymediamanager2':'/config':'rw' -p '80:5800' -p '5900:5900' 'romancin/tinymediamanager'

Any idea of what might be happening?

TMM can't find my files from the cloud

Hello, it is amazing to be able to use tinymediamanager with docker and from any device, thank you very much.
My problem is that I cannot get TMM to recognize the folder that I have mounted on my GDRIVE, instead plex yes, to see if you know why.

UI language

批注 2019-06-15 011247
no Chinese? The font family does not have enough fonts to display multiple languages.

Auto Sync with Trakt.tv

I am trying to get the enable the Automatic Sync with my Trakt account but I can't get the PIN code. All I get presented is the Input dialog to enter the PIN code provided at the Trakt website.

Is there something that I am missing?

Thank you very much!

I'm sorry I open an issue for it, I don't see any other way of posting a thank you; thank you very much!

I installed on Synology DSM 6.2, it works perfectly; thank you!

One suggestion: the command has:

-v /share/Container/tinymediamanager/config:/config \ -v /share/Container/tinymediamanager/media:/media \

As I am a noob on Docker I pasted that in the CLI: it gave an error:

docker: Error response from daemon: Bind mount failed: '/share/Container/tinymediamanager/media' does not exists.

Via the Docker GUI in DSM I tried /volume1/docker/tinymediamanager/config and /volume1/docker/tinymediamanager/media and it started.

Perhaps you could add this to the instructions.

EDIT: I do have a question: how do I add movies and TV-shows to TMM? It doesn't show /volume1/ when I browse for media?

EDIT: ANSWER: the /media switch in volumes is for that I discovered.

EDIT: NEW QUESTION: is there a way to make the screen more readable? Like maximized? Because currently it is not readable and see now way to expand the screen size to my native desktop full screen:

https://ibb.co/4RQmQgb

Thank you again!

Bye,

wget fails to get tmm

It seems the https connection fails because of tls v1:

/usr/bin/wget https://release.tinymediamanager.org/v3/dist/tmm_3.1.4_linux.tar.gz

--2020-04-05 15:52:06-- https://release.tinymediamanager.org/v3/dist/tmm_3.1.4_linux.tar.gz
Resolving release.tinymediamanager.org (release.tinymediamanager.org)... 35.185.44.232
Connecting to release.tinymediamanager.org (release.tinymediamanager.org)|35.185.44.232|:443... connected.
OpenSSL: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version
Unable to establish SSL connection.

Slow renaming speed

Hi,
I don,t know if is configuration issue or a bug, when renaming movies over a rclone mounted drive, renaming speed is exactly one file per minute.
In a big library this is a big issue

Best regards

Can’t bring the TMM to be working

Hi I’ve set up my unraid server and I would like to be able to use tmm like I did on windows but unfortunately I am not able to bring it to work.

The installation went without issues and I’ve set it up like you can see on the pictures but when I am trying to use I get an message that the site can‘t be opened.

64113460-5089-4C03-A928-FEF5CA71FF30

DA6A669D-6380-4139-9A0B-BD6366353109

I hope it is understandable.

Updating to V4 causes constant reboots

I updated to V4 via the app interface and now it just constantly reboots. Rolling back to V3 fixes the issue. Please update to work with V4.

Running Docker on a Synology DS918+

Arm version?

Hi,
This docker img work with arm systems?
raspb pi4 or seedboxes with libreelec

search input for other language

i cant change input method in search input
i have tried to use the 'Clipboard' in navibar, enter my words and click submit, then paste into the search input, it becomes unreadble codes.
if any ideas to fix it? thank you^_^

IllegalStateException java.lang.IllegalStateException: The file is locked: nio:data/movies.db [1.4.197/7]

Hi!

I am running your docker image on my Synology NAS and my main user case is to automate the renaming of files using the Task Scheduler (headless use).

After configuring TMM settings using the GUI, I have doubled checked that everything is working fine. Then I close the GUI and I run the following command via SSH:
sudo docker exec -ti tmm /config/tinyMediaManagerCMD.sh -updateMovies -scrapeAll -rename

I have managed to get it to work, but sometimes I get the following error message:
ERROR [headless] org.tinymediamanager.TinyMediaManager:361 - IllegalStateException
java.lang.IllegalStateException: The file is locked: nio:data/movies.db [1.4.197/7]

I have 2 TMM containers running on my system, and I make sure to stop them right after the renaming process has finished by using the following command via SSH:
sudo docker stop tmm

What am I missing here? I got it working before, but I am not sure what is root cause of the error message I posted above.

Thanks!

Error Code 1006 with iOS

Hi!

I can access un Tiny Media Manager en I use a Windows or Android decide, but when I use iOS device an error Code 1006 appears and I can't access

I test with iPhone and iPad, iOS13, iOS14, Safari, firefox and Chrome.

By the day, I use traefik as a reverse proxy.

Muy docker-compose file is:

version: "3.8"
services:
tinymediamanager:
image: romancin/tinymediamanager:latest
container_name: tinymediamanager
restart: unless-stopped
volumes:
- /opt/tinymediamanager/config:/config
- /media/plexdrive/Video:/media
- /media/plexdrive/TinyMediaManager:/tinymediamanager
environment:
- TZ=Europe/Madrid
# CONFIGURACION TRAEFIK PARA ESTE CONTENEDOR:
labels:
- "traefik.enable=true"
- "traefik.http.routers.tinymediamanager.entrypoints=websecure"
- "traefik.http.routers.tinymediamanager.rule=Host(tinymediamanager.mydominio.net)"
- "traefik.http.routers.tinymediamanager.tls.certresolver=lets-encr"
- "traefik.http.routers.tinymediamanager.middlewares=auth-tinymediamanager"
- "traefik.http.middlewares.auth-tinymediamanager.basicauth.usersfile=/users_credentials"

networks:
default:
external:
name: traefik_networkd

Thanks a lot!

install cjk-font error

[cont-init.d] 10-cjk-font.sh: executing...
[cont-init.d] 10-cjk-font.sh: installing CJK font...
[cont-init.d] 10-cjk-font.sh: fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
[cont-init.d] 10-cjk-font.sh: ERROR: FDB format error (line 34365)
[cont-init.d] 10-cjk-font.sh: fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
[cont-init.d] 10-cjk-font.sh: fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
[cont-init.d] 10-cjk-font.sh: ERROR: unable to select packages:
[cont-init.d] 10-cjk-font.sh: wqy-zenhei (no such package):
[cont-init.d] 10-cjk-font.sh: required by: world[wqy-zenhei]
[cont-init.d] 10-cjk-font.sh: exited 0.

Fresh install is broken

When I start up the docker container for the first time I get an error in /config/logs/output.log that getdown.jar cannot be found. Looks like the 2.9.17.1 version of tinyMediaManager has changed the location of its files from previous version.

Nothing in Media Folder

My media files are all located in my QNAP Nas /Multi-player and I have map this address to /media and another address to /config. But when I open the software and add media folder, I cannot see any folder in /Media, also cannot scan anything. But I can see folders in /config.
The strange thing is, if I cut all the media files into QNAP address /Pictures and make new copy of docker, all the files can be seen and scanned. I've tried several folders and /Pictures is the only folder can be scanned. I also tried to create a new folder for media but nothing help. All settings and authority of /Pictures and other address seem to be the same.
Is there any idea to solve the problem?

not working anymore with newest tmm version

Hello,
I updated from 4.2.3 to the newest version of tinymediamanager 4.2.4 a moment ago and the container dont start anymore... please help (edit: i got it reversed to the old version and can use it again, but updating does not work anymore, until 4.2.3 it worked without problems) please fix.
Greetings

UID and GID are set but downloaded artwork is owned by root

I am using the automation script. The tool is working fine but all of the artwork is owned by root which is causing issues in my setup.

Below is the docker command I'm running

docker run --rm --name=tinymediamanagerscript -v /volume1/docker/tinymediamanager:/config -v /volume1/Media/Movies:/movies -v "/volume1/Media/TV Shows":/tv -e GROUP_ID=100 -e USER_ID=1031 -e TZ=America/Detroit romancin/tinymediamanager:develop /config/tinyMediaManagerCMD.sh -update -scrapeNew

Thanks for the help

unable to use 3.1.10, always downloading 3.1.6

After using

docker run -d --name=tinymediamanager \
-v /share/Container/tinymediamanager/config:/config \
-v /share/Container/tinymediamanager/media:/media \
-e GROUP_ID=0 -e USER_ID=0 -e TZ=Europe/Madrid \
-p 5800:5800 \
-p 5900:5900 \
romancin/tinymediamanager:latest

I'm always getting tmm version 3.1.6. How do I force 3.1.10?

I have deleted all the images from tmm on my system, but suspect that maybe there is some dependency not completed on the docker website. Any help is appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.