Environment Configuration
Arx relies on Docker environment variables for configuration, enabling flexible setup across different environments. Use the configuration provided in the Docker template to get started, and customize these settings as needed with docker compose -f <var.env> up.
Arx Settings
| Variable |
Description |
Default Value |
PROTEIN_FASTA_ENDINGS |
Sets the file extension expected for protein FASTA files. |
faa |
DEFAULT_ANNOTATION_TYPE |
Defines the annotation type used as the default for the application. |
OL |
ORTHOFINDER_ENABLED |
Enables OrthoFinder for ortholog analysis. |
false |
CLUSTALO_ENABLED |
Enables Clustal Omega for sequence alignment. |
false |
IQTREE_ENABLED |
Enables IQ-TREE for phylogenetic inference. |
false |
RAXML_ENABLED |
Enables RAxML-ng for phylogenetic analysis. |
false |
LOGIN_MESSAGE |
Customizable login message, e.g., "Welcome to the Arx demo server!". |
None |
DEFAULT_GENOMES_TABLE_URL |
Defines filter parameters for the genomes table. |
None |
DISABLE_PERMISSION_CHECKS |
When set to True, the permissions are not checked. Every logged in user has access to all genomes. |
False |
DEFAULT_PERMISSION |
Define global view permissions for genomes or groups of genomes. These permissions are applied to all users (including unauthenticated users, if LOGIN_REQUIRED=false). Accepts a comma-separated list of genomes or magic strings. |
None |
System Settings
| Variable |
Description |
Default Value |
DEBUG |
Toggles Django’s debug mode. |
false |
LOG_LEVEL |
Configures logging verbosity. |
INFO |
DJANGO_SECRET_KEY |
Secret key for Django’s cryptographic signing. |
None |
DJANGO_ALLOWED_HOSTS |
Comma-separated list of hostnames or IPs allowed to access the app. |
None |
LOGIN_REQUIRED |
Enforces login for accessing the application when set to true. |
false |
UWSGI_WORKERS |
Specifies the number of uWSGI workers for handling requests. |
5 |
HUEY_WORKERS |
Sets the number of workers for the Huey task queue. |
None |
HARAKIRI |
Specifies uWSGI’s request timeout in seconds. |
60 |
NO_STARTUP |
The container never starts nginx, postgres or arx. Useful for debugging or prepopulating folder_structure |
false |
CACHE_MAXSIZE |
Maximum cache size in MB. |
20 |
LICENSE_PROXY |
Specifies the proxy server to use when connecting to the Abrinca license verification server (e.g., https://proxy.example.com:3128) |
None |
RUN_NGINX |
Controls whether nginx should be started inside the container |
true |
RUN_POSTGRES |
Controls whether PostgreSQL should be started inside the container. If set to false, you must provide POSTGRES_HOST POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, and POSTGRES_PASSWORD for an external database |
true |
Note:
If the Harakiri timeout (set via the HARAKIRI environment variable) is modified, ensure that the corresponding uwsgi_read_timeout setting in the nginx configuration is updated accordingly. Mismatched values may lead to unexpected request timeouts or dropped connections.
PostgreSQL Database Settings
| Variable |
Description |
Default Value |
POSTGRES_HOST |
Database hostname. |
db |
POSTGRES_PORT |
Database port. |
5432 |
POSTGRES_DB |
Name of the PostgreSQL database. |
arx_db |
POSTGRES_USER |
Username for the database. |
postgres |
POSTGRES_PASSWORD |
Password for database authentication. |
postgres |
| Variable |
Description |
Default Value |
DB_BACKUP_ENABLED |
Enables daily database backups when set to true. |
false |
DB_BACKUP_DIR |
Directory where backups are stored. |
/data/db_backup |
DB_BACKUP_TIME |
Time (HH:MM) when the backup should run daily. |
00:00 |
DB_BACKUP_RETENTION_DAYS |
Number of days to retain backups before deletion. |
7 |
This configuration allows you to quickly tune environment-specific settings for development, testing, and production, with optional variables for additional functionality. Ensure all required fields are populated, especially in production environments.