pve-agents
Reference

Environment variables

Configuration read when the controller starts.

.env.example is authoritative. Copy it to .env for development; use a root-readable EnvironmentFile in production.

Controller and sign-in

VariablePurpose
DATABASE_PATHPersistent SQLite path; parent directory must be writable.
CONTROLLER_IDStable deployment UUID used in ownership markers.
CONTROLLER_HOST, CONTROLLER_PORTListener address and port; default is 127.0.0.1:3000.
CONTROLLER_URLExact browser origin; required for correct cookies and CSRF handling.
CONTROLLER_AUTH_SECRET32+ character signing secret for sessions and API keys.
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRETGitHub OAuth app used for operator sign-in.
CONTROLLER_OPERATOR_GITHUB_IDNumeric GitHub ID of the only permitted operator.

Generate the signing secret with:

head -c 48 /dev/urandom | base64 | tr -d '
='

Provisioning

VariablePurpose
PROVISIONING_ENABLEDGates Proxmox writes; default false.
PROXMOX_URL, PROXMOX_TOKEN_ID, PROXMOX_TOKEN_SECRETProxmox API connection.
PROXMOX_NODE, PROXMOX_TEMPLATE_VMID, PROXMOX_POOL, PROXMOX_BRIDGEWorkspace placement and network.
PROXMOX_VMID_MINLower bound for disposable workspace VMIDs.
WORKSPACE_SSH_USER, WORKSPACE_SSH_KEY_PATHSSH identity used to manage workspaces.
WORKSPACE_SUBNETAccepted workspace network for address discovery.

Enabling provisioning requires the authentication and GitHub settings in addition to a valid Proxmox configuration.

Repository access and worker

VariablePurpose
GITHUB_APP_ID, GITHUB_APP_INSTALLATION_ID, GITHUB_APP_PRIVATE_KEY_PATHGitHub App used for clone and push.
GITHUB_TOKEN_REFRESH_SECONDSRefreshes the short-lived workspace GitHub token; default 2400.
WORKER_ENABLEDRuns the operation worker in the controller; default false.
WORKER_INTERVAL_SECONDSWorker interval in seconds; default 5.
WORKSPACE_ACTIVITY_INTERVAL_SECONDSReady-workspace activity interval; default 30.

Managed in Settings

Agent credentials and reaping policy are stored in the database and configured from Settings. Changes to them do not need a controller restart. NODE_EXTRA_CA_CERTS, if required, must be set by systemd or the process environment because Node reads it before the application loads the env file.

Last updated on

On this page