This guide is intended to help you quickly set up an ICE installation for evaluation, private use or server installation. Direct any questions to the ICE Google Groups page. The project page can be found on github.

ICE is a web application with the following requirements:

  • Deployment in a J2EE servlet container (such as Apache Tomcat)
  • Java JRE 16+
  • Optionally, BLAST+ (this can be installed from within the application)
  • Optionally, Apache Maven if installing from sources
ICE is configured by default to use HSQLDB for data storage. In a production environment, it is highly recommended that a standalone database be used. Hibernate is used for Object/Relational mapping and therefore ICE can be configured and used with any of the Hibernate supported databases. NOTE: PostgreSQL is recommended as it has been tested more extensively with ICE.
Step-by-Step installation guide using apache-tomcat and postgresql:

  • Install Apache Tomcat on your system's default location or one of choice. Henceforth referred to as $ICE-HOME
  • Setup the configuration parameters as follows:
    1. create in $ICE_HOME/bin(e.g. /usr/share/tomcat9/bin) and add the following system properties (change the values to match your specific case)
      #set the location of the data directory
      export ICE_DATA_HOME=/var/lib/ice/data
      #set the directory for the log
      export ICE_LOG_HOME=/var/log/ice
      ICE_DATA_HOME will be used to store the indexes, sequence files and other data generated by ICE. ICE looks for the properties in the following order:
      1. environmental variables
      2. system property
      3. user home directory
    2. If not found, ICE uses the default location of ~/.ICEData
    3. Create a folder named config in $ICE_DATA_HOME with a file named with the following (change values as appropriate)
      #other options are MEMORY and H2DB
  • Download a pre-compiled war of ICE and deploy as the ROOT webapp in $ICE-HOME. See installing from a WAR file for details. Start tomcat and look for ice.log in $ICE_LOG_HOME. This will contain the system administrator password which you can use to login to the ICE user interface with username "administrator". NOTE: whenever the servlet container is restarted, the system administrator password is reset and logged in ice.log
A pre-compiled WAR file is made available from the project release page on GitHub. The Dev branch may contain newer features in a beta state.

Coming soon
ICE is open source software, and we gladly accept patches to our code. Just send us an email and/or a patch file. We also encourage bug filings and feature requests.