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
- Linux x64: We provide no support for macOS!
- docker
- docker-compose-plugin
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/certswith proper ones - Adapt
nginx/nginx.confaccordingly - Change the
production-template.env:- add your own
DJANGO_SECRET_KEY(generate one using bash:$(date | sha256sum | base64 | head -c 60)) - change
DJANGO_ALLOWED_HOSTSto your domain (e.g. demo.abrinca.com) - to increase the time allowed for calculations, change
HARAKIRIanduwsgi_read_timeoutinnginx/nginx.conf
- add your own
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.