Xibo for Docker on an existing Docker cluster
If you have your own docker environment you may want to run without the automation provided by docker-compose. If this is the case you will be responsible for pulling the docker containers, starting them and manually installing Xibo.
The structure expected by the containers is outlined below.
Containers
There are 2 containers provided:
- web
- xmr
These are built by Docker Hub and packaged into xibo-signage/xibo-cms
and xibosignage/xibo-xmr
.
Xibo also requires a database - we recommend using the mysql
container available on Docker Hub. Any MySQL based container can be used, provided it can be linked to the cms-web
container. It is also possible to use an external database by providing those details to the cms-web
container as environment variables, as below:
- MYSQL_HOST
- MYSQL_PORT
- MYSQL_DATABASE
- MYSQL_USER
- MYSQL_PASSWORD
If you decide to run the containers yourself you should read and understand the DockerFile
which can be found for each container in the /containers
folder.
You may also want to pass in environment variables to configure SMTP in the container. All options are fully documented in the config.env.template
and config.env.template-remote-mysql
files found in our archives.
Storing Data
Data folders should be mapped outside the Docker containers as volumes so that data is persisted across Container upgrades. The following Data folders are used by docker-compose
and should be configured for your environment:
- The Library storage can be found in
/shared/cms/library
- The database storage can be found in
/shared/db
- Automated daily database backups can be found in
/shared/backup
- Custom themes should be placed in
/shared/cms/web/theme/custom
- Custom modules should be placed in
/shared/cms/custom
- Any user-generated PHP or resources external to Xibo that you want to be hosted on the same web server go in
/shared/cms/web/userscripts
. They will then be available to you athttp://localhost/userscripts/