Configuration reference
Most of what you’ll ever change lives in the web UI. The few things that have to be decided before Envoryx starts - where its folders are, which ports it listens on, how long sessions last - are environment variables on its container. This page lists all of them, so you don’t have to go hunting.
Environment variables
Section titled “Environment variables”| Variable | Default | Description |
|---|---|---|
PUID / PGID |
99 / 100 |
uid/gid the project containers run as and project directories are owned by - your user’s id -u / id -g outside Unraid |
ENVORYX_LISTEN |
:8787 |
address of the web UI and API |
ENVORYX_CONFIG_DIR |
/config |
persistent state (SQLite, CA, keys, generated configuration, caches); must be a local filesystem |
ENVORYX_PROJECTS_DIR |
/projects |
root of all project directories |
ENVORYX_BACKUPS_DIR |
/backups if it exists, else /config/backups |
where project backups are stored |
ENVORYX_PROJECTS_HOST_PATH / ENVORYX_CONFIG_HOST_PATH |
detected | host paths behind /projects and /config, when detection fails |
ENVORYX_ALLOW_NETWORK_FS |
false |
start even if /config is on NFS/SMB - not recommended |
ENVORYX_PORT_RANGE_START / _END |
20000 / 20999 |
host ports assigned to projects |
ENVORYX_NETWORK_POOL |
10.213.0.0/16 |
IPv4 range each new project network gets a /24 of (256 projects per /16); off leaves the choice to Docker, whose default ranges run out after about 30 networks. Pick a range your LAN and VPN don’t use |
ENVORYX_PUBLIC_HOST |
browser address | host used for project links (also in Settings → Domains & HTTPS → Project links & developer machine) |
ENVORYX_PROXY_HTTP |
:80 |
HTTP listener of the proxy inside the container; empty disables it |
ENVORYX_PROXY_HTTPS |
:443 |
HTTPS listener of the proxy; empty disables HTTPS |
ENVORYX_SSH |
:2222 |
SSH server for IDEs; empty disables it |
ENVORYX_ADMIN_USER / ENVORYX_ADMIN_PASSWORD |
- | create the first admin without the setup page |
ENVORYX_SECRET_KEY |
- | key that encrypts the stored secrets (base64 of 32 bytes or 64 hex digits, e.g. openssl rand -base64 32); without it Envoryx keeps one in /config/secret.key, see the secret key |
ENVORYX_SECRET_KEY_OLD |
- | the previous key, for one start after changing ENVORYX_SECRET_KEY |
ENVORYX_SESSION_IDLE_TIMEOUT |
12h |
sliding session expiry |
ENVORYX_SESSION_ABSOLUTE_TIMEOUT |
168h |
hard session expiry |
ENVORYX_SECURE_COOKIES |
false |
mark cookies Secure (enable behind HTTPS) |
ENVORYX_UPDATE_CHECK |
true |
ask GitHub once a day for a newer release |
ENVORYX_SHUTDOWN_GRACE |
8s |
how long running operations may finish after a stop signal (keep below the stop timeout) |
ENVORYX_LOG_LEVEL |
info |
debug, info, warn, error |
ENVORYX_LOG_FORMAT |
json |
json or text |
DOCKER_HOST |
unix socket | Docker endpoint, e.g. a socket proxy |
TZ |
- | time zone for schedules (backups, cron jobs), e.g. Europe/Berlin |
The three directories
Section titled “The three directories”Envoryx keeps everything in three places. It helps to know what’s where, especially when you decide which disk they go on:
| Mount | Holds | Notes |
|---|---|---|
/config |
database, CA, SSH keys, settings, log history, package cache, Ollama models | local disk only; on Unraid preferably the cache pool |
/projects |
one directory per project | your code - bind-mounted into the project containers |
/backups (optional) |
project backups and instance backups | e.g. on the Unraid array; without it backups go to /config/backups |
The dashboard shows how much space is left on all three. When one drops below 2 GiB or 5 %, you get a notification, and Envoryx refuses to start a backup that would leave less than 512 MiB free.
Requirements
Section titled “Requirements”Not much:
- Linux with Docker Engine 24 or newer (Unraid 6.12+ / 7.x or any distribution)
- x86_64 or arm64 - all Envoryx images are multi-arch