Skip to content

Environment variables

Home Lab needs no environment variables to run - sensible defaults apply. The variables below let you tune ports, storage, TLS and caching.

Core

VariableDefaultDescription
PORT8088Port the server listens on
HOST0.0.0.0Bind address
DATA_DIR/dataWhere the SQLite DB and backups live (persist this)
STATIC_DIRproject rootDirectory the static front-end is served from
SEEDfalseSeed demo data on first run (leave off for an empty start)

Backups

VariableDefaultDescription
BACKUP_KEEP7How many daily backups to retain

Caching & timeouts

VariableDefaultDescription
WIDGET_TTL_MS8000How long widget responses are cached
HEALTH_TTL_MS-Cache TTL for health-source samples
STATUS_TTL_MS-Cache TTL for service status
STATUS_INTERVAL_MS-How often background status refresh runs
FETCH_TIMEOUT_MS-Upstream request timeout

TLS

VariableDefaultDescription
INSECURE_TLSoffAccept self-signed certs from upstream services (e.g. Proxmox)
NODE_TLS_REJECT_UNAUTHORIZED1Node's global TLS verification toggle

Self-signed upstreams

Many homelab services (Proxmox, PBS) use self-signed certificates. Set INSECURE_TLS=1 so widget requests to them succeed. This only affects Home Lab's outbound requests to your services.

Example

yaml
services:
  homelab:
    image: homelab:latest
    environment:
      PORT: 8088
      DATA_DIR: /data
      BACKUP_KEEP: 7
      INSECURE_TLS: 1
    volumes:
      - homelab-data:/data
    ports:
      - "8088:8088"

volumes:
  homelab-data:

Next steps