Synology DSM6+ - Xibo Docker 1.8+ Installation

Yeah, thanks I got it updated, pretty straight forward. Still not sure where the “config.env” file is located, but didn’t matter. Thanks

First, thank you for the guide. I was successful getting this to run on my Synology 1513+ running DSM 6.1.7-15284. After about a month and a recent DSM update we rebooted the server and now we cannot connect to the Xibo admin page. When attempting to go to the site we get a 502 bad gateway error message. I did a little more digging and found these error messages in the logs.

2018/05/29 07:58:21 [error] 23024#23024: *3631 peer closed connection in SSL handshake (104: Connection reset by peer) while SSL handshaking to upstream, client: 172.31.4.75, server: us3grrptc028d, request: “POST /xmds.php?v=5 HTTP/1.1”, upstream: “https://127.0.0.1:8888/xmds.php?v=5”, host: “us3grrptc028d”

Can you please help?

All I can tell you based on that is the proxy configuration is the issue. Maybe using ip instead of domain name?

Ok, I did a little more digging, and I am wondering a few things.

-What version of DSM is now installed?
-Is PHP5.6 still being used, or did it get replaced by PHP7?
-Are the ports for the firewall still open?
-Is the reverse proxy still intact?
-Did the containers start without errors?
-Where any system passwords changed?

So far I am aiming for the reserve proxy getting messed up, or PHP7 now being used.

DSM went from DSM 6.1.6-15266 Update 1 to DSM 6.1.7-15284.

Still running PHP 5.6

Firewall is turned off, this server is behind a corporate firewall and not allowed inbound access.

Reverse proxy remains unchanged.

Containers are running normally, no errors.

No passwords changed, I am admin.

It has to be an issue in the reverse proxy. I am hoping by now you got it figured out.

Hello!
thanks for the great tutorial @cslaughter.
i tried to install xibo in docker! when i start mysql (5.7.22) then everytime i get the message: Docker-Container: cms-db stopped. if i open the protocol it shows the following picture:


Can someone help me?
I’ve tried the routine several times but it is always the same problem!?
Thanks for any replies.

The error shows that it could not create the database because it already exist. I hate to say it, but you need to wipe out the containers and start again. I know, that isn’t fun, but that should fix your issue

NOTE: If at any point you make a configuration error or want to make a change to either the cms-web or cms-db containers, it is best to delete the containers and start new. (Unless you have previous data. Always backup before anything) Also make sure to remove all files from the database folder before creating a new cms-db container, or you will need to start again.

Hi and thands for the fast reply.
OK. is it a problem if i have installed the php package in the DSM?
Is there a conflict?
greetz

Should not be a problem, as I also have PHP installed.

OK!
So. i deleted every Container, unsinstalled docker.
New(re) install docker.
download: mysql 5.7.18, xibo-cms:release-1.8.9, sivo-xmr:latest.
done with vontainer cms-xmr!
then i configured the container for cms-db.
start aaannnndddd - tadaaaa, same problem.
try to find out the error:
starting putty via ssh conect to synology. and i found out, there is adirectory /var and the next /var/lib too, but there ist no directory /var/lib/mysql

i don’t understand my error!
can someone help me?
thanks
michael

here is what the protocol says:

Initializing database

mysqld: Can’t create directory ‘/var/lib/mysql/’ (Errcode: 17 - File exists)

2018-06-11T20:46:14.788278Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2018-06-11T20:46:14.792952Z 0 [ERROR] Aborting

Milo_r,

Sorry I was on a short vacation.

Looks like you traced the problem back to missing the “mysql” folder, and it not being generated.

In the Docker control panel, on the cms-db container, when you go to volume, does it look like this?

Possible reasons you are missing the “mysql” folder is the “Mount Path” was not set correctly, or that the username and password for SQL have not been setup. I came from an existing database, so I did not need to configure the database Administrator username and password. This article might be helpful.

I think though the SQL Container on the first run sets the all the connection information that it has been supplied with. You did set the “MYSQL_ROOT_PASSWORD”, “MYSQL_PASSWORD”, “MYSQL_DATABASE”, and “MYSQL_USER” before allowing the container to start? If not, then try setting those and see if a folder and database are created then.

Hello @cslaughter!

Everything works fine but I have problems with the XMR, getting this type of errors in all players (Android with 1.8 version):

346997 4aca2e6 2018-07-16 15:07 PLAYER POST ERROR Android Miguel XmrMessageReceiver java.net.UnknownHostException: Unable to resolve host “cms-xmr”: No address associated with hostname 346996 4aca2e6 2018-07-16 15:07 PLAYER POST ERROR Android Miguel onEventBackgroundThread - HeartBeatEvent XMR unresponsive, issue reconfigure.

I have configured the XMR address in Preferences and in the profile with the next address: tcp://cms-xmr:9505. And I also tried with tcp://myhostname:9505 and it didn’t work.
I read all the community posts about this but the problems are still there. I can’t take an instant screenshot and also the content takes so much time to be downloaded to the displays.

Thank you so much for your support!

I believe the problem is with the links on the cms-web docker configuration.

I will look into it more, if that doesn’t help, when I have time.

Hello everybody,

First, thank you for all the job and the help.

My config:

  • Synology DS128+
  • DSM 6.2-23739 Update 2
  • Docker 17.05.0
  • Maria DB 10.3
  • Xibo Docker 1.8.10
  • Xibo player 1.8.10

This is my problem :
After many tries and tests my xibo cms finally work on my synology server. Thank’s again cslaughter.
The only way for me to acces xibo is by the public adress : http*s://MYDOMAINENAME
Impossible to acces by lan adress like 192.168.0.50 or localhost. No matter…

Now I’m trying to connect my display.

  • CMS address : http*s://MYDOMAINENAME
  • Key : Test (same as in xibo - settings - CMS secret key)

The result is : La connexion sous-jacente a été fermée : Une erreur inattendue s’est produite lors de l’envoi.
Which can be transleted by “The underlying connection was closed: An unexpected error occurred while sending.” Sorry I’m french.

I tried with:
http://MYDOMAINENAME - The request failed with HTTP status 405: Not Allowed
http
s://MYDOMAINENAME:443 - The underlying connection was closed:An unexpected error occurred while sending
http*s://MYDOMAINENAME:8888 - Saving with CMS… Please wait… then Can not connect to the remote server

Please, is someone could help me. Thank’s in advance.

Arnaud

I believe your issue with accessing the Xibo via the IP address is with the reverse proxy. By design you will need a FQDN to work with the reverse proxy.

This might help explain wha the reverse proxy does and why you cannot access a server behind it by direct IP without setting up some other routing rules.

https://en.wikipedia.org/wiki/Reverse_proxy

This link might explain to you more the about the 405 error:
https://airbrake.io/blog/http-errors/405-method-not-allowed

Not being able to connect a player is a different issue. You do not need to specify port 443 when using https prefix.

Other things to do is check the date and time on your device and make sure it is correct.
Check you r password

Hi cslaughter, I saw that I have a real problem to acces my nas safely. I’ll look to configure all that. I will keep you updated.

Thanks for your answer.

Arno.

Hello cslaughter,

As I said above, all my configuration work fine. Xibo cms is installed and work fine, reverse proxy too. I can acces to the cms with something like https://xibo.domaine.com.
I took the opportunity to configure the reverse proxy for DSM (files.domaine.com, video.domaine.com, etc), and jeedom (jeedom.domaine.com). Everything work well, from outside and I finally tested all with Quallys SSL labs to check my SSL configuration.

Return is a A note with all indicators in green.

I’m in peace with security !! :grinning:

Alex told to me " Please can you ensure that the reverse proxy is passing through the Host header, and X-Forwarded headers (including X-Forwarded-Proto) to the container? "

I must admit that I am a little overwhelmed by his request. Does that tell you anything?
Do you connect your display with the ip adress or the host name ?

Thank you for your involvement.

@rno.

I just cheked my synology reverse proxy configuration
For me it’s all right :

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name xibo.domaine.com;

ssl_certificate /usr/syno/etc/certificate/ReverseProxy/c9817a70-f8ce129c3213/fullchain.pem;

ssl_certificate_key /usr/syno/etc/certificate/ReverseProxy/c9817a70-f8ce129c3213/privkey.pem;

location / {
    proxy_set_header        Host                $http_host;
    proxy_set_header        X-Real-IP           $remote_addr;
    proxy_set_header        X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto   $scheme;
    proxy_intercept_errors  on;
    proxy_http_version      1.1;

    proxy_pass http://localhost:8888;

}

Do you have the same thing ? It’s located in /etc/nginx/app.d#/server.ReverseProxy.conf

Thanks again.

@rno