{{template "base/head" .}}
{{template "admin/navbar" .}}
{{template "base/alert" .}}

{{.i18n.Tr "admin.config.server_config"}}

{{.i18n.Tr "admin.config.app_name"}}
{{AppName}}
{{.i18n.Tr "admin.config.app_ver"}}
{{AppVer}}{{AppBuiltWith}}
{{.i18n.Tr "admin.config.custom_conf"}}
{{.CustomConf}}
{{.i18n.Tr "admin.config.app_url"}}
{{.AppUrl}}
{{.i18n.Tr "admin.config.domain"}}
{{.Domain}}
{{.i18n.Tr "admin.config.offline_mode"}}
{{.i18n.Tr "admin.config.disable_router_log"}}
{{.i18n.Tr "admin.config.run_user"}}
{{.RunUser}}
{{.i18n.Tr "admin.config.run_mode"}}
{{.RunMode}}
{{.i18n.Tr "admin.config.git_version"}}
{{.GitVersion}}
{{.i18n.Tr "admin.config.repo_root_path"}}
{{.RepoRootPath}}
{{.i18n.Tr "admin.config.static_file_root_path"}}
{{.StaticRootPath}}
{{.i18n.Tr "admin.config.custom_file_root_path"}}
{{.CustomRootPath}}
{{.i18n.Tr "admin.config.log_file_root_path"}}
{{.LogRootPath}}
{{.i18n.Tr "admin.config.script_type"}}
{{.ScriptType}}
{{.i18n.Tr "admin.config.reverse_auth_user"}}
{{.ReverseProxyAuthUser}}
{{if .EnvVars }}
{{range .EnvVars}}
{{.Name}}
{{.Value}}
{{end}} {{end}}

{{.i18n.Tr "admin.config.ssh_config"}}

{{.i18n.Tr "admin.config.ssh_enabled"}}
{{if not .SSH.Disabled}}
{{.i18n.Tr "admin.config.ssh_start_builtin_server"}}
{{.i18n.Tr "admin.config.ssh_domain"}}
{{.SSH.Domain}}
{{.i18n.Tr "admin.config.ssh_port"}}
{{.SSH.Port}}
{{.i18n.Tr "admin.config.ssh_listen_port"}}
{{.SSH.ListenPort}}
{{if not .SSH.StartBuiltinServer}}
{{.i18n.Tr "admin.config.ssh_root_path"}}
{{.SSH.RootPath}}
{{.i18n.Tr "admin.config.ssh_key_test_path"}}
{{.SSH.KeyTestPath}}
{{.i18n.Tr "admin.config.ssh_keygen_path"}}
{{.SSH.KeygenPath}}
{{.i18n.Tr "admin.config.ssh_minimum_key_size_check"}}
{{if .SSH.MinimumKeySizeCheck}}
{{.i18n.Tr "admin.config.ssh_minimum_key_sizes"}}
{{.SSH.MinimumKeySizes}}
{{end}} {{end}} {{end}}

{{.i18n.Tr "admin.config.lfs_config"}}

{{.i18n.Tr "admin.config.lfs_enabled"}}
{{if .LFS.StartServer}}
{{.i18n.Tr "admin.config.lfs_content_path"}}
{{.LFS.ContentPath}}
{{.i18n.Tr "admin.config.lfs_http_auth_expiry"}}
{{.LFS.HTTPAuthExpiry}}
{{end}}

{{.i18n.Tr "admin.config.db_config"}}

{{.i18n.Tr "admin.config.db_type"}}
{{.DbCfg.Type}}
{{if not (or (eq .DbCfg.Type "sqlite3") (eq .DbCfg.Type "tidb"))}}
{{.i18n.Tr "admin.config.db_host"}}
{{if .DbCfg.Host}}{{.DbCfg.Host}}{{else}}-{{end}}
{{.i18n.Tr "admin.config.db_name"}}
{{if .DbCfg.Name}}{{.DbCfg.Name}}{{else}}-{{end}}
{{.i18n.Tr "admin.config.db_user"}}
{{if .DbCfg.User}}{{.DbCfg.User}}{{else}}-{{end}}
{{end}} {{if eq .DbCfg.Type "postgres"}}
{{.i18n.Tr "admin.config.db_ssl_mode"}}
{{if .DbCfg.SSLMode}}{{.DbCfg.SSLMode}}{{else}}-{{end}}
{{end}} {{if or (eq .DbCfg.Type "sqlite3") (eq .DbCfg.Type "tidb")}}
{{.i18n.Tr "admin.config.db_path"}}
{{if .DbCfg.Path}}{{.DbCfg.Path}}{{else}}-{{end}}
{{end}}

{{.i18n.Tr "admin.config.service_config"}}

{{.i18n.Tr "admin.config.register_email_confirm"}}
{{.i18n.Tr "admin.config.disable_register"}}
{{.i18n.Tr "admin.config.allow_only_external_registration"}}
{{.i18n.Tr "admin.config.show_registration_button"}}
{{.i18n.Tr "admin.config.enable_openid_signup"}}
{{.i18n.Tr "admin.config.enable_openid_signin"}}
{{.i18n.Tr "admin.config.require_sign_in_view"}}
{{.i18n.Tr "admin.config.mail_notify"}}
{{/*
{{.i18n.Tr "admin.config.disable_key_size_check"}}
*/}}
{{.i18n.Tr "admin.config.enable_captcha"}}
{{.i18n.Tr "admin.config.default_keep_email_private"}}
{{.i18n.Tr "admin.config.default_allow_create_organization"}}
{{.i18n.Tr "admin.config.enable_timetracking"}}
{{if .Service.EnableTimetracking}}
{{.i18n.Tr "admin.config.default_enable_timetracking"}}
{{.i18n.Tr "admin.config.default_allow_only_contributors_to_track_time"}}
{{end}}
{{.i18n.Tr "admin.config.default_visibility_organization"}}
{{.Service.DefaultOrgVisibility}}
{{.i18n.Tr "admin.config.no_reply_address"}}
{{if .Service.NoReplyAddress}}{{.Service.NoReplyAddress}}{{else}}-{{end}}
{{.i18n.Tr "admin.config.default_enable_dependencies"}}
{{.i18n.Tr "admin.config.active_code_lives"}}
{{.Service.ActiveCodeLives}} {{.i18n.Tr "tool.raw_minutes"}}
{{.i18n.Tr "admin.config.reset_password_code_lives"}}
{{.Service.ResetPwdCodeLives}} {{.i18n.Tr "tool.raw_minutes"}}

{{.i18n.Tr "admin.config.webhook_config"}}

{{.i18n.Tr "admin.config.queue_length"}}
{{.Webhook.QueueLength}}
{{.i18n.Tr "admin.config.deliver_timeout"}}
{{.Webhook.DeliverTimeout}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.skip_tls_verify"}}

{{.i18n.Tr "admin.config.mailer_config"}}

{{.i18n.Tr "admin.config.mailer_enabled"}}
{{if .MailerEnabled}}
{{.i18n.Tr "admin.config.mailer_name"}}
{{.Mailer.Name}}
{{if eq .Mailer.MailerType "smtp"}}
{{.i18n.Tr "admin.config.mailer_disable_helo"}}
{{.i18n.Tr "admin.config.mailer_host"}}
{{.Mailer.Host}}
{{else if eq .Mailer.MailerType "sendmail"}}
{{.i18n.Tr "admin.config.mailer_use_sendmail"}}
{{.i18n.Tr "admin.config.mailer_sendmail_path"}}
{{.Mailer.SendmailPath}}
{{.i18n.Tr "admin.config.mailer_sendmail_args"}}
{{.Mailer.SendmailArgs}}
{{end}}
{{.i18n.Tr "admin.config.mailer_user"}}
{{if .Mailer.User}}{{.Mailer.User}}{{else}}(empty){{end}}

{{.CsrfTokenHtml}}
{{end}}

{{.i18n.Tr "admin.config.cache_config"}}

{{.i18n.Tr "admin.config.cache_adapter"}}
{{.CacheAdapter}}
{{if eq .CacheAdapter "memory"}}
{{.i18n.Tr "admin.config.cache_interval"}}
{{.CacheInterval}} {{.i18n.Tr "tool.raw_seconds"}}
{{end}} {{if .CacheConn}}
{{.i18n.Tr "admin.config.cache_conn"}}
{{.CacheConn}}
{{.i18n.Tr "admin.config.cache_item_ttl"}}
{{.CacheItemTTL}}
{{end}}

{{.i18n.Tr "admin.config.session_config"}}

{{.i18n.Tr "admin.config.session_provider"}}
{{.SessionConfig.Provider}}
{{.i18n.Tr "admin.config.provider_config"}}
{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig}}{{else}}-{{end}}
{{.i18n.Tr "admin.config.cookie_name"}}
{{.SessionConfig.CookieName}}
{{.i18n.Tr "admin.config.gc_interval_time"}}
{{.SessionConfig.Gclifetime}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.session_life_time"}}
{{.SessionConfig.Maxlifetime}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.https_only"}}
{{.i18n.Tr "admin.config.cookie_life_time"}}
{{.SessionConfig.CookieLifeTime}} {{.i18n.Tr "tool.raw_seconds"}}

{{.i18n.Tr "admin.config.picture_config"}}

{{.i18n.Tr "admin.config.disable_gravatar"}}
{{.i18n.Tr "admin.config.enable_federated_avatar"}}

{{.i18n.Tr "admin.config.git_config"}}

{{.i18n.Tr "admin.config.git_disable_diff_highlight"}}
{{.i18n.Tr "admin.config.git_max_diff_lines"}}
{{.Git.MaxGitDiffLines}}
{{.i18n.Tr "admin.config.git_max_diff_line_characters"}}
{{.Git.MaxGitDiffLineCharacters}}
{{.i18n.Tr "admin.config.git_max_diff_files"}}
{{.Git.MaxGitDiffFiles}}
{{.i18n.Tr "admin.config.git_gc_args"}}
{{.Git.GCArgs}}
{{.i18n.Tr "admin.config.git_migrate_timeout"}}
{{.Git.Timeout.Migrate}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.git_mirror_timeout"}}
{{.Git.Timeout.Mirror}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.git_clone_timeout"}}
{{.Git.Timeout.Clone}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.git_pull_timeout"}}
{{.Git.Timeout.Pull}} {{.i18n.Tr "tool.raw_seconds"}}
{{.i18n.Tr "admin.config.git_gc_timeout"}}
{{.Git.Timeout.GC}} {{.i18n.Tr "tool.raw_seconds"}}

{{.i18n.Tr "admin.config.log_config"}}

{{range .Loggers.default.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.log_mode"}}
{{.Name}} ({{.Provider}})
{{$.i18n.Tr "admin.config.log_config"}}
{{.Config | JsonPrettyPrint}}
{{end}}
{{$.i18n.Tr "admin.config.macaron_log_mode"}}
{{if .RedirectMacaronLog}} {{if .Loggers.macaron.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.own_named_logger"}}
{{range .Loggers.macaron.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.log_mode"}}
{{.Name}} ({{.Provider}})
{{$.i18n.Tr "admin.config.log_config"}}
{{.Config | JsonPrettyPrint}}
{{end}} {{else}}
{{$.i18n.Tr "admin.config.routes_to_default_logger"}}
{{end}} {{else}}
{{$.i18n.Tr "admin.config.go_log"}}
{{end}}
{{$.i18n.Tr "admin.config.router_log_mode"}}
{{if .DisableRouterLog}}
{{$.i18n.Tr "admin.config.disabled_logger"}}
{{else}} {{if .RedirectMacaronLog}} {{if .Loggers.router.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.own_named_logger"}}
{{range .Loggers.router.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.log_mode"}}
{{.Name}} ({{.Provider}})
{{$.i18n.Tr "admin.config.log_config"}}
{{.Config | JsonPrettyPrint}}
{{end}} {{else}}
{{$.i18n.Tr "admin.config.routes_to_default_logger"}}
{{end}} {{else}}
{{$.i18n.Tr "admin.config.go_log"}}
{{end}} {{end}}
{{$.i18n.Tr "admin.config.access_log_mode"}}
{{if .EnableAccessLog}} {{if .Loggers.access.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.own_named_logger"}}
{{range .Loggers.access.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.log_mode"}}
{{.Name}} ({{.Provider}})
{{$.i18n.Tr "admin.config.log_config"}}
{{.Config | JsonPrettyPrint}}
{{end}} {{else}}
{{$.i18n.Tr "admin.config.routes_to_default_logger"}}
{{end}}
{{$.i18n.Tr "admin.config.access_log_template"}}
{{$.AccessLogTemplate}}
{{else}}
{{$.i18n.Tr "admin.config.disabled_logger"}}
{{end}}
{{$.i18n.Tr "admin.config.xorm_log_mode"}}
{{if .EnableXORMLog}} {{if .Loggers.xorm.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.own_named_logger"}}
{{range .Loggers.xorm.SubLogDescriptions}}
{{$.i18n.Tr "admin.config.log_mode"}}
{{.Name}} ({{.Provider}})
{{$.i18n.Tr "admin.config.log_config"}}
{{.Config | JsonPrettyPrint}}
{{end}} {{else}}
{{$.i18n.Tr "admin.config.routes_to_default_logger"}}
{{end}}
{{$.i18n.Tr "admin.config.xorm_log_sql"}}
{{else}}
{{$.i18n.Tr "admin.config.disabled_logger"}}
{{end}}
{{template "base/footer" .}}