Skip to main content
Version: Next

Cockpit Configuration

This page documents the environment variables and settings for deploying the Starlake Cockpit and its REST API backend. All settings are configured through environment variables.

Deployment Modes​

The SL_API_MODE variable controls which authentication methods are available:

ModeDescription
LOCALOn-premises deployment. Only email/password authentication is enabled. This is the default.
CLOUDCloud deployment. OAuth providers are enabled.
ALLBoth on-premises and cloud authentication methods are available.
SAASMulti-tenant SaaS mode with user isolation, disk quotas, and all authentication methods.

HTTP Server​

VariableDescriptionDefault
SL_API_HTTP_PORTPort the API server listens on9900
SL_API_HTTP_INTERFACENetwork interface to bind to0.0.0.0
SL_API_HTTP_FRONT_URLPublic URL of the Cockpit frontendhttp://localhost:9900
SL_API_FILE_UPLOAD_MAX_CONTENT_LENGTHMaximum file upload size1000 MiB

Session and Cookies​

VariableDescriptionDefault
SL_API_SERVER_SECRETSecret key used to encrypt session cookies. Change this in production.Built-in default
SL_API_DOMAINCookie domain for session cookiesstarlake.ai
SL_API_SECURESet to true to require HTTPS for cookiestrue
SL_API_SESSION_AS_HEADERSend session data as a header in addition to the cookietrue
SL_API_MAX_AGE_MINUTESSession expiration time in minutes120

Database​

The Cockpit stores user accounts, project metadata, and configuration in a PostgreSQL database.

VariableDescriptionDefault
SL_API_JDBC_URLJDBC connection URLRequired
SL_API_JDBC_USERDatabase usernameRequired
SL_API_JDBC_PASSWORDDatabase passwordRequired
SL_API_JDBC_DRIVERJDBC driver classorg.postgresql.Driver
SL_API_JDBC_HOSTDatabase hoststarlake-db
SL_API_JDBC_PORTDatabase port5432

Database schema migrations are applied automatically on startup using Flyway.

Authentication Providers​

Email and Password​

Built-in authentication with no additional configuration required. Users register with an email address and password. Accounts are locked after 10 consecutive failed login attempts (configurable via SL_API_AUTH_MAX_FAILURES).

Google OAuth​

VariableDescriptionDefault
SL_API_GOOGLE_CLIENT_IDGoogle OAuth 2.0 client IDEmpty — disabled
SL_API_GOOGLE_CLIENT_SECRETGoogle OAuth 2.0 client secretEmpty — disabled

Set both variables to enable Google sign-in. Create credentials in the Google Cloud Console with the callback URL <front-url>/api/v1/auth/google/callback.

GitHub OAuth​

VariableDescriptionDefault
SL_API_GITHUB_CLIENT_IDGitHub OAuth app client IDEmpty — disabled
SL_API_GITHUB_CLIENT_SECRETGitHub OAuth app client secretEmpty — disabled

Set both variables to enable GitHub sign-in. Create an OAuth app in GitHub Settings with the callback URL <front-url>/api/v1/auth/github/callback.

Azure OAuth​

VariableDescriptionDefault
SL_API_AZURE_CLIENT_IDAzure AD application (client) IDEmpty — disabled
SL_API_AZURE_CLIENT_SECRETAzure AD client secretEmpty — disabled

Set both variables to enable Azure sign-in. Register an application in the Azure Portal with the callback URL <front-url>/api/v1/auth/azure/callback.

OIDC (Generic)​

VariableDescriptionDefault
SL_API_OIDC_CLIENT_IDOIDC client IDEmpty — disabled
SL_API_OIDC_CLIENT_SECRETOIDC client secretEmpty — disabled
SL_API_OIDC_DISCOVERY_URLOpenID Connect discovery URL (e.g., https://idp.example.com/.well-known/openid-configuration)Empty — disabled

Set all three variables to enable generic OIDC sign-in. This works with any OIDC-compliant identity provider (Okta, Auth0, Keycloak, Amazon Cognito, etc.).

Auth0​

To use Auth0 as your OIDC provider, create an application in the Auth0 Dashboard and add the callback URL <front-url>/api/v1/auth/oidc/callback to the allowed callback URLs. Then set:

  • SL_API_OIDC_CLIENT_ID — the Auth0 application client ID
  • SL_API_OIDC_CLIENT_SECRET — the Auth0 application client secret
  • SL_API_OIDC_DISCOVERY_URL — https://<your-tenant>.auth0.com/.well-known/openid-configuration

Keycloak​

To use Keycloak as your OIDC provider, create a client in your Keycloak realm with Client authentication enabled and add the callback URL <front-url>/api/v1/auth/oidc/callback as a valid redirect URI. Then set:

  • SL_API_OIDC_CLIENT_ID — the Keycloak client ID
  • SL_API_OIDC_CLIENT_SECRET — the Keycloak client secret (from the Credentials tab)
  • SL_API_OIDC_DISCOVERY_URL — https://<keycloak-host>/realms/<realm-name>/.well-known/openid-configuration

Amazon Cognito​

To use Amazon Cognito as your OIDC provider, create a User Pool in the AWS Console and configure an app client with the callback URL <front-url>/api/v1/auth/oidc/callback. Then set:

  • SL_API_OIDC_CLIENT_ID — the Cognito app client ID
  • SL_API_OIDC_CLIENT_SECRET — the Cognito app client secret
  • SL_API_OIDC_DISCOVERY_URL — https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration

Snowflake OAuth​

Snowflake OAuth is configured through the platform settings table in the database rather than environment variables. It supports automatic token refresh when tokens expire.

Email (SMTP)​

Configure SMTP to enable email notifications, magic link sign-up, and password reset.

VariableDescriptionDefault
SL_API_MAIL_FROMSender email address[email protected]
SL_API_MAIL_HOSTSMTP server hostnamesmtp.gmail.com
SL_API_MAIL_PORTSMTP server port587
SL_API_MAIL_USERSMTP authentication usernameRequired
SL_API_MAIL_PASSWORDSMTP authentication passwordRequired
SL_API_MAIL_TLSEnable TLS for SMTP connectionstrue

AI Integration​

The AI assistant requires a running LLM service endpoint.

VariableDescriptionDefault
SL_API_AI_URLURL of the AI/LLM servicehttp://localhost:8000
SL_API_AI_MODELDefault model namellama3:latest
SL_AI_APPLICATION_KEYApplication key for the AI serviceunknown
SL_API_AI_MODEL_NAMESComma-separated list of enabled AI providersopenai,gemini,claude,anthropic

Orchestrator​

VariableDescriptionDefault
SL_API_ORCHESTRATOR_URLOrchestrator web UI URL (Airflow, Dagster)http://localhost/airflow/
SL_API_ORCHESTRATOR_PRIVATE_URLInternal orchestrator API URL (if different from public URL)Empty
SL_API_AIRFLOW_USERAirflow basic auth usernameairflow
SL_API_AIRFLOW_PASSWORDAirflow basic auth passwordairflow

Storage and Limits​

VariableDescriptionDefault
SL_API_PROJECTS_ROOTRoot directory for all project files on the serverEmpty
SL_API_MAX_USER_SPACE_MBMaximum disk space per user in MB (SAAS mode)1
SL_API_DAG_FOLDERDirectory name for generated DAG files relative to project rootdags