This document describes how to install the IRIDA web interface. We assume that you have completed installing and configuring Galaxy.
- Deploying IRIDA
The IRIDA platform currently consists of three, separate components:
- The web interfaces: User interface and API,
- Galaxy, and
- Command-line clients.
The IRIDA Web interfaces are intended to be deployed in a Servlet container, supporting Servlet 3.0 or higher. You can download IRIDA as a pre-packaged
WAR file at https://irida.corefacility.ca/downloads/webapp/irida-latest.war.
The following prerequisites are required for running the IRIDA web interfaces:
- Java 8 or higher.
- A working servlet container supporting Servlet 3.0 (Tomcat, version 7 or higher, for example)
- A working database server (the application is tested on MySQL or MariaDB).
- A working install of Galaxy (we recommend that you run Galaxy and the IRIDA web interface on separate machines).
The install guide assumes that you are using Bash
Prerequisite install instructions
We provide some instructions for installing and setting up your production environment. If you are comfortable installing and configuring a servlet container, or if your production environment has already been configured, you can safely skip this section.
- Windows: Since the IRIDA Platform web interfaces are written in Java, they can, in theory, be deployed on a Windows host. We do not officially support or test deployment on Windows servers, so no instructions are provided.
Deploying IRIDA mainly involves deploying the
WAR file into your Servlet container, but does also require some configuration outside of your Servlet container.
Servlet Container Configuration
Two environment variables needs to be set in your Servlet container for IRIDA to function correctly:
You can adjust these variables in Tomcat by editing (depending on your distribution)
/etc/tomcat/tomcat.conf (CentOS) or
/etc/default/tomcat7 (Ubuntu), and finding the
JAVA_OPTS variable and setting the variables as shown below:
All IRIDA configuration files are stored in
/etc/irida/. The main IRIDA configuration file should be written to
irida.conf is a plain, Java
properties file (so a key-value pair file). You can download the file from config/irida.conf, or you can find an example below:
If this file does not exist, the platform will use internal configuration values. The internal configuration values point at a local instance of the database server. The likelihood of the internal configuration values correspond to your production environment is alarmingly low (or at least, should be).
The main configuration parameters you will need to change are:
- Directories to store files managed by IRIDA:
sequence.file.base.directory=/opt/irida/data/sequence- Sequence files managed by IRIDA.
reference.file.base.directory=/opt/irida/data/reference- Reference files assigned to projects in IRIDA.
output.file.base.directory=/opt/irida/data/output- Results of analysis pipelines.
- Threads used for file processing (FastQC, GZip, etc):
file.processing.core.size=4- The initial number of threads available for file processing.
file.processing.max.size=8- The maximum number of available threads for file processing. This number should not exceed the configured maximum number of JDBC threads.
file.processing.queue.capacity=512- The maximum number of file processing jobs that can be queued.
file.processing.process=true- Whether to run the file processors on the current machine. This can be set to false if you’re running multiple IRIDA servers and want to improve UI performance on a machine.
- Database connection information:
- Galaxy connection information for executing pipelines:
irida.workflow.max-running=4- The maximum number of running workflows. For larger installations this number can be increased.
- NCBI SRA export configuration - An SRA bulk upload user account must be created with NCBI to allow automated SRA uploads. See NCBI SRA Handbook for details.
ncbi.upload.host- FTP host to upload ncbi exports
ncbi.upload.user- FTP Username
ncbi.upload.password- FTP password
ncbi.upload.baseDirectory- base directory in which to create SRA submissions
ncbi.upload.namespace- Prefix for file upload identifiers to NCBI. The namespace is used to guarantee upload IDs are unique. This configuration option is used as a placeholder and may still be set by the user.
- Security configuration
security.password.expiry- The number of days a password is valid for in IRIDA. After a password expires the user will be required to create a new one. Passwords cannot be reused.
The IRIDA platform also looks for a web application configuration file at
/etc/irida/web.conf. Similar to the irida.conf file, this file is a plain Java configuration file. The properties in this file will be used to configure parameters of the web application component of the IRIDA platform. You can download the file from config/web.conf, or you can find an example below:
If this file does not exist the platform will use internal configuration values which will probably not correspond to your production environment.
mail.server.* configuration parameters will need to correspond to a configured mail server, such as Postfix. This will be used by IRIDA to send email notifications to users on the creation of an account or on password resets.
The IRIDA platform supports web analytics. Include the analytic snippet inside a file in
/etc/irida/analytics/. The snippet will be injected into the page.
Once you have adjusted the configuration files to your environment, you can deploy the
WAR file to your servlet container.
You can download the
WAR file from: https://irida.corefacility.ca/downloads/webapp/irida-latest.war
Tomcat’s deployment directory is typically some variation of
/var/lib/tomcat/webapps/. Deploying the
WAR file in Tomcat is as simple as moving the
WAR file you downloaded into that directory.
On startup, IRIDA will:
- Automatically prepare the database on your system (using Liquibase) using the database connection details you specified in Core Configuration.
- Install any internally configured workflows.
- Configure the connection to Galaxy.
If IRIDA has successfully been deployed, you should be able to use your web browser to navigate to http://localhost:8080/irida-latest/ (assuming you’re deploying to the local machine, and also assuming that you’ve left the
WAR file named
Logging in for the first time
The first time IRIDA is run, it will add a default administrator user account to the database. Launch your web browser and navigate to the context where you’ve deployed IRIDA.
If everything has been configured correctly, you should see the IRIDA log-in page:
The default administrator username and password are:
- Username: admin
- Password: password1
You will be required to change the password the first time you log-in with these credentials.
Once you’ve logged in for the first time, you will probably want to create some user accounts. User account creation is outlined in our Administrative User Guide.