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 totrueto 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
0to prevent any usage of the Shell Block.
- Default:
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:trueorfalsefor STARTTLS.
Database Mode
- Development uses SQLite when
NODE_ENV=development. - Production uses Postgres when
DB_HOST,DB_NAME,DB_USER, andDB_PASSare 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.