Ideon Logo
Ideon

Configuration

Ideon uses environment variables for configuration. The primary file is .env, which can be generated by the installer.

Environment Variables

Core

  • APP_PORT: Port for HTTP and WebSocket traffic.
  • APP_URL: Public base URL for links and OAuth callbacks.
  • TIMEZONE: Label for server logs.

Database

  • SQLITE_PATH: Path to SQLite file in development.
  • DB_HOST: Postgres host.
  • DB_PORT: Postgres port.
  • DB_NAME: Postgres database name.
  • DB_USER: Postgres username.
  • DB_PASS: Postgres password.
  • DB_SSL: Set to true to enable TLS.

Security

  • SECRET_KEY: Master key used to derive internal secrets.
  • AUTH_URL: Override for Auth.js base URL.
  • LOG_LEVEL: Pino logger level.
  • DEV_ALLOWED_ORIGINS: Comma separated origins to allow for CORS in development.
  • GIT_ALLOWED_HOSTS: Comma-separated list of hostnames/IPs to bypass SSRF protection.
    • Purpose: Allows fetching stats from internal/private Git servers (e.g., self-hosted GitLab) that would otherwise be blocked by security filters.
    • Example: gitlab.corp.local,10.0.1.5
  • SHELL_MAX_SESSIONS: Maximum number of concurrent shell sessions per project.
    • Default: 2.
    • Disable: Set to 0 to prevent any usage of the Shell Block.

SMTP

  • SMTP_FROM_EMAIL: Sender address.
  • SMTP_FROM_NAME: Sender display name.
  • SMTP_HOST: SMTP host.
  • SMTP_PORT: SMTP port.
  • SMTP_USER: SMTP username.
  • SMTP_PASSWORD: SMTP password.
  • SMTP_USE_TLS: true or false for STARTTLS.

Database Mode

  • Development uses SQLite when NODE_ENV=development.
  • Production uses Postgres when DB_HOST, DB_NAME, DB_USER, and DB_PASS are set.

Dynamic Configuration

Some settings are managed directly within the application (Admin Panel) and stored in the database:

  • OAuth Providers: Client IDs and Secrets for Google, Discord, Slack, etc.
  • SAML/SSO: Identity Provider (IdP) configuration.
  • Registration: Toggle public registration or invite-only mode.