Your access key and the connection to your database. A missing or invalid value stops the startup.
Human Plugin reads its configuration from the environment once, at startup. Changing a value requires restarting the container.
Quick reference
The minimum .env for a database that uses the defaults below:
HUMAN_API_ACCESS_KEY=<your access key>
POSTGRES_ADDRESS_HOST=<database host>
POSTGRES_PASSWORD=<database password>
Access key
| Variable | Required | Notes |
|---|---|---|
HUMAN_API_ACCESS_KEY | Yes | Your access key. It connects the installation to Unico and identifies your account. No whitespace or control characters. Never logged |
The access key is a secret. Keep it in your secret store and inject it into the container at runtime.
Database connection
| Variable | Required | Default | Notes |
|---|---|---|---|
POSTGRES_ADDRESS_HOST | Yes | Host name or IP address of your PostgreSQL server | |
POSTGRES_PASSWORD | Yes | No whitespace, single quotes, backslashes or control characters. Human Plugin refuses to start with one, without logging the value | |
POSTGRES_ADDRESS_PORT | No | 5432 | |
POSTGRES_USER | No | postgres | Use a role dedicated to Human Plugin |
POSTGRES_DATABASE | No | human_plugin | Use a database dedicated to Human Plugin |
POSTGRES_SSL_MODE | No | require | Use disable only when PostgreSQL runs on the same host or as a sidecar |
The database must be used by Human Plugin only. The role needs permission to create tables in it: Human Plugin creates and updates its own tables at startup, before it accepts requests.
The password is a secret. Keep it in your secret store, as you do with the access key.
Everything else
The image sets every other value. Do not set other variables unless Unico asks you to: they are not part of the supported configuration.
Example
docker run -d --name human-plugin --stop-timeout 60 -p 127.0.0.1:8080:8080 \
-e HUMAN_API_ACCESS_KEY \
-e POSTGRES_ADDRESS_HOST=db.internal \
-e POSTGRES_USER=human_plugin \
-e POSTGRES_PASSWORD \
pkg.unico.run/human-plugin-api:latest
-e NAME without a value passes the variable from your shell, so the secrets do not appear in the command line.