First let me say that this is a work in progress. Alex has been very helpful in providing feed back for this walk though. Please keep in mind that there are many different situations when it comes to the final part of the setup. Please take into account everything you already have running on your DSM6 and the ports they use. It might save you some time and possibly locking yourself out.
If using a current working DSM, please take a backup of everything. Take screen shots of your settings before changing.
Another thing to take into account is if you will be importing data from a previous non-docker installation. If you plan to do so, some settings will need to be gather from the previous installations settings file.
Install Docker from the Synology Package center.
Open Docker App and go to Registry
Click âSettingsâ and then âAddâ
Registry Name: Xibo-Master (or Anything really)
Registry URL: GitHub - xibosignage/xibo-docker: Xibo Docker
Click âConfirmâ
Now Search for âxibosignageâ
Double Click âxibosignage/xibo-cmsâ and âxibosignage/xibo-xmrâ
This will cause the images to be selected and downloaded.
Now Search for âmysqlâ (I had trouble with anything but the straight up mysql) and install say 5.6. I would not choose an 8 version.
Double click âmysqlâ to select and install it.
The various folders to store the cms data and backups need to be created. I went ahead and used the âwebâ folder you see when you log into DSM and bring up file station. Itâs real path on my unit is /volume1/web. I believe this to be a safe place that will not get over written later by DSM or app updates, and it is easily accessible from the DSM web interface.
So I created these folders for the CMS:
/volume1/web/xibo-docker/web/cms/library
/volume1/web/xibo-docker/web/cms/custom
/volume1/web/xibo-docker/web/cms/web/theme/custom
/volume1/web/xibo-docker/web/cms/web/userscripts
/volume1/web/xibo-docker/web/cms/database
/volume1/web/xibo-docker/web/backup
IF YOU ARE UPGRADING READ THIS CAREFULLY: http://xibo.org.uk/manual/en/upgrade.html
Then follow the instructions before continuing
Now back to the Docker App to configure containers
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.
Select âImageâ on the left.
XMR:
Click on âxibosignage/xibo-xmr:release_1.8.Xâ and click launch.
A wizard will come up. change the name to cms-xmr, checked resource limitation, leave the defaults. Click âAdvancedâ:
Advanced Settings:
Enable auto-restart
Volume:
N/A
Port Settings:
Local Port: Auto - Container Port:50001 TCP (This is Auto generated by DSM6, not sure why)
Local Port: 9505 - Container Port:9505 TCP
Links:
N/A
Environment:
N/A
Click âOKâ at the bottom, then âNextâ and âApplyâ to save the settings and start the image.
Now cms-db:
Click on the mysql version image you have downloded and click launch.
A wizard will come up. Change the name to cms-db, checked resource limitation, leave the defaults. Click âAdvancedâ:
Advanced Settings:
Enable auto-restart
Volume:
/volume1/web/xibo-docker/web/cms/database - /var/lib/mysql
Port Settings:
Local Port: Auto - Container Port:3306 TCP (This is Auto generated by DSM6, not sure why)
Links:
N/A
Environment:
MYSQL_ROOT_PASSWORD - ROOTPASSWORD (Make one, If importing from a previous install, then use the password from that setup)
MYSQL_PASSWORD - PASSWORD (Make one, If importing from a previous install, then use the password from that setup)
MYSQL_DATABASE - cms (If importing from a previous install, then use the database name from that setup)
MYSQL_USER - cms (If importing from a previous install, then use the settings from that setup)
Click âOKâ at the buttom, then âNextâ and âApplyâ to save the settings and start the image.
cms-web:
Then Click on âxibosignage/xibo-cms:release_1.8.Xâ and click launch.
Change the Name to âcms-webâ, checked resource limitation, leave the defaults. Click âAdvancedâ:
Advanced Settings:
Enable auto-restart
Volume:
Add a folder for each of the folders we created earlier except for the myql database. The mount points are in the documentation, so I set mine up as follows:
/volume1/web/xibo-docker/web/cms/library - /var/www/cms/library
/volume1/web/xibo-docker/web/cms/custom - /var/www/cms/custom
/volume1/web/xibo-docker/web/cms/web/theme/custom - /var/www/cms/web/theme/custom
/volume1/web/xibo-docker/web/backup - /var/www/backup
/volume1/web/xibo-docker/web/cms/web/userscripts - /var/www/cms/web/userscripts
Port Settings:
Local Port: 8888 - Container Port:80 TCP
Links:
Container Name: cms-xmr - Alias: 50001
Container Name: cms-db - Alias: mysql
Environment:
Variable: MYSQL_PASSWORD - Value: PASSWORD - (Use the one from above, unless importing - then it needs to match the previous setup)
Variable: MYSQL_DATABASE - Value: cms (unless importing - then it needs to match the previous database name)
Variable: MYSQL_USER - Value: cms (unless importing - then it needs to match the previous database name)
Variable: XMR_HOST - Value: cms-xmr
Click âOKâ at the bottom, then âNextâ and âApplyâ to save the settings and start the image.
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.
Ok, you should now have 3 running containers. If the CMS container service does not see the mysql database right away it will go to sleep for 300 seconds. You need to wait for the connection to happen. But really there is more stuff to do, so it shouldnât be a problem.
Since Xibo really wants you to use HTTPS, and you really should, I will show that route of gaining access to the cms from the internet. I will assume that you have a domain pointed to the DSM unit already. (I came from a working 1.8 install running under web station.)
A reverse proxy will need to be configured within DSM. That is found in the âControl Panelâ under âApplication Portalâ and then the âReverse Proxyâ Tab.
Click âCreateâ, give it a description
Source:
Protocol - HTTPS
Hostname - YOURDOMAINNAME
Port - 443 (Assuming you donât already have something on it)
Enabled HSTS, and HTTP/2
Destination:
Protocol - HTTP (The reverse proxy is taking care of the SSL endpoint)
Hostname - localhost (Yes really use that)
PORT - 8888 (we used that earlier on cms-web)
Click âokâ
We now need to allow access through the firewall to port 443(If that is the port you choose.)
Last thing is to apply your cert to the reverse proxy connection.
âControl Panelâ, âSecurityâ, âCertificateâ tab, and then âConfigureâ button(my cert was not on the correct setting for me.)
If this is a new setup of course you will need to get your certs installed, but that is a whole different topic and not for this site. Also you should then finish up your configuration at:
https://community.xibo.org.uk/t/xibo-cms-post-installation-setup-guide/522
That should be it. You should now be able to access the cms. Please do suggest changes, and ask questions.
The default login credentials to the CMS Instance are the same for all Xibo docker based installations ie:
Username: Xibo_admin
Password: password