Apollo is a browser-based tool for visualisation and editing of sequence annotations. It is designed for distributed community annotation efforts, where numerous people may be working on the same sequences in geographically different locations; real-time updating keeps all users in sync during the editing process.
The container is publicly available as gmod/apollo:latest
.
There are a large number of environment variables that can be adjusted to suit your site's needs. These can be seen in the apollo-config.groovy file.
This procedure starts tomcat in a standard virtualized environment with a PostgreSQL database with Chado.
Install docker for your system if not previously done.
Choose an option:
-
To test a versioned release to test installation, e.g.:
docker run -it -p 8888:8080 quay.io/gmod/docker-apollo:2.2.0
Other available versions -
Install a latest release to test installation:
docker run -it -p 8888:8080 gmod/apollo:latest
- To make sure you have the latest pull with
docker pull gmod/apollo
to fetch newer versions
- To make sure you have the latest pull with
-
If using within a larger context (e.g., as part of a docker-compose script) you can run an
apollo-only
branch provides only apollo + tomcat (no PostgreSQL):docker run -it -p 8888:8080 gmod/apollo:apollo-only
-
To run in production against JBrowse data and a persistent database (you can create an empty directory called
postgres-data
):docker run -it -v /jbrowse/root/directory/:/data -v postgres-data:/var/lib/postgresql -p 8888:8080 gmod/apollo:latest
-
You can run production using the build created by quay.io instead (https://quay.io/repository/gmod/docker-apollo):
docker run -it -v /jbrowse/root/directory/:/data -v postgres-data:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest
In all cases, Apollo will be available at http://localhost:8888/ (or 8888 if you don't configure the port)
When you use the above mount directory /jbrowse/root/directory
and your genome is in
/jbrowse/root/directory/myawesomegenome
you'll point to the directory: /data/myawesomegenome
.
NOTE: If you don't use a locally mounted PostgreSQL database (e.g., creating an empty directory and mounting using -v postgres-data:/var/lib/postgresql
)
or set appropriate environment variables for a remote database
( see variables defined here) your annotations and setup will not be persisted.
The default credentials in this image are:
Credentials | |
---|---|
Username | [email protected] |
Password | password |
- Make the following directories somewhere with write permissions:
postgres-data
andjbrowse-data
. - Copy your jbrowse data into
jbrowse-data
. We provide working sample data. - Run the docker-command:
docker run -it -v /absolute/path/to/jbrowse-data:/data -v /absolute/path/to/postgres-data:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest
- Login to the server at
http://localhost:8888/
- Add an organism per the instructions under Figure 2. Using yeast as an example, if you copy the data into
jbrowse-data/yeast
then on the server you'll add the directory:/data/yeast
.
Chado support is now baked into the GMOD docker container image.