Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


DOI Lint Java CI with Gradle Documentation Chat at Gitter License Contributor Covenant

 Download the latest release

A collaborative, real-time, genome annotation editor. The stack is a Java web application / database backend and a Javascript client that runs in a web browser as a JBrowse plugin.

Cite Apollo using Dunn NA, Unni DR, Diesh C, Munoz-Torres M, Harris NL, Yao E, et al. (2019) Apollo: Democratizing genome annotation. PLoS Comput Biol 15(2): e1006790.

Questions / Comments / Community contact can be sent to our Apollo user mailing list or posted directory to our google group. Old questions are archived on Nabble.

Complete Apollo installation and configuration instructions are available from the Apollo documentation pages

The Apollo client is implemented as a plugin for JBrowse. Additional JBrowse plugins may be found in the JBrowse registry and configured in apollo-config.groovy.

We provide a Demonstration Apollo site and an integrated service is provided by UseGalaxy Europe.

The User's Guide provides guidance on how to use it. Please feel free to update this documentation.

Setup guide

We provide a Setup guide for deploying a configuring a production instance.

Launchable public Amazon Web Services (AWS) EC2 images may be launched from Community AMIs in the N. Virginia region under 'Apollo'.
Specific information for setting up AWS instances is provided for 2.4.1 instances.

Apollo may be launched from Docker as well.

The guide for developers shows how to get started with Apollo.

Web Services

Python library over web services and other web services examples.

Migrating data from older versions

You can follow steps in our migration guide to move annotations and data from older versions.

Note about data directories

Apollo 2.X allows you to add multiple data directories to your webapp, and it expects the data directories to be stored outside of the tomcat webapps directory. Use the developer's guide to learn how to add new data directories for your organisms.

Important Note: All data from a webapps directory will disappear when doing tomcat "undeploy" operations, even if it is a symlink..

Launch Apollo in a temporary server

To launch Apollo with temporary settings, use the apollo run-local command, which will initialize your server automatically with an H2 (zero-configuration) database.

apollo run-local 8080

It will also use your custom settings if an apollo-config.groovy file has been setup.

Generate a war file

Users can generate a war file (for example target/apollo-1.0.2.war) that will be copied into their tomcat webapps directory for production deployments:

apollo deploy

Note: make sure to create an apollo-config.groovy file following the sample data (e.g. sample-postgres-apollo-config.groovy) to make sure you use your preferred database settings.

Run locally for GWT development

apollo devmode 

or in two terminals:

apollo run-local 
gradlew devmode 

Thanks to


YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.