BlueGenes is a new user interface to InterMine replacing the JSP-based webapp included with the InterMine server. It runs as its own service and utilises the InterMine web service API.
This is a guide to running BlueGenes in a production environment. If you wish to simply try it out, click here to see how to start it from Gradle.
You should define the environment of your InterMine by creating a
These are the essentials. For more configuration options, see Configuration.
You will want to keep your tools folder outside the container, so that your existing tools will be kept when updating BlueGenes. To do this, run
mkdir tools to create a folder we'll use as a docker bind mount. Then start the docker container with the following command:
You should be able to access BlueGenes from http://localhost:5000. To make it publicly accessible, you can point a reverse proxy to this port, or use a different port on the host (e.g.
Essential docker commands
docker ps -a- List all containers
docker logs <container>- Print logs of a container
docker stop <container>- Stop a container
docker rm <container>- Remove a container
docker images- List images available locally
|Port to be used by BlueGenes web server
|Minimum level for logging
|Google Analytics tracking ID
|Directory on server where BlueGenes tools are installed
|Custom URL path to host BlueGenes. Must start with
/ and not end with
/bluegenes. If you wish to host at root, set to
|Override service root for backend API requests (usually an internal address)
|Default InterMine service to run HTTP requests against
|Mine name to display for default mine
|Namespace of the default mine
|Additional mines managed by this BlueGenes instance (more info)
|Disable acquiring and displaying mines from the public InterMine registry
This is required if you want to host the InterMine web services on the same address as BlueGenes. You will need to configure the following reverse proxy rules, replacing
yourmine with the deploy path of your mine:
/query is required for linking in to the old webapp.
BlueGenes allows you to quickly switch between mines using a dropdown in the navbar. This will display mines from the InterMine Registry (unless
HIDE_REGISTRY_MINES is set) but you can also specify your own mines to be shown as a distinct group, usually for other mines of your organisation. This allows you to have a single BlueGenes server work as a front end to multiple mines, without having to run a separate BlueGenes server for each mine in your organisation.
BLUEGENES_ADDITIONAL_MINES expects a value encoded in EDN. In short, square brackets denote a sequence of values, while curly braces denote key-value pairs for every two elements. Keys in maps are keywords, which start with a colon followed by characters. Comma is treated as whitespace, and whitespace separates elements.
Below is an examples of HumanMine and FlyMine specified as additional mines.
You can add new or override existing resources served by BlueGenes by creating a
resources directory and having docker mount it and added to the Java class path with the following command:
The path inside the
resources directory should match what is provided in BlueGenes, meaning everything inside
resources/public is served from the web server root.