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. {{{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//}}} 2. 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//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 3. 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//docker_redcap_upgrade 4. The directory /var/www/redcap within a running Docker container. Connect to existing docker container using {{{sudo docker exec -i -t /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//docker_redcap_upgrade 5. 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. 6. Edit database.php Add entries for the database. Ensure salt entry is exactly same as old version of redcap 7. Build Docker container {{{sudo docker build -t lcbruit/redcap_upgrade:v6.16.8 .}}} 8. Run container {{{sudo docker run -v /share:/share -itd -p 82:80 lcbruit/redcap_upgrade:v6.16.8}}} 9. Open URL {{{http://.xuhl-tr.nhs.uk:82/redcap/redcap_v6.16.8/upgrade.php}}} 10. 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