Skip to content

Configuration

Configuring the service is done through environment variables.

There are a couple of groups of variables:

  • Service - configuration of the service itself, e.g. ports and logging
  • Storage - configuration of the storage, e.g. file paths to asset folder
  • Jwt - configuration of the JWT authentication, e.g. secret key
  • Features - configuration options for enabling or disabling certain features

Service

Variable Default Description
SERVICE_PORT 3340 Port on which the service will listen
SERVICE_HOST 0.0.0.0 Host on which the service will listen
SERVICE_LOG_FORMAT text Log output format: json for json logging, text for human readable logging
SERVICE_LOG_LEVEL info Log level (trace, debug, info, warn, error, fatal)

Storage

Variable Default Description
STORAGE_ASSET_DIR localdev/storage/images Path to the folder where the assets will be stored
STORAGE_TEMP_DIR localdev/storage/temp Path to the folder where temporary files will be created

The layout in these folders is explained in detail in the chapter "Filesystem Setup".

Jwt

Variable Default Description
JWT_SECRET UP 4888, nice 4-8-4 steam engine Secret key used to sign the JWT tokens, must be a valid H256 secret
JWT_ISSUER http://0.0.0.0:3333 Expected issuer claim in the JWT
JWT_AUDIENCE http://localhost:3340 Expected audience claim in the JWT
JWT_DISABLE_AUTH false Disable JWT authentication, useful for local development.
When set to true protected routes still expect a Bearer token but it can be any value.

Database

Variable Default Description
DB_JDBC_URL jdbc:sqlite:localdev/storage/db/ingest.sqlite Jdbc Url for the sqlite database. Everything after jdbc:sqlite: is the path to the file where the data is stored.

Features

Variable Default Description
ALLOW_ERASE_PROJECTS false If set to true, the endpoint DELETE /projects/:shortcode/erase will be enabled. This endpoint can remove all data related to a project permanently.