Skip to content

i2b2 quickinstall

Jeff Klann edited this page May 3, 2019 · 2 revisions

i2b2 is notoriously difficult to install.

Other approaches to mitigate this:

Simple Native i2b2 installation

Happily, it is possible to install the full i2b2 Wildfly stack natively on your machine without building from source, by leveraging pieces of the Docker image. This was tested on 1.7.11.

  1. Prerequisites: You will need to install the following software. (If you're a developer you might already have these installed.)
  2. Install Wildfly (I installed 14.01.) (30min)
  3. Install i2b2-server-common (30 min)
    1. Clone the i2b2 github repository.
    2. Set the Wildfly install directory
    3. Run the deploy script.
  4. Obtain i2b2.war, configuration, and datasource files. These instructions show how to retrieve these from the Docker images. This version will be configured for a local postgres database. (45min)
    1. docker run -d --name i2b2-wildfly-test i2b2/i2b2-wildfly
    2. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/deployments/i2b2.war /opt/wildfly-14.0.1.Final/standalone/deployments/i2b2.war (Modify as needed for your target path)
    3. Copy datasource files (wildcard copying is not possible, you need to do one at a time)
      1. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/deployments/crc-ds.xml opt/wildfly-14.0.1.Final/standalone/deployments/
      2. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/deployments/im-ds.xml opt/wildfly-14.0.1.Final/standalone/deployments/
      3. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/deployments/ont-ds.xml opt/wildfly-14.0.1.Final/standalone/deployments/
      4. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/deployments/pm-ds.xml opt/wildfly-14.0.1.Final/standalone/deployments/
      5. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/deployments/work-ds.xml opt/wildfly-14.0.1.Final/standalone/deployments/
      6. You will also need to modify all the lines with a docker container name (i.e. i2b2-pg) to localhost in all the above files.
    4. Copy the configuration files
      1. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/configuration/crcapp opt/wildfly-14.0.1.Final/standalone/configuration/crcapp
      2. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/configuration/ontologyapp opt/wildfly-14.0.1.Final/standalone/configuration/ontologyapp
      3. docker cp i2b2-wildfly-test:/opt/jboss/wildfly/standalone/configuration/workplaceapp opt/wildfly-14.0.1.Final/standalone/configuration/workplaceapp
  5. Add the dodeploy file: touch opt/wildfly-14.0.1.Final/standalone/deployments/i2b2.war.dodeploy (0min)
  6. Obtain the database. You will either need to step through the Data Installation guide to install locally, or you can use the docker postgres image: (10min)
    • docker run -d -p5432:5432 --name i2b2-pg i2b2/i2b2-pg
  7. Obtain the webclient. (15min)
    • Set up a webserver like Apache if you don't have one already.
    • From your web root: git clone https://github.com/i2b2/i2b2-webclient.git
    • Edit i2b2-config-data.js as per the webclient install guide
  8. Start Wildfly: /opt/wildfly-14.0.1.Final/bin/standalone.sh You're done! You should be able to login via the webclient.

NOTES:

  • The docker image does not include the FR cell or the IM cell. These will need to be built separately if needed.
  • Information in the install guide on turning on server debug messages appears to be incorrect. Instead, if you want the (very verbose) debug logging, you will need to add log4j.logger.edu.harvard.i2b2=DEBUG to /opt/wildfly-14.0.1.Final/standalone/deployments/i2b2.war/WEB-INF/classes/log4j.properties