Need guidance with install

Hello,
I am trying to install Xibo in test environment for now and need some help.
My environment:
RHEL 7.6
Docker version: 18.09.5
MySQL: mysql-community-server-5.7 – Note, MySQL is running on a different machine and it is not a container.

Here is what I did:

On MySQL:
Created database cms – did not create any tables
Created user cms (set password) and did grant all privileges to database cms

From machine running docker; using mysql client, I can connect:

$ mysql -u cms -p -h <DB_Host> 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 198
Server version: 5.7.25 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cms                |
+--------------------+
2 rows in set (0.00 sec)

mysql> use cms;
Database changed

mysql> show tables;
Empty set (0.00 sec)

mysql> 

On machine running docker:

docker pull xibosignage/xibo-xmr
docker pull xibosignage/xibo-cms

docker run --name xibo-cms-xmr -p 9505:9505 -d xibosignage/xibo-xmr

docker run --name xibo-cms-web -p 80:80 \
		-e XMR_HOST=xibo-cms-xmr \
		-e CMS_SMTP_SERVER=<SMTP_SERVER>:25 \
		-e CMS_SMTP_USE_TLS=NO \
		-e CMS_SMTP_USE_STARTTLS=NO \
		-e CMS_SMTP_REWRITE_DOMAIN=<REWRITE_DOMAIN> \
		-e CMS_SMTP_HOSTNAME=<SMTP_HOSTNAME> \
		-e CMS_SMTP_FROM_LINE_OVERRIDE=cms-DoNotReply@<EMAIL_DOMAIN> \
		-e CMS_DATABASE_PASSWORD=<MySQLPass> \
		-e CMS_DATABASE_HOST=<MYSQL_Host_IP> \
		-e CMS_DATABASE_PORT=3306 \
		-e CMS_DATABASE_USERNAME=cms \
		-e CMS_DATABASE_NAME=cms \
		-d -v /mnt/xibo/cms/custom:/var/www/cms/custom -v /mnt/xibo/backup:/var/www/backup -v /mnt/xib/cms/web/theme/custom:/var/www/cms/web/theme/custom \
		-v /mnt/xibo/cms/library:/var/www/cms/library -v /mnt/xibo/cms/web/userscripts:/var/www/cms/web/userscripts \
		--link xibo-cms-xmr:50001 xibosignage/xibo-cms

Both of the containers get started. When I look at logs for “xibo-cms-xmr”; it does not have anything.
For “xibo-cms-web”, I see:

Waiting for MySQL to start - max 300 seconds
MySQL started
Updating settings.php
ERROR 2002 (HY000): Can't connect to MySQL server on 'mysql' (115)
New install
Provisioning Database
ERROR 2002 (HY000): Can't connect to MySQL server on 'mysql' (115)
Phinx by CakePHP - https://phinx.org. 0.9.2

using config file .varwwwcmsphinx.php
using config parser php
using migration paths 
 - /var/www/cms/db/migrations
warning no environment specified, defaulting to: production
using adapter mysql
using database cms

                                                                               
  [InvalidArgumentException]                                                   
  There was a problem connecting to the database: SQLSTATE[HY000] [2002] Oper  
  ation timed out                                                              
                                                                               

migrate [-c|--configuration CONFIGURATION] [-p|--parser PARSER] [-e|--environment ENVIRONMENT] [-t|--target TARGET] [-d|--date DATE] [-x|--dry-run]

Configuring Database Settings
ERROR 2002 (HY000): Can't connect to MySQL server on 'mysql' (115)

One thing that looks odd to me is the error line has ‘mysql’ instead of the MySQL hostname specified in “CMS_DATABASE_HOST” variable.
For In the directory /mnt/xibo, I do see directories of “cms” and “backup” that got created.

At this poing I am not sure where to go from here? Any guidance/pointers will be greatly helpful.

Thank you!

So, tried few things:

  • Clean start:
    • Removed all docker containers
    • Removed all docker images

Downloaded xibo-xmr from here: Xibo Digital Signage · GitHub

  • unzipped the file; then reviewed Dockerfile, then did the build:
    docker build -t xibo-cms-xmr:1 -f Dockerfile .

  • Now run:
    docker run --name xibo-cms-xmr -p 9505:9505 -p 50001:50001 -d xibo-cms-xmr:1

It started; and no errors in logs.

Downloaded xibo-cms from here: Xibo Digital Signage · GitHub

  • unzipped the file; then reviewed Dockerfile, then did the build:
    docker build -t xibo-cms-web:1 -f Dockerfile .

  • Now run:
    docker run --name xibo-cms-web -p 80:80 -d xibo-cms-web:1

This time, I see that database tables were created! Hurray!

Now, when I go to the URL, I get this:
XIBO-WEB

Only Error I see in logs is:

ERROR 1146 (42S02) at line 1: Table ‘cms.setting’ doesn’t exist

Can someone help me with this?

Thank you!

Here is output of: docker logs -f xibo-cms-web

Waiting for MySQL to start - max 300 seconds
MySQL started
Updating settings.php
ERROR 1146 (42S02) at line 1: Table 'cms.setting' doesn't exist
New install
Provisioning Database
Phinx by CakePHP - https://phinx.org. 0.9.2

using config file .varwwwcmsphinx.php
using config parser php
using migration paths 
 - /var/www/cms/db/migrations
warning no environment specified, defaulting to: production
using adapter mysql
using database cms

 == 20180130073838 InstallMigration: migrating

                                                                               
  [PDOException]                                                               
  SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'title' at row 38                                                          
                                                                               

migrate [-c|--configuration CONFIGURATION] [-p|--parser PARSER] [-e|--environment ENVIRONMENT] [-t|--target TARGET] [-d|--date DATE] [-x|--dry-run]

Configuring Database Settings
Setting up Maintenance
Protected Maintenance
Importing ca-certs
cp: can't stat '/var/www/cms/ca-certs/*.pem': No such file or directory
cp: can't stat '/var/www/cms/ca-certs/*.crt': No such file or directory
WARNING: ca-certificates.crt does not contain exactly one certificate or CRL: skipping
Configuring Maintenance
Removing web/install/index.php from production container
Starting cron
Starting webserver
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using <IP Addr>. Set the 'ServerName' directive globally to suppress this message

MySQL 5.7 won’t work at the moment. There’s two or three different bugs logged about it. It should be supported in 2.0.2, or you can turn strict mode off in your MySQL configuration.

Alternatively, use the docker-compose files we ship which provide their own local MySQL service which will work as expected for you.

Thank you Alex for the reply.
To test with MySQL 5.6; I removed all containers and images
I re-provisioned the host with mysql 5.6 (on RHEL 7.6); created cms user and database.
Re-built containers with same steps from post#2 in this thread.
Seeing same behaviour; database tables get created, but when I go to URL, I have exact same
message (from post#2) about “The CMS is temporarily off-line as an upgrade is in progress…”
I enabled error reporting in index.php page with:

error_reporting(E_ALL);                                                    
ini_set('display_errors', 1); 

And, I am seeing this error:

Fatal Error - sorry this shouldn't happen. date_default_timezone_set(): Timezone ID '' is invalid

Looking at the time in container, it is correct; it is set to UTC, but time appears to be correct.
Any ideas?

So, I just tried with version 1.8.13 and it worked!
Same environment:
RHEL 7.6
MySQL 5.6 (on different host); also running on RHEL 7.6

Any ideas on when 2.0.2 will be production ready? Main reason for this is for MySQL 5.7

Thank you!