app_name = Grafana app_mode = development [server] protocol = http domain = localhost root_url = %(protocol)s://%(domain)s:%(http_port)s/ http_addr = http_port = 3000 router_logging = false static_root_path = public enable_gzip = false [session] ; Either "memory", "file", default is "memory" provider = file ; Provider config options ; memory: not have any config yet ; file: session file path, e.g. `data/sessions` ; redis: config like redis server addr, poolSize, password, e.g. `127.0.0.1:6379,100,grafana` ; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table` provider_config = data/sessions ; Session cookie name cookie_name = grafana_sess ; If you use session in https only, default is false cookie_secure = false ; Enable set cookie, default is true enable_set_cookie = true ; Session GC time interval, default is 86400 gc_time_interval = 86400 ; Session life time, default is 86400 session_life_time = 86400 ; session id hash func, Either "sha1", "sha256" or "md5" default is sha1 session_id_hashfunc = sha1 ; Session hash key, default is use random string session_id_hashkey = [auth] anonymous = false anonymous_account_id = [auth.grafana] enabled = true [auth.github] enabled = false client_id = some_id client_secret = some_secret scopes = user:email auth_url = https://github.com/login/oauth/authorize token_url = https://github.com/login/oauth/access_token [auth.google] enabled = false client_id = some_client_id client_secret = some_client_secret scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email auth_url = https://accounts.google.com/o/oauth2/auth token_url = https://accounts.google.com/o/oauth2/token [database] ; Either "mysql", "postgres" or "sqlite3", it's your choice type = sqlite3 host = 127.0.0.1:3306 name = grafana user = root password = ; For "postgres" only, either "disable", "require" or "verify-full" ssl_mode = disable ; For "sqlite3" only path = data/grafana.db [log] root_path = ; Either "console", "file", "conn", "smtp" or "database", default is "console" ; Use comma to separate multiple modes, e.g. "console, file" mode = console ; Buffer length of channel, keep it as it is if you don't know what it is. buffer_len = 10000 ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace" level = Trace ; For "console" mode only [log.console] level = ; For "file" mode only [log.file] level = ; This enables automated log rotate(switch of following options), default is true log_rotate = true ; Max line number of single file, default is 1000000 max_lines = 1000000 ; Max size shift of single file, default is 28 means 1 << 28, 256MB max_lines_shift = 28 ; Segment log daily, default is true daily_rotate = true ; Expired days of log file(delete after max days), default is 7 max_days = 7