wiki:REDCap HowTo Install Using Docker

Version 34 (modified by saj.issa, 8 years ago) ( diff )

--

Please read Docker HowTo Install before installing REDcap

Prerequisites if required

Step 1 - Install Docker

Docker HowTo Install

Step 2 - Install Git

$ sudo apt-get update

$ sudo apt-get install git

Step 3 - Install NGINX

NGINX HowTo Install Using Docker

Step 4 - Backup Redcap Database

Log on to the mysql database machine.

/usr/local/mysql/bin/mysqldump --routines --skip-extended-insert --force -h localhost -u root -p redcap > $(date +\%d-\%m-\%Y-)_redcap.sql

This will create a database dump file.

Connect to my sql.

mysql -u root -p

Create a database, make sure you postfix with Redcap version number. Please stick to this naming convention.

mysql > create database redcap6168

Import the lastest database.

mysql -u root -p -h localhost redcap6168 < 19-09-2016-_redcap.sql

Step 5 - Create / Grant Mysql permissions

If a new user is needed run the following, replace necessary details

CREATE USER 'briccsext02_user'@'uhlbriccsext02.xuhl-tr.nhs.uk' IDENTIFIED BY 'password'

Grant necessary privileges to user.

GRANT USAGE ON *.* TO 'briccsext02_user'@'uhlbriccsext01.xuhl-tr.nhs.uk' IDENTIFIED BY 'password'

GRANT ALL PRIVILEGES ON redcap6168_briccsext.* TO 'briccsext02_user'@'uhlbriccsext01.xuhl-tr.nhs.uk';

GRANT ALL PRIVILEGES ON redcap6168_briccsext.* TO 'briccsext02_user'@'uhlbriccsext02.xuhl-tr.nhs.uk';

If user already exists

GRANT ALL PRIVILEGES ON redcap6168.* TO 'redcap'@'10.156.254.207';

GRANT ALL PRIVILEGES ON redcap6168.* TO 'briccsext02_user'@'uhlbriccsext02.xuhl-tr.nhs.uk';

or

GRANT ALL PRIVILEGES ON redcap6168_briccsext.* TO 'briccsext_user'@'uhlbriccsext01.xuhl-tr.nhs.uk';

Installs

You have the choice of either upgrading Redcap or installing a fresh version of Redcap

Upgrade Redcap using Docker

  1. On the host machine go to directory

/local/docker/<USER>/

  1. Go to this directory and checkout from git docker_redcap_upgrade

sudo git clone https://github.com/LCBRU/docker_redcap_upgrade.git

sudo chmod -R 777 docker_redcap_upgrade/

This will create a directory /local/docker/<USER>/docker_redcap_upgrade

This docker script upgrades an existing redcap installation.

The first step is to zip the existing redcap installation, this could be either

  1. The directory /var/www/redcap on a virtual machine.

cd /var/www

sudo zip -r redcap_v5.7.0.zip redcap

Move this file into /home/<USER>/docker_redcap_upgrade

  1. The directory /var/www/redcap within a running Docker container.

Connect to existing docker container using

sudo docker exec -i -t <CONTAINERID> /bin/bash

cd /var/www/redcap

sudo zip -r redcap_v5.7.0.zip *

sudo mv redcap_v5.7.0.zip /share/

exit

redcap_v5.7.0.zip should now be available on the host machine. In the directory /share/

Move this file into /home/<USER>/docker_redcap_upgrade

  1. Now edit Dockerfile

Amend the line # Old Redcap

Amend all instance of latest Redcap, i.e redcapX.XX.X_upgrade.zip, redcap_vX.XX.X. Please use a copy and replace.

  1. Edit database.php

Add entries for the database.

Ensure salt entry is exactly same as old version of redcap

  1. Build Docker container

sudo docker build -t lcbruit/redcap_upgrade:v6.16.8 .

  1. Run container

sudo docker run -v /share:/share -itd -p 82:80 lcbruit/redcap_upgrade:v6.16.8

  1. Open URL

http://<HOST>.xuhl-tr.nhs.uk:82/redcap/redcap_v6.16.8/upgrade.php

  1. This url will give you a sql script that you run against the database. Download the sql file and place it on the mysql host. Run as follows :

mysql -u root -p redcap6168 < redcap_upgrade_61608.sql

OPTION B: Download the SQL upgrade script as a file

mysql -u root -p redcap6168 < redcap_upgrade_61608.sql

INSERT INTO redcap_config VALUES ('redcap_base_url','https://briccs.xuhl-tr.nhs.uk/redcap/');

update redcap_config set value = 'http://10.28.88.37/redcap/' where field_name = 'redcap_base_url';

There are 3 docker scripts available from github :

git clone https://github.com/LCBRU/docker_redcap_upgrade

Amend database.php

sudo docker build -t lcbruit/redcap_fresh:v6.16.6 .

sudo docker run -itd -p 80:80 lcbruit/redcap_fresh:v6.16.6

git clone https://github.com/LCBRU/docker_redcap_v5.7.0

git clone https://github.com/LCBRU/docker_redcap_fresh

REDCap 6.16.6

http://uhlbriccsapp02.xuhl-tr.nhs.uk/redcap/index.php

REDCap Software - Version 5.7.0

http://uhlbriccsapp02.xuhl-tr.nhs.uk:81/redcap/index.php

Installation script

  • Image
  • CRON
  • php upgrade

sudo apt-get update && sudo apt-get dist-upgrade sudo init 6 sudo apt-get install update-manager-core sudo vi /etc/update-manager/release-upgrades sudo do-release-upgrade -d

sudo apt-get update sudo apt-get upgrade

do-release-upgrade

91 sudo apt-get update && sudo apt-get dist-upgrade 92 sudo init 6 93 sudo apt-get install update-manager-core 94 sudo vi /etc/update-manager/release-upgrades 95 sudo do-release-upgrade -d 96 ls 97 lsb_release -a 98 exit 99 sudo apt-get update

100 sudo apt-get upgrade 101 sudo apt-get install update-manager-core 102 sudo do-release-upgrade

Fresh Redcap using Docker

Further info

Redcap is run on port 82

Note: See TracWiki for help on using the wiki.