services: rackpad: image: ${RACKPAD_IMAGE:-ghcr.io/kobii-git/rackpad}:${RACKPAD_TAG:-1.5.2} container_name: rackpad init: true restart: unless-stopped environment: NODE_ENV: production HOST: 0.0.0.0 PORT: 3000 DATABASE_PATH: /data/rackpad.db MONITOR_INTERVAL_MS: ${MONITOR_INTERVAL_MS:-300000} TRUST_PROXY: ${TRUST_PROXY:-0} TRUSTED_HOSTS: ${TRUSTED_HOSTS:-} TRUSTED_ORIGINS: ${TRUSTED_ORIGINS:-} APP_URL: ${APP_URL:-} OIDC_ENABLED: ${OIDC_ENABLED:-0} OIDC_ISSUER_URL: ${OIDC_ISSUER_URL:-} OIDC_CLIENT_ID: ${OIDC_CLIENT_ID:-} OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET:-} OIDC_REDIRECT_URI: ${OIDC_REDIRECT_URI:-} OIDC_LABEL: ${OIDC_LABEL:-OIDC} OIDC_DEFAULT_ROLE: ${OIDC_DEFAULT_ROLE:-viewer} OIDC_DEBUG: ${OIDC_DEBUG:-0} OIDC_ADMIN_USERS: ${OIDC_ADMIN_USERS:-} OIDC_EDITOR_USERS: ${OIDC_EDITOR_USERS:-} OIDC_VIEWER_USERS: ${OIDC_VIEWER_USERS:-} OIDC_ADMIN_GROUPS: ${OIDC_ADMIN_GROUPS:-} OIDC_EDITOR_GROUPS: ${OIDC_EDITOR_GROUPS:-} OIDC_VIEWER_GROUPS: ${OIDC_VIEWER_GROUPS:-} OUI_AUTO_UPDATE: ${OUI_AUTO_UPDATE:-1} DISCOVERY_MAC_SCAN_MODE: ${DISCOVERY_MAC_SCAN_MODE:-auto} ports: - "${RACKPAD_PORT:-3000}:3000" volumes: - rackpad_data:/data read_only: true tmpfs: - /tmp security_opt: - no-new-privileges:true healthcheck: test: [ "CMD", "node", "-e", "fetch('http://127.0.0.1:3000/api/health').then((res) => process.exit(res.ok ? 0 : 1)).catch(() => process.exit(1))", ] interval: 30s timeout: 5s retries: 3 start_period: 10s volumes: rackpad_data: