Hub Admins Only

This section is intended for hub administrators only.

Here is a sample shrine.conf file for a system running SHRINE 4.0.0 , for a node supporting researchers and distributing queries. 

shrine {

  shrineHubBaseUrl = "https://localhost:6443" //The shrine hub's URL as observed from this tomcat server
  i2b2BaseUrl = "" //The local i2b2's URL as observed from this tomcat server
  i2b2Domain = "exampleDomain"
  i2b2ShrineProjectName = "SHRINE"

  nodeKey = "somethingHub" //node key to get information from the hub about itself as a node.

  //shrineDatabaseType = "mysql" // "mysql" by default. It can be "sqlserver" "mysql" or "oracle"

  webclient {
    siteAdminEmail = ""

  hiveCredentials {
    username = "demo"
    crcProjectId = "Demo"

  hub {
    create = true

    messagequeue {
      blockingqWebApi {
        enabled = true  //run shrine's MoM system at the hub.

  adapter {
    create = false

  keystore {
    privateKeyAlias = "shrine-hub"
    caCertAliases = ["shrine-ca"]

  steward {
    emailDataSteward {
      //provide the email address of the shrine node system admin, to handle bounces and invalid addresses
      from = ""
      //provide the email address of the shrine node system admin, to handle bounces and invalid addresses
      to = ""
      //provide the externally-reachable URL for the data steward
      externalStewardBaseUrl = ${shrine.shrineHubBaseUrl}/shrine-api/shrine-steward

 It is rare but possible to have a set of patient data at the hub. Simply include the adapter section of qep-and-adapter-shrine.conf in your shrine.conf , tailored to your system as explained earlier in this chapter.

Set the shrine i2b2 user password in the password.conf file in /opt/shrine/tomcat/lib .

shrine.hiveCredentials.password = "changeit"

Next, configure the initial network structures and queues for the hub.

Download the shrine network lifecycle tool into /opt/shrine:

cd /opt/shrine

wget -O unzip

cd shrine-network-lifecycle

Inside the conf directory, edit the override.conf file to use your database username and password:

shrine {
    audit {
      database {
        dataSourceFrom = "testDataSource" //Can be JNDI or testDataSource . Use testDataSource for tests and command line tools, JNDI everywhere else
        testDataSource {
          driverClassName = "com.mysql.cj.jdbc.Driver" //JDBC driver class name
          url = "jdbc:mysql://localhost:3306/qepAuditDB?serverTimezone=UTC" //URL to your database
          credentials {
            username = "yourUserName"
            password = "yourDatabasePassword"

Next, create a file named network.conf to meet your needs. At a minimum include the network section and a section for the hub's QEP:

shrine {
  network {
    network {
      name = "Network Name"
      hubQueueName = "hub"
      adminEmail = ""
      momId = "HubQueue"
    nodes = [
        name = "Hub's QEP"
        key = "hub-qep"
        userDomainName = "network-hub"
        queueName = "shrinehub"
        sendQueries = "false"
        adminEmail = ""
        momId = "HubQepQueue"

Finally use the shrineLifecycle tool to set up the network:

./shrineLifecycle createNetwork network.conf

  • No labels