Skip to content

Installation Guide

Get Arx running in 10 minutes!

In order to run Arx with your own data you will have to prepare your files as described below.

License

A license is required to run ARx. If you are interested in getting a license, please contact us to request a free trial.

Prerequisites

Note: ensure you have a current version of docker! System repositories tend to be out of date!

Clone the Arx docker template

git clone https://github.com/Abrinca/arx-docker-template.git
cd arx-docker-template

Download demo folder_structure

./download_demo_db.sh

... or use your own folder_structure, of course! Read the documentation on how to do that.

Run Docker Compose

Ensure you are logged into the Abrinca Docker repository:

$ docker login docker.abrinca.com
Username: <your license account>
Password: <your license key>

Start the containers:

docker compose -f production.yaml up

Open https://localhost:4443/, ignore the self-signed certificate, and you should see this message: "Access Restricted: No Valid License Found".

Connect to the Arx container

In a seperate terminal, run:

# open terminal in Docker container
docker exec -ti arx bash

Create superuser and log in

In the terminal from before, run:

# create django administrator account
$docker (user)# python manage.py createsuperuser

Open (https://localhost:4443/admin/) and log in with your superuser account.

Activate Arx

Now that you are logged in with the superuser account, activate your license as described here.

Load the folder structure into the database

In the terminal from before, run:

# import organisms and genomes
$docker (user)# python manage_arx.py import-folder-structure

# import ortholog annotations
$docker (user)# python manage_arx.py import-orthologs

# import pathway maps
$docker (user)# python manage_arx.py import-pathway-maps

Congratulations, Arx is ready! (Example: https://localhost:4443/pathway/?map=kornec00400&g1=@tax:Bacteria)

Get ready for production

  • Replace the certificates in nginx/certs with proper ones
  • Adapt nginx/nginx.conf accordingly
  • Change the production-template.env:
    • add your own DJANGO_SECRET_KEY (generate one using bash: $(date | sha256sum | base64 | head -c 60))
    • change DJANGO_ALLOWED_HOSTS to your domain (e.g. demo.abrinca.com)
    • to increase the time allowed for calculations, change HARAKIRI and uwsgi_read_timeout in nginx/nginx.conf

See also Environment Configuration for more details.

Apply updates

Updates are very simple to install. Simply stop the running container, login to docker.abrinca.com pull the latest image, and start it again.

# stop Arx (Ctrl+C)
# pull newest image
docker pull docker.abrinca.com/arx
# start Arx
docker compose -f production.yaml up

From time to time, something like the following message may appear:

The folder structure needs to be updated to match Arx code.
Current version: 1, expected: 2
Use the script update_folder_structure from the package arx_tools to perform the upgrade!

It means that the folder structure requires certain changes to be compatible with the new version of Arx. These changes can be applied using the function update_folder_structure from the arx-tools.