READynamic

Building a READynamic Container using Docker

Introducing Docker

Docker is a Linux open source tool that allows developers to build containers to distribute software products. A container is a package that provides everything needed to install the software product automatically, including the code, system tools, a file system, and libraries. The Docker container can also be configured to limit the amount of system resources taken by the container when it installs a product, such as restricting the amount of processor capacity or memory needed. A customer could use a Docker container to quickly and easily install and configure the software product on most Linux platforms. With the container running in background, it does not slow down other applications running on a network or device.

A Docker container can significantly reduce the number of steps and points of failure in a complex software installation. For this reason we use Docker to distribute READynamic. To get started, visit https://hub.docker.com to to create a Docker account. You will need this account to download the READynamic container from a location provided by Datalogics.

Visit the Docker web site for more general information.

If you have questions feel free to contact Datalogics technical support.

Installing Docker

Run this series of sudo and cURL commands at a command line to download and install the Docker software. The list of commands below include a key to authenticate access to the github repository where the Docker software is provided to the public.

You can copy and paste these commands from the list below into a command line interface and run them one at a time.

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates python-pip
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo su
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" > /etc/apt/sources.list.d/docker.list
exit
sudo apt-get update apt-get install -y linux-image-extra-$(uname -r)
sudo apt-get install -y docker-engine
sudo service docker start
sudo su
curl -L https://github.com/docker/compose/releases/download/1.8.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
curl -L https://github.com/docker/compose/releases/download/1.8.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
exit

Test your installation. Run:

sudo docker run hello-world

You should see a response:

Hello from Docker

Downloading the READynamic Docker Zip file

This section describes how to download the READynamic-Docker.zip file from Datalogics support. This zip file includes a set of control files that are delivered with the Docker software, to tell Docker where to find the READynamic software on your local system.

Create the directory where you plan to store READynamic software, such as this:

mkdir ~/readynamic
cd ~/readynamic

Use your FTP account provided by Datalogics to access the READynamic-Docker.zip file and unzip it to the /readynamic directory:

unzip readynamic-docker.zip

You will see a /docker directory appear with three files.

Get the Docker READynamic Container

Next, download the Docker hub. This is a wrapper holding the server image.  This process installs the READynamic software.

  1. Log on to Docker with the Docker account credentials you created.

sudo docker login

  1. Switch to the /readynamic directory.
  1. Start the READynamic installation process:

sudo docker-compose up -d

  1. Docker pulls READynamic and MySQL images down to the machine and automatically manages the installation and basic configurations. This will take two or three minutes.
  1. Verify that READynamic is running. Enter this command:

sudo docker ps

  1. Open the READynamic user portal. Access it from your host directory, such as http://boxcollege.readynamic.com.

Note that READynamic listens to port 80. Your web administrator can create whatever external facing URL you like to access the READynamic portal or API reference documentation (apidoc).

We provide an example in this documentation, Box College, http://boxcollege.readynamic.com.

  1. Datalogics support will provide you with a license file, license.lic. Copy this file into the  /readynamic directory.
  2. Move the configuration file, server_configuration_overrides.yml, to the directory /readynamic/config_overrides.

READynamic Server File Structure

All READynamic data files are stored in the /readynamic folder or its sub-folders.

  • The eBook files and related data will be stored in /readynamic/storage.
  • MySQL data files will be stored in /readynamic/mysql.
  • The READynamic log files are stored in /readynamic/log.
  • The license file and the .yml configuration file are also stored here, as mentioned above.
  • The root password for the MySQL database is found in the environment file called db.env, stored in /readynamic/docker.
  • If you would like to run a separate, special backup of the MySQL data files for READynamic, you can use this command syntax:
docker-compose exec db sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL root password" > /backup directory path/all-databases.sql

Installing a Specific Version of READynamic

If you need to re-install an earlier version of the READynamic software, to correct a problem, complete these steps.

Open the docker-compose.yml file in the /readynamic directory, and change the image tag:

image: datalogics/readynamic:latest

For example, you might change this image definition to:

image: datalogics/readynamic:2.0.90

Follow the steps provided in Updating READynamic below to finish the rollback.

Updating READynamic

We regularly provide updates to the READynamic software, and you are free to download these updates whenever you like. Complete these steps to update READynamic to the latest available version.

cd ~/readynamic
sudo docker-compose down
sudo docker-compose pull
sudo docker-compose up -d

The sudo docker-compose up -d command pulls the most recent Docker image for the software, extracts the files, and runs the installation process. The process overwrites the current installed version of READynamic. If you are already running the most recent version of READynamic, however, the system will not install an update.

Note also that the process will rely exactly on what is defined in the docker-compose.yml file to determine which version of the READynamic software to download and install.  If the version setting in the YML file is this:

boxcollege/readynamic:latest

The most recent version of the software will be installed every time you run the update process.

If you decide to install an earlier version of the software, that version would need to be defined specifically in the YML file, like this:

boxcollege/readynamic:2.0.121

Version 2.0.121 will be installed, and only that version. To upgrade the software you would need to change the version of the software in the YML file, but it would be much better to simply set the value to “latest” as shown above.