src/server/constants.js.
Core Variables
| Variable | Default Value | Description |
|---|---|---|
PORT | 11345 | The port the backend server listens on. |
SESSION_SECRET | (Required) | A random string used to sign session cookies. |
NODE_ENV | production | Set to development for local dev mode. |
ALLOWED_IPS | * (Open) | Comma-separated list of allowed IP addresses or CIDR ranges. |
ALLOW_PRIVATE_NETWORKS | true | Set to false or 0 to block access to local/private networks (SSRF protection). |
TRUST_PROXY | false | Set to true or 1 if running behind a reverse proxy (e.g., Nginx, AWS ALB). |
Execution
| Variable | Default Value | Description |
|---|---|---|
MAX_CONCURRENT_EXECUTIONS | (unlimited) | Maximum number of tasks that can run simultaneously. Excess requests are queued until a slot is available. |
0) for unlimited concurrency — this is the default and matches the behavior of earlier versions.
This is useful when running on resource-constrained hosts or when you want to prevent a burst of scheduled tasks from overwhelming the browser pool.
Rate Limiting
| Variable | Default Value | Description |
|---|---|---|
AUTH_RATE_LIMIT_MAX | 10 | Max failed login attempts per window (15 mins). |
DATA_RATE_LIMIT_MAX | 100 | Max data requests (captures, logs) per window (15 mins). |
VNC / Headful Debugging
| Variable | Default Value | Description |
|---|---|---|
NOVNC_PORT | 54311 | Port for the noVNC web interface. |
Feature Flags
| Variable | Default Value | Description |
|---|---|---|
SESSION_COOKIE_SECURE | false | Set to true if serving over HTTPS. |
Example .env File
Notes
- Allow Private Networks: By default,
ALLOW_PRIVATE_NETWORKSistrue, meaning figranium can access internal services. In production environments exposed to untrusted users, set this tofalse. - Session Secret: If
SESSION_SECRETis not provided, figranium will generate a random one on startup (or read fromdata/session_secret.txtif available). However, for consistent sessions across restarts, set a static secret. - Allowed IPs: If you expose figranium to the internet, always restrict access using
ALLOWED_IPSor authentication.