Skip to main content

Server Configuration

All values are set in <ICP_HOME>/conf/deployment.toml. Commented-out keys show default values.

Server settings

KeyTypeDefaultDescription
serverPortint9446HTTPS port for all ICP endpoints
serverHoststring"0.0.0.0"Bind address
logLevelstring"INFO"Log verbosity — DEBUG, INFO, WARN, ERROR
enableAuditLoggingbooleantrueEnable audit log for authentication and management events
enableMetricsbooleantrueExpose Prometheus metrics endpoint
schedulerIntervalSecondsint60How often ICP checks for inactive runtimes and marks them as offline
refreshTokenCleanupIntervalSecondsint86400How often expired refresh tokens are purged from the database

Backend endpoint settings

These values default to localhost:9446 and must be updated when ICP is accessed through a different hostname or behind a reverse proxy.

KeyTypeDefaultDescription
backendGraphqlEndpointstring"https://localhost:9446/graphql"URL of the ICP GraphQL API endpoint
backendAuthBaseUrlstring"https://localhost:9446/auth"Base URL of the ICP authentication service
backendObservabilityEndpointstring"https://localhost:9446/icp/observability"URL of the ICP observability endpoint

Authentication settings

KeyTypeDefaultDescription
authBackendUrlstring"https://localhost:9447"URL of the authentication backend service
frontendJwtHMACSecretstringHMAC-SHA256 secret for signing JWT tokens (minimum 32 characters)
defaultTokenExpiryTimeint3600JWT access token lifetime in seconds
refreshTokenExpiryTimeint86400Refresh token lifetime in seconds (default: 1 day)
enableRefreshTokenRotationbooleantrueRotate refresh token on each use
maxRefreshTokensPerUserint10Maximum active refresh tokens per user (0 = unlimited)