Xibo Docker

Docker is an application to package and run any application in a pre-configured container making it much easier to deploy a Xibo CMS with recommended configuration.

Before you start

The easiest and fastest way to get started with Xibo is to install Docker and use launcher to bootstrap and run your Xibo environment.

Download and extract the Xibo Docker archive

The latest Xibo docker installation files can be downloaded from our website.

Download

They should be extracted in a suitable location on your host machine - the choice of location is up to you. The only requirement is that the Docker installation can read/write to it.

Install Docker

Docker installation documents can be found on the Docker website.

Linux

Docker can be installed on Linux based systems using the below command:

wget -qO- https://get.docker.com/ | sh

Windows

There are 2 Docker products for Windows - if you want to use launcher on your installation then please install Docker Toolbox.

launcher supports the VirtualBox providers for Docker, you may use HyperV but if you do so you will need to create the containers yourself.

Bootstrap Xibo

Open a terminal/command window in the folder where you extracted the archive. As a user who has permissions to run the docker command, simply run:

./launcher bootstrap

The first time you run launcher, a new file launcher.env will be created in the same directory as the launcher program. Edit this with a text editor to provide the configuration needed to get your Xibo CMS installed.

If you don't want Xibo to be able to send email messages, then you can ommit to configure those options.

DATA_DIR will default to the current directory you're in. If you want to store your Xibo data somewhere else, then change DATA_DIR to point to that place.

By default, Xibo will start a webserver listening on port 80. If you already have a webserver listening on port 80, or would prefer to use an alternative port number, then you need to change the value of the WEBSERVER_PORT option.

Similarly, Xibo's XMR server will be started listening on port 9505. If you would prefer to use an alternative port number, then you'll need to do so by changing the XMR_PLAYER_PORT option.

Once you've made your changes to launcher.env and have saved the file, run

./launcher bootstrap

This will bootstrap and start your Xibo CMS. The CMS will be fully installed with the default credentials.

Username: Xibo_admin
Password: password

You should log on to the CMS straight away and change the password on that account.

You can log on to the CMS at http://localhost. If you configured an alternative port number, then be sure to add that to the URL - so for example http://localhost:8080

Start/Stop/Destroy

Pass start/stop or destroy into launcher to take the corresponding action

./launcher XXX

The stop command will stop the Xibo CMS services running. If you want to start them up again, issue the start command.

If you suspect there are problems with the containers running your Xibo CMS, then you can safely run

./launcher destroy
./launcher bootstrap

Providing your keep your launcher.env file and your DATA_DIR directory intact, the CMS will be run using your existing data.

Upgrading Xibo

Before attempting an upgrade, it's strongly recommended to take a full backup of your Xibo system. So stop your CMS by issuing the command

./launcher stop

and then, backup launcher, launcher.env and DATA_DIR and keep them somewhere safe.

Next download the appropriate version of launcher, replace the version of launcher on your system leaving your launcher.env file intact, and run

./launcher upgrade

The CMS containers will be destroyed, and rebuilt with the newer Xibo version.

A database backup will be automatically run for you as part of this process.

If you need to roll back to the older Xibo version for some reason, you can do so by running

./launcher stop

Restoring your original copy of launcher, launcher.env and the complete contents of DATA_DIR, and then running

./launcher bootstrap

The original version of the CMS will be restored for you.

Running without launcher

If you have your own docker environment you may want to run without the automation provided by launcher. 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

web and xmr Dockerfiles and associated configuration. These are built by Docker Hub and packaged into Xibosignage/Xibo-cms and Xibosignage/Xibo-xmr.

DATA_DIR/shared

Data folders for the Xibo installation.

  • 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 hosted on the same webserver go in /shared/cms/web/userscripts. They will then be available to you at http://localhost/userscripts/