In production, AskOmics is deployed with docker and docker-compose. We provide docker-compose.yml
templates to deploy your instance.
Prerequisites¶
Install git
# Debian/Ubuntu
apt install -y git
# Fedora
dnf install -y git
Install docker
:
Install docker-compose
:
# Debian/Ubuntu
apt install -y docker-compose
# Fedora
dnf install -y docker-compose
Deploy¶
Download templates¶
First, clone the flaskomics-docker-compose repository. It contain template files to deploy your AskOmics instance.
git clone https://github.com/askomics/flaskomics-docker-compose.git
This repo contains several directories, depending on your needs
cd flaskomics-docker-compose
ls -1
Two directories are used for production deployment
standalone
: deploy AskOmics with all its dependencies for a standalone usagefederated
: deploy AskOmics with all its dependencies and a federated query engine for a federated usage (Cross external endpoint such as NeXtProt with local data)
Choose one of this directory depending of your needs
cd federated
Configure¶
First, edit the docker-compose.yml
file. You can change the main port:
services
>nginx
>ports
: You can change the default port if80
is already used on your machine. Example:"8080:80"
to use8080
instead of80
.
Virtuoso¶
Then, configure virtuoso by editing virtuoso.env
Edit VIRT_Parameters_NumberOfBuffers
and VIRT_Parameters_MaxDirtyBuffers
following rules described here.
Warning
Change the DBA_PASSWORD
if you plan to expose the virtuoso endpoint. The password endpoint have to be the same in askomics.env
> ASKO_triplestore_password
Nginx (web proxy)¶
Nginx is used to manage web redirection. Nginx configuration is in two files: nginx.conf
and nginx.env
. If you want to access the virtuoso endpoint, uncomment the virtuoso
section in nginx.conf
AskOmics¶
All properties defined in askomics.ini
can be configured via the environment variables in askomics.env
. The environment variable should be prefixed with ASKO_
and have a format like ASKO_$SECTION_$KEY
. $SECTION and $KEY are case sensitive. E.g. property footer_message
in the askomics
section should be configured as ASKO_askomics_footer_message=Welcome to my AskOmics!
.
Warning
Change ASKO_flask_secret_key
and ASKO_askomics_password_salt
to random string
For more information about AskOmics configuration, see configuration section.
First user¶
environment variables can also be used to create a user into AskOmics at first start. For this, use CREATE_USER=true
User information can be configured with the following environment variables:
USER_FIRST_NAME
: User first name (default: Ad)USER_LAST_NAME
: User last name (default: Min)USER_USERNAME
: Username (default: admin)USER_PASSWORD
: Password (default: admin)USER_EMAIL
: User email (default: admin@example.com)USER_APIKEY
: User API key (default: admin)GALAXY_API_KEY
: Galaxy URL linked to the user (optional)GALAXY_URL
: User Galaxy API Key (optional)
The user will be created only if the users table of the database is empty.