Skip to content

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.

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

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.

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