<aside> 👋 This page is part of the Getting Started collection. If you’re new to Thea then familiarizing yourself with the pages in this collection is a good idea.
</aside>
Thea is a relatively complicated piece of software, and due to its infancy, it needs some manual configuration before it will run correctly. This page aims to cover all the configs that can be set, as well as clearly define which of them you must set.
Thea accepts configuration in two ways:
$HOME/.config/thea/config.yaml
,However, it's worth noting that Thea does not require a YAML configuration file at all as long as users provide the mandatory configuration (documented below) via the use of environment variables.
Thea has reasonable defaults for most of its configuration. If you're sticking to the standard installation, including allowing Thea to self-manage its PostgreSQL instance via the Docker Engine, you'll only need to specify a handful of the values:
OMDB_API_KEY
:Â Generate one here.
FORMAT_IMPORT_PATH
: Absolute path to where Thea should look for your files.
FORMAT_DEFAULT_OUTPUT_DIR
: The default output directory for your transcoded media
DB_USERNAME
: The username Thea will use when creating your database, and for subsequent connections. The value isn't important, but you must provide one (although avoid using postgres
 as this is an existing user that Postgres creates automatically).
DB_PASSWORD
: The password Thea will use when creating your database, and for subsequent connections. The value isn't important, but you must provide one.
Example: Minimal YAML Configuration
<aside> đź’ˇ See Advanced Configuration for documentation of all the environment variables you can supply.
</aside>
If you need to debug a problem in Thea - or the stdout
output is a bit too noisy - changing the logging level used by Thea is often a good idea.
You can provide the THEA_LOG_LEVEL
environment variable (one of verbose
, debug
, info
, important
, warning
, error
, default info
).
<aside>
📢 Note: Unlike all other environment variables documented on this page, THEA_LOG_LEVEL
cannot be set in the YAML config file!
</aside>
If you want to use your own PostgreSQL instance - which is not recommended - then doing so is easy and the configuration instructions are essentially the same except:
SERVICES_ENABLE_POSTGRES
 environment variable to false
DB_USERNAME
 and DB_PASSWORD
 environment variables accordingly.DB_NAME
, DB_HOST
 and DB_PORT
 as required.If you've done the above correctly, Thea will successfully connect and authenticate with your database and promptly create/migrate the DB schema.
<aside> đź’ˇ Much like the above, this section has opted to specify the environment variable names, but you can set all this using the associated keys in your YAML config.
</aside>
For most installations, configuring as per the above is enough. If you're still setting up Thea, then you can likely move on to another page… One of these might be a good idea:
If the above configuration is not enough for your installation, then you can find the comprehensive set of what Thea allows you to configure here: