Xibo Docker v2.0.3 - Issues with installation

Hello…
I’m testing Xibo on a Windows 7 machine to see if we can get something working properly for multiple displays.

Used the following instructions when installing Xibo:
https://xibo.org.uk/docs/setup/xibo-for-docker-on-windows-64bit-other-than-windows-10

But I’m having many issues with Xibo. Here’s the Docker information:
$ docker version
Client:
Version: 18.09.3
API version: 1.39
Go version: go1.12
Git commit: 774a1f4eee
Built: Mon Mar 4 10:36:44 2019
OS/Arch: windows/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 2d0083d
Built: Thu Jun 27 18:01:17 2019
OS/Arch: linux/amd64
Experimental: false

  1. When restarting my host machine or Docker, the Xibo containers don’t autostart. I can’t find anything in the docs to configure this so they start automatically.

  2. I have a Portainer container installed and it restarts and runs every time I restart docker; persistant information is kept. But when I restart Xibo, everything I’ve done previously is GONE; it acts like a fresh installation. All users are gone, all previously created layouts are gone and the tutorial pop-up opens.

When I installed Xibo, I created a C:\Users\Xibo folder and placed the un-zipped Xibo download files here. Edited the config.env file and ran docker-compose from within this folder; three docker containers were created and started. But nowhere do I see anything other than this folder for Xibo on the host machine. So, where is the “shared/backup/db/latest.tar.gz” backup as described in the “Uninstalling / removing” section of the installation docs above?

  1. When I edit a layout in any browser other than IE 11 (tried latest versions of Opera, Chrome, Firefox), the font-size, color, etc. drop-downs do not work when you’re in full screen mode.

  2. No matter the browser, when NOT in full screen mode, you can’t save your changes; there isn’t a save icon as when it’s displayed in full screen mode. How do you save your changes without going into full screen mode.

  3. Using IE 11, when visiting the left-side menu for Displays, it doesn’t list any of the displays; all other browsers do.

  4. Using IE 11, it shows a notification which states “Language en_US could not be loaded”. No other browser shows this notification or that there is a notification.

  5. When starting the Windows player, it is showing an OLD layout which is from yesterday’s testing; it’s not updating even though the server layout is different. Even the Windows display profile shows collect interval is set to 1 minute. This occurs even if I stop and restart the player, watchdog, or the host system.

  6. The player restarts even after closing it and the watchdog. When it starts playing again, watchdog will re-start as well. When I check task manager, it’ll show that both the player and the watchdog processes are running. Once I kill these two processes, the player no longer starts automatically.

Thank you for your time and attention.

Another issue I’ve found with the Timezone, there isn’t a listing for (US East Coast) EST/DST; normally America, New York on Linux Systems.

Because of day light savings, time changes twice a year. Which option should those on the east coast select so that the time change is reflected by the Xibo server?

When I show the Docker virtual (Virtualbox) and do a “find / -name Xibo” from the prompt, find shows a couple locations as ‘/c/users/Xibo/shared/cms/’ and '/c/users/Xibo/shared/db/’ but this location doesn’t exist on the host machine. Any ideas?

UPDATE: So looking at the .yml files, realized that there were mappings of local folders to those in the docker container. Ended up creating a shared folder within the /Users/Xibo folder.

When I ran the docker-compose command, the subfolders of shared were created and it looks like it installed properly; sort of.

But now once this has occurred, listing the running containers I see that the mysql 5.6 container didn’t start and it’s showing a status of Exited (141) 3 minutes ago.

If I attempt to start the mysql container, nothing happens on the screen and it shows its status as Exited (1).

The Portainer logs show the following:
2019-07-17 18:23:49 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).,
2019-07-17 18:23:49 0 [Note] mysqld (mysqld 5.6.44) starting as process 1 …,
2019-07-17 18:23:49 1 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive,
2019-07-17 18:23:49 1 [Note] Plugin ‘FEDERATED’ is disabled.,mysqld: Table ‘mysql.plugin’ doesn’t exist,
2019-07-17 18:23:49 1 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.,
2019-07-17 18:23:49 1 [Note] InnoDB: Using atomics to ref count buffer pool pages,
2019-07-17 18:23:49 1 [Note] InnoDB: The InnoDB memory heap is disabled,
2019-07-17 18:23:49 1 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins,
2019-07-17 18:23:49 1 [Note] InnoDB: Memory barrier is not used,
2019-07-17 18:23:49 1 [Note] InnoDB: Compressed tables use zlib 1.2.11,
2019-07-17 18:23:49 1 [Note] InnoDB: Using Linux native AIO,
2019-07-17 18:23:49 1 [Note] InnoDB: Using CPU crc32 instructions,
2019-07-17 18:23:49 1 [Note] InnoDB: Initializing buffer pool, size = 128.0M,
2019-07-17 18:23:49 1 [Note] InnoDB: Completed initialization of buffer pool,
2019-07-17 18:23:49 1 [Note] InnoDB: Restoring page 0 of tablespace 0,
2019-07-17 18:23:49 1 [Warning] InnoDB: Doublewrite does not have page_no=0 of space: 0,
2019-07-17 18:23:49 1 [ERROR] InnoDB: space header page consists of zero bytes in data file ./ibdata1,
2019-07-17 18:23:49 1 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!,
2019-07-17 18:23:49 1 [ERROR] Plugin ‘InnoDB’ init function returned error.,
2019-07-17 18:23:49 1 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.,
2019-07-17 18:23:49 1 [ERROR] Unknown/unsupported storage engine: InnoDB,
2019-07-17 18:23:49 1 [ERROR] Aborting,
2019-07-17 18:23:49 1 [Note] Binlog end,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘partition’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘PERFORMANCE_SCHEMA’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_DATAFILES’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_TABLESPACES’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_FOREIGN_COLS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_FOREIGN’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_FIELDS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_COLUMNS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_INDEXES’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_TABLESTATS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_SYS_TABLES’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_FT_INDEX_TABLE’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_FT_INDEX_CACHE’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_FT_CONFIG’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_FT_BEING_DELETED’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_FT_DELETED’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_FT_DEFAULT_STOPWORD’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_METRICS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_BUFFER_POOL_STATS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_BUFFER_PAGE_LRU’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_BUFFER_PAGE’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_CMP_PER_INDEX_RESET’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_CMP_PER_INDEX’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_CMPMEM_RESET’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_CMPMEM’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_CMP_RESET’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_CMP’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_LOCK_WAITS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_LOCKS’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘INNODB_TRX’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘BLACKHOLE’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘ARCHIVE’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘MRG_MYISAM’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘MyISAM’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘MEMORY’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘CSV’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘sha256_password’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘mysql_old_password’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘mysql_native_password’,
2019-07-17 18:23:49 1 [Note] Shutting down plugin ‘binlog’,
2019-07-17 18:23:49 1 [Note] mysqld: Shutdown complete,

Discovered that the “shared” folder needs to be created within the directory that has the Xibo files stored within; something not covered in the installation docs.

So now, the folder are being created, but the mysql container isn’t starting and erroring out. When I look at the logs for the container, they show:

$ docker logs xibo_cms-db_1
Initializing database
2019-07-17 19:30:35 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details)
.
2019-07-17 19:30:35 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2019-07-17 19:30:35 0 [Note] /usr/sbin/mysqld (mysqld 5.6.44) starting as process 33 …
2019-07-17 19:30:35 33 [Note] InnoDB: Using atomics to ref count buffer pool pages
2019-07-17 19:30:35 33 [Note] InnoDB: The InnoDB memory heap is disabled
2019-07-17 19:30:35 33 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-07-17 19:30:35 33 [Note] InnoDB: Memory barrier is not used
2019-07-17 19:30:35 33 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-07-17 19:30:35 33 [Note] InnoDB: Using Linux native AIO
2019-07-17 19:30:35 33 [Note] InnoDB: Using CPU crc32 instructions
2019-07-17 19:30:35 33 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2019-07-17 19:30:35 33 [Note] InnoDB: Completed initialization of buffer pool
2019-07-17 19:30:35 33 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2019-07-17 19:30:35 33 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2019-07-17 19:30:35 33 [Note] InnoDB: Database physically writes the file full: wait…
2019-07-17 19:30:35 33 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2019-07-17 19:30:35 33 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2019-07-17 19:30:35 7fa74d0da040 InnoDB: Operating system error number 22 in a file operation.
InnoDB: Error number 22 means ‘Invalid argument’.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
2019-07-17 19:30:35 33 [ERROR] InnoDB: File ./ib_logfile101: ‘aio write’ returned OS error 122. Cannot continue operation

If I start the container, I get the following eror:
2019-07-17 19:36:03 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-07-17 19:36:03 0 [Note] mysqld (mysqld 5.6.44) starting as process 1 …
2019-07-17 19:36:03 1 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2019-07-17 19:36:03 1 [Note] Plugin ‘FEDERATED’ is disabled.
mysqld: Table ‘mysql.plugin’ doesn’t exist
2019-07-17 19:36:03 1 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
2019-07-17 19:36:03 1 [Note] InnoDB: Using atomics to ref count buffer pool pages
2019-07-17 19:36:03 1 [Note] InnoDB: The InnoDB memory heap is disabled
2019-07-17 19:36:03 1 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-07-17 19:36:03 1 [Note] InnoDB: Memory barrier is not used
2019-07-17 19:36:03 1 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-07-17 19:36:03 1 [Note] InnoDB: Using Linux native AIO
2019-07-17 19:36:03 1 [Note] InnoDB: Using CPU crc32 instructions
2019-07-17 19:36:03 1 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2019-07-17 19:36:03 1 [Note] InnoDB: Completed initialization of buffer pool
2019-07-17 19:36:03 1 [Note] InnoDB: Restoring page 0 of tablespace 0
2019-07-17 19:36:03 1 [Warning] InnoDB: Doublewrite does not have page_no=0 of space: 0
2019-07-17 19:36:03 1 [ERROR] InnoDB: space header page consists of zero bytes in data file ./ibdata1
2019-07-17 19:36:03 1 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2019-07-17 19:36:03 1 [ERROR] Plugin ‘InnoDB’ init function returned error.
2019-07-17 19:36:03 1 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2019-07-17 19:36:03 1 [ERROR] Unknown/unsupported storage engine: InnoDB
2019-07-17 19:36:03 1 [ERROR] Aborting

2019-07-17 19:36:03 1 [Note] Binlog end
2019-07-17 19:36:03 1 [Note] Shutting down plugin ‘%name%’ – 39 plug-ins
2019-07-17 19:36:03 1 [Note] mysqld: Shutdown complete

Could you confirm that you installed Docker Toolbox as you are using Windows 7.

The shared folder should be in the Xibo folder that you created for their CMS install as explained here:


We would advise that you complete the installation again ensuring that you have installed the correct version of Docker and ensuring that a shared folder has been created inside your installation folder, following the instructions in the Installation Guide.

If after repeating the installation you are still experiencing issues then please do get back to us.

Thank you

When restarting my host machine or Docker, the Xibo containers don’t autostart. I can’t find anything in the docs to configure this so they start automatically.
UPDATE: Found the “restart: always” entry and added to docker-compose. Xibo is restarted after docker restart. Not an issue.

When I restart Xibo, everything I’ve done previously is GONE; it acts like a fresh installation. All users are gone, all previously created layouts are gone and the tutorial pop-up opens.
UPDATE: Prior to adding the “command: --innodb_use_native_aio=0” within docker-compose.yml, there were files being created within the shared/db folder, but the mysql container wouldn’t start and error out.

Now, nothing is being created in these folders and after every restart, its a fresh Xibo installation again.

NOTE: Found this post (HERE) and this resolved it; UGH. Forgot about the “C:\Users” and “c:\users” being different in the Linux/Unix world. Upon running the installation within the /C/Users/Xibo folder, db files are being created and everything seems to be working properly.

When I edit a layout in any browser other than IE 11 (tried latest versions of Opera, Chrome, Firefox), the font-size, color, etc. drop-downs do not work when you’re in full screen mode.
UPDATE: Confirmed with Edge and now with IE 11, this still occurs; there isn’t a way to change the font settings in full-screen edit mode in all browsers.

No matter the browser, when NOT in full screen mode, you can’t save your changes; there isn’t a save icon as when it’s displayed in full screen mode. How do you save your changes without going into full screen mode.
UPDATE: The save button in the right pane saves your changes. Not an issue.

Using IE 11, when visiting the left-side menu for Displays, it doesn’t list any of the displays; all other browsers do.
UPDATE: This still occurs. Confirmed that 'displays" are displayed when viewing within Edge.

Using IE 11, it shows a notification which states “Your requested language en_US could not be loaded”. No other browser shows this notification or that there is a notification.
UPDATE: This still occurs. Confirmed that within Edge and IE 11, the notification is displayed. Other browsers, still no display of notifications.

The MySQL container we use in the docker-compose.yml file is the standard MySQL container provided by the vendor and not something we’ve rolled ourselves. If you’re having trouble with that container (as well as the Xibo ones) then there is almost certainly a problem with the way you have that configured.

Standard MySQL container block:

cms-db:
        image: mysql:5.6
        volumes:
            - "./shared/db:/var/lib/mysql"
        environment:
            - MYSQL_DATABASE=cms
            - MYSQL_USER=cms
            - MYSQL_RANDOM_ROOT_PASSWORD=yes
        mem_limit: 1g
        env_file: config.env

My guess would be that Docker for Windows doesn’t recognise the path expressed in that way, but this is just a guess.

I cannot, hand on heart, recommend Docker for Windows (or windows in general) for a server application like this - but that is just my opinion. We’ve used Docker specifically to abstract away any OS related issues with the software - but of course you do need to get Docker working properly, which is not something we’re expert in.

That being said there are a bunch of other posts that the team and the community at large have answered with regards to Docker on Windows, so you might want to give that a bit of a search.


Regarding your other questions - if you find something specific that doesn’t work, which you think should work, and there isn’t anything else on the community about it already, please do feel free to open up a new topic for it.

The community are a helpful bunch and you will usually get some advice on a topic which covers a single subject.

Xibo doesn’t support en_US and IE11 is requesting it. You can disable browser language detection in the Xibo Settings, under regional and “Detect Language”.

Thank you for everyone’s assistance. I believe all issues I was having have been resolved or it’s a browser issue. If others are having the same issues, this is what I did to resolve this issues I was having.

1) When restarting my host machine or Docker, the Xibo containers don’t autostart.
A: Within the “cms_remote-mysql.yml” you’ll see three lines which states “restart: always” for each service; these aren’t entered in the default “docker-compose.yml” file. Add this line to each of your services within your docker-compose.yml file to enable auto-restart.

2) Persistent Xibo data is gone after Docker or Host system is restarted; Windows 7 Docker.
A: First issue was that within the installation documentation, I missed creating a “shared” folder within the directory you have the Docker Xibo files. When you run “docker-compose up -d” the needed files are copied to this shared folder; ensure it’s created prior to the installation of Xibo.

The other issue I had was “C:\Users\Xibo” and “c:\users\xibo” are different in the Docker world; Windows doesn’t care about the case. The later folder structure ("/c/users/xibo") was what I was running “docker-compose up -d” from originally. So the sub-folders within the “shared” folder weren’t being created. Once I ran the installation from “/C/Users/Xibo”, everything installed properly.

I also had an issue with an error with the mysql container installation (Operating system error 22). Installation would fail and it wouldn’t start when trying to manually start the container. Adding “command: --innodb_use_native_aio=0” as the last option for the cms-db service within the “docker-compose.yml” file resolved this issue.

3) When editing a text region after toggling to full-screen mode, the font-size, style, and color drop-downs no longer work.
A: Found that after checking out the layout you want to edit, from the Preview Window toggle the full-screen mode. Then edit the text region you want and the drop-downs will work properly in full-screen mode.

Even selecting the text within the Layout Timeline followed by toggling the full-screen mode from the Preview Windows works well too.

For me, the options area covers part of the save icon, but I can still click on it to save my changes. Maybe an update to allow the options menu bar to be movable in the upper area would suffice.

4) Using IE 11, when visiting the left-side menu for Displays, it doesn’t list any of the displays.
A: All other browsers didn’t have this issue; including Edge. Issue resolved, don’t use IE 11.

5)Using IE 11 and Edge, it shows a notification which states “Language en_US could not be loaded”.
A: No other browser shows this notification or that there is a notification. Confirmed in this forum post the en_US does not exist. Setting can be changed in the server settings: Settings->Regional->Uncheck “Detect Language?”

6) When starting the Xibo Windows player, it is showing an OLD layout which is from yesterday’s testing; it’s not updating even though the server layout is different.
A: The background images are stored in the backgrounds folder located in the folder you specified in the “Local Library” settings for the Player Options.

Ensure the Player isn’t running (also check to see if its process is running too within task manager), go to the folder location and delete any .JPG files stored there; they’re stored as 1920x1080_19.jpg, 1920x1080_20.jpg, 1920x1080_21.jpg, etc. Restart the player and it’ll re-download the proper backgrounds.

7) The player restarts even after closing it and the watchdog.
A: When this occurs, I’ve noticed that the XboClientWatchdog.exe32 and XboClient.exe32 processes sometimes continue running (seen within Task Manager) even after shutting down the windows player and exiting watchdog.

The player will begin playing out of the blue and the watchdog icon will appear in the taskbar once again. Killing the processes from within the Task Manager resolves this.

I’ve also noticed the XboClient.exe*32 process will continue running after shutting both the player and watchdog down. When this is the case, the player doesn’t appear to restart out of the blue and I still close this process from within Task Manager.

Hope this will help others if they run into the same issues.