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 for a federated usage (Ask external endpoint such as NeXtProt)
Choose one of this directory depending of your needs
cd federated
Configure
First, edit the docker-compose.yml
file. You can change the following entries:
services
>askomics
>image
: Use the latest image tag. Example:askomics/flaskomics:3.2.5
services
>isqlapi
>image
: Use the latest image tag. Example:xgaia/isql-api:2.2.1
services
>virtuoso
>image
: Use the latest image tag. Example:askomics/virtuoso:7.2.5.1
services
>nginx
>ports
: You can change the default port if80
is already used on your machine. Example:"8080:80"
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.
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
AskOmics configuration is set using enviroment variables. This variables are set in askomics.env
. All entry if the askomics.ini
file can be overrided in this file using
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.