Skip to content

Overview

The configuration of Tower instance can be controlled using various environment variables specified in the tower.env file and the tower.yml file.

The following environment variables control the Tower configuration and deployment.

Generic options#

  • TOWER_SERVER_URL: Server URL e.g. https://tower.your-company.com (MANDATORY).
  • TOWER_CONTACT_EMAIL: Sysadmin email contact e.g. tower@your-company.com (MANDATORY).
  • TOWER_LICENSE: Your Tower license key. If you don't have a license key contact Seqera sales team (MANDATORY).
  • TOWER_APP_NAME: Application name (default: Tower).
  • TOWER_CONFIG_FILE: Custom path for the tower.yml file.
  • TOWER_LANDING_URL: Customize the landing page for the application (requires Tower 21.10.1 or later).
  • TOWER_CRON_SERVER_PORT: Define the HTTP port usd by the Tower cron service (default: 8080, requires Tower 21.06.1 or later).
  • TOWER_USER_WORKSPACE_ENABLED : Enable or disable the showing of the user private workspace context. (default: true, requires Tower 22.1.0 or later).

Tower and Redis Databases#

For further information, please refer to Tower and Redis Databases.

  • TOWER_DB_URL: Database JDBC connection URL e.g. jdbc:mysql://localhost:3307/tower (MANDATORY).
  • TOWER_DB_USER: Database user name (MANDATORY).
  • TOWER_DB_PASSWORD: Database user password (MANDATORY).
  • TOWER_DB_DRIVER: Database JDBC driver class name (default: org.mariadb.jdbc.Driver).
  • TOWER_DB_DIALECT: Database SQL Hibernate dialect (default: io.seqera.util.MySQL55DialectCollateBin).
  • TOWER_DB_MIN_POOL_SIZE: Database min connections pool size e.g. 5 (default: 5).
  • TOWER_DB_MAX_POOL_SIZE: Database max connections pool size e.g. 20 (default: 10).
  • TOWER_DB_MAX_LIFETIME: Database max lifespan of connections in milliseconds (default: 1800000)
  • TOWER_REDIS_URL: Custom Redis instance connection URL (default: redis://redis:6379, requires Tower 21.06.1 or later).

Mail Server#

For further information, please refer to Mail Server.

  • TOWER_SMTP_HOST: SMTP server host name e.g. email-smtp.eu-west-1.amazonaws.com (MANDATORY).
  • TOWER_SMTP_USER: SMTP server user name (MANDATORY).
  • TOWER_SMTP_PASSWORD: SMTP server user password (MANDATORY).
  • TOWER_SMTP_PORT: SMTP server port e.g. 587 (default: 587).
  • TOWER_SMTP_AUTH: SMTP server authentication e.g. true (default: true).

Cryptographic options#

  • TOWER_JWT_SECRET: Secret used to generate the login JWT token. Use a long random string (35 chars or more) (MANDATORY).
  • TOWER_CRYPTO_SECRETKEY: Secret key used to encrypt user credentials. Use a long random string (MANDATORY).

Warning

The TOWER_CRYPTO_SECRETKEY should not be modified or altered across Tower starts, otherwise the application won't be able to decrypt the corresponding data. Use different keys for independent installations (e.g. test and production). Make sure to store a copy in a safe location.

Compute Environments#

For further information, please refer to Compute Environments.

  • TOWER_ENABLE_PLATFORMS: Comma separate list of execution backends to be enabled (MANDATORY).
  • MICRONAUT_ENVIRONMENTS: Enable specific configuration profile for the Micronaut backend service (MANDATORY).

Platform specific options#

For further information, please refer to the advanced topics page.

  • TOWER_ALLOW_INSTANCE_CREDENTIALS: Configure Tower to use IAM Role rather than providing IAM User credential (AWS only) .

Nextflow launch container#

  • TOWER_LAUNCH_CONTAINER: Container image to run Nextflow execution (requires Tower 20.10.2 or later)

Tower API#

For further information, please refer Tower API page.

  • TOWER_ENABLE_OPENAPI: Set true to enable OpenAPI documentation endpoint.

Admin panel#

Note

This feature is available in Tower 21.10.3, 21.12.1, and 22.1.0 (or later).

To enable the access to application admin panel for specific users i.e. root users, please add the TOWER_ROOT_USERS variable to your tower.env file. You can specify the user email IDs, separated by commas , as value for this variable. For example

1
TOWER_ROOT_USERS=user1@myorg.com,user2@myorg.com

Custom navigation menu#

To modify the Tower top navigation menu and add custom menu items, add a configuration snippet similar the one shown below in the tower.yml configuration file:

1
2
3
4
5
6
7
tower:
  navbar:
    menus:
      - label: "My Community"
        url: "https://host.com/foo"
      - label: "My Pipelines"
        url: "https://other.com/bar"

Logging format#

To change the output format of Tower logs, the TOWER_LOG_APPENDER_TYPE variable can be used. The available logging formats are STDOUT (default) and JSON.

1
TOWER_LOG_APPENDER_TYPE=JSON
Back to top