Skip to content

Config file options

Telescope is configured via a YAML file. Set the TELESCOPE_CONFIG_FILE environment variable to its path.

For default values, see config.py.

OptionDescription
auth.force_auth_providerForce login via a specific provider: github or okta. When set, the login page redirects automatically. See Authentication & authorization.
auth.local_login_secret_pathSecret URL segment for emergency local login when forced auth is enabled (e.g. emergency-abc123 creates /login/emergency-abc123).
auth.enable_testing_authAlways authenticate without any conditions. For development use only.
auth.testing_auth_usernameUsername to use when enable_testing_auth is enabled. Default: telescope.
OptionDescription
auth.providers.github.enabledEnable login via GitHub.
auth.providers.github.client_idGitHub OAuth app client ID.
auth.providers.github.keyGitHub OAuth app key.
auth.providers.github.secretGitHub OAuth app secret.
auth.providers.github.default_groupGroup to add users to on first login. The group must already exist.
auth.providers.github.organizationsIf set, restrict login to members of these GitHub organizations.
OptionDescription
auth.providers.okta.enabledEnable login via Okta.
auth.providers.okta.client_idOkta OAuth client ID.
auth.providers.okta.secretOkta OAuth client secret.
auth.providers.okta.base_urlOkta base URL (e.g. https://yourcompany.okta.com).
auth.providers.okta.default_groupGroup to add users to on first login. The group must already exist.
auth.providers.okta.scopeOAuth scopes to request (space-separated). Default: openid profile email.
auth.providers.okta.pkce_enabledEnable PKCE (Proof Key for Code Exchange) for enhanced security. Default: true.

Passed directly to Django settings. Supports any Django setting.

OptionDescription
django.CSRF_TRUSTED_ORIGINSList of trusted origins for CSRF validation. Must include your domain when running behind a reverse proxy.
django.ALLOWED_HOSTSList of allowed hostnames. Required when DEBUG is false.
django.DATABASESDjango database configuration. Defaults to SQLite. Supports any Django database backend.
django.CACHESDjango cache configuration. Defaults to database cache. Supports any Django cache backend.
django.DEBUGEnable Django debug mode. Default: false.
OptionDescription
gunicorn.bindAddress and port to listen on. Default: 127.0.0.1:9898.
gunicorn.workersNumber of worker processes. Default: 8.
gunicorn.timeoutWorker timeout in seconds. Default: 120.
gunicorn.max_requestsMax requests a worker handles before being restarted. Default: 50.
gunicorn.max_requests_jitterRandom jitter added to max_requests to avoid all workers restarting simultaneously. Default: 50.
OptionDescription
limits.max_saved_views_per_userMaximum number of saved views a user can create. Set to 0 for unlimited. Default: 0.
OptionDescription
frontend.base_urlURL subpath for running Telescope behind a reverse proxy (e.g. /telescope). See Running behind a reverse proxy.
frontend.show_github_urlShow the GitHub link in the top navigation bar. Default: true.
frontend.github_urlGitHub URL shown in the top bar.
frontend.show_docs_urlShow the docs link in the top navigation bar. Default: true.
frontend.docs_urlDocs URL shown in the top bar.
OptionDescription
logging.formatLog output format. Options: default, dev, json. Default: default.
logging.levelsLog level overrides per logger (e.g. django, telescope). Supports any Python logger name.
auth:
providers:
github:
enabled: false
default_group: null
client_id: ''
key: ''
secret: ''
organizations: []
okta:
enabled: false
client_id: ''
secret: ''
base_url: ''
default_group: null
scope: 'openid profile email'
pkce_enabled: true
force_auth_provider: null
local_login_secret_path: null
enable_testing_auth: false
testing_auth_username: telescope
django:
CSRF_TRUSTED_ORIGINS:
- http://localhost:9898
DATABASES:
default:
ENGINE: django.db.backends.sqlite3
NAME: telescope-default-db.sqlite3
CACHES:
default:
BACKEND: django.core.cache.backends.db.DatabaseCache
LOCATION: telescope_cache
DEBUG: false
gunicorn:
bind: 127.0.0.1:9898
max_requests: 50
max_requests_jitter: 50
timeout: 120
workers: 8
limits:
max_saved_views_per_user: 0
frontend:
show_github_url: true
github_url: ""
show_docs_url: true
docs_url: ""
base_url: ""
logging:
format: default
levels:
all: DEBUG
django: DEBUG
django.request: DEBUG
django.template: INFO
django.utils.autoreload: INFO
telescope: DEBUG