{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin config")}}

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

{{.locale.Tr "admin.config.app_name"}}
{{AppName}}
{{.locale.Tr "admin.config.app_ver"}}
{{AppVer}}{{.AppBuiltWith}}
{{.locale.Tr "admin.config.custom_conf"}}
{{.CustomConf}}
{{.locale.Tr "admin.config.app_url"}}
{{.AppUrl}}
{{.locale.Tr "admin.config.domain"}}
{{.Domain}}
{{.locale.Tr "admin.config.offline_mode"}}
{{if .OfflineMode}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.disable_router_log"}}
{{if .DisableRouterLog}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.run_user"}}
{{.RunUser}}
{{.locale.Tr "admin.config.run_mode"}}
{{.RunMode}}
{{.locale.Tr "admin.config.git_version"}}
{{.GitVersion}}
{{.locale.Tr "admin.config.app_data_path"}}
{{.AppDataPath}}
{{.locale.Tr "admin.config.repo_root_path"}}
{{.RepoRootPath}}
{{.locale.Tr "admin.config.custom_file_root_path"}}
{{.CustomRootPath}}
{{.locale.Tr "admin.config.log_file_root_path"}}
{{.LogRootPath}}
{{.locale.Tr "admin.config.script_type"}}
{{.ScriptType}}
{{.locale.Tr "admin.config.reverse_auth_user"}}
{{.ReverseProxyAuthUser}}

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

{{.locale.Tr "admin.config.ssh_enabled"}}
{{if not .SSH.Disabled}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{if not .SSH.Disabled}}
{{.locale.Tr "admin.config.ssh_start_builtin_server"}}
{{if .SSH.StartBuiltinServer}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.ssh_domain"}}
{{.SSH.Domain}}
{{.locale.Tr "admin.config.ssh_port"}}
{{.SSH.Port}}
{{.locale.Tr "admin.config.ssh_listen_port"}}
{{.SSH.ListenPort}}
{{if not .SSH.StartBuiltinServer}}
{{.locale.Tr "admin.config.ssh_root_path"}}
{{.SSH.RootPath}}
{{.locale.Tr "admin.config.ssh_key_test_path"}}
{{.SSH.KeyTestPath}}
{{.locale.Tr "admin.config.ssh_keygen_path"}}
{{.SSH.KeygenPath}}
{{.locale.Tr "admin.config.ssh_minimum_key_size_check"}}
{{if .SSH.MinimumKeySizeCheck}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{if .SSH.MinimumKeySizeCheck}}
{{.locale.Tr "admin.config.ssh_minimum_key_sizes"}}
{{.SSH.MinimumKeySizes}}
{{end}} {{end}} {{end}}

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

{{.locale.Tr "admin.config.lfs_enabled"}}
{{if .LFS.StartServer}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{if .LFS.StartServer}}
{{.locale.Tr "admin.config.lfs_content_path"}}
{{JsonUtils.EncodeToString .LFS.Storage.ToShadowCopy}}
{{.locale.Tr "admin.config.lfs_http_auth_expiry"}}
{{.LFS.HTTPAuthExpiry}}
{{end}}

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

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

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

{{.locale.Tr "admin.config.register_email_confirm"}}
{{if .Service.RegisterEmailConfirm}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.disable_register"}}
{{if .Service.DisableRegistration}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.allow_only_internal_registration"}}
{{if .Service.AllowOnlyInternalRegistration}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.allow_only_external_registration"}}
{{if .Service.AllowOnlyExternalRegistration}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.show_registration_button"}}
{{if .Service.ShowRegistrationButton}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.enable_openid_signup"}}
{{if .Service.EnableOpenIDSignUp}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.enable_openid_signin"}}
{{if .Service.EnableOpenIDSignIn}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.require_sign_in_view"}}
{{if .Service.RequireSignInView}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.mail_notify"}}
{{if .Service.EnableNotifyMail}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.disable_key_size_check"}}
{{if .SSH.MinimumKeySizeCheck}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.enable_captcha"}}
{{if .Service.EnableCaptcha}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.default_keep_email_private"}}
{{if .Service.DefaultKeepEmailPrivate}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.default_allow_create_organization"}}
{{if .Service.DefaultAllowCreateOrganization}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.allow_dots_in_usernames"}}
{{if .Service.AllowDotsInUsernames}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.enable_timetracking"}}
{{if .Service.EnableTimetracking}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{if .Service.EnableTimetracking}}
{{.locale.Tr "admin.config.default_enable_timetracking"}}
{{if .Service.DefaultEnableTimetracking}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.default_allow_only_contributors_to_track_time"}}
{{if .Service.DefaultAllowOnlyContributorsToTrackTime}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{end}}
{{.locale.Tr "admin.config.default_visibility_organization"}}
{{.Service.DefaultOrgVisibility}}
{{.locale.Tr "admin.config.no_reply_address"}}
{{if .Service.NoReplyAddress}}{{.Service.NoReplyAddress}}{{else}}-{{end}}
{{.locale.Tr "admin.config.default_enable_dependencies"}}
{{if .Service.DefaultEnableDependencies}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.active_code_lives"}}
{{.Service.ActiveCodeLives}} {{.locale.Tr "tool.raw_minutes"}}
{{.locale.Tr "admin.config.reset_password_code_lives"}}
{{.Service.ResetPwdCodeLives}} {{.locale.Tr "tool.raw_minutes"}}

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

{{.locale.Tr "admin.config.queue_length"}}
{{.Webhook.QueueLength}}
{{.locale.Tr "admin.config.deliver_timeout"}}
{{.Webhook.DeliverTimeout}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.skip_tls_verify"}}
{{if .Webhook.SkipTLSVerify}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}

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

{{.locale.Tr "admin.config.mailer_enabled"}}
{{if .MailerEnabled}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{if .MailerEnabled}}
{{.locale.Tr "admin.config.mailer_name"}}
{{.Mailer.Name}}
{{if eq .Mailer.Protocol "sendmail"}}
{{.locale.Tr "admin.config.mailer_use_sendmail"}}
{{svg "octicon-check"}}
{{.locale.Tr "admin.config.mailer_sendmail_path"}}
{{.Mailer.SendmailPath}}
{{.locale.Tr "admin.config.mailer_sendmail_args"}}
{{.Mailer.SendmailArgs}}
{{.locale.Tr "admin.config.mailer_sendmail_timeout"}}
{{.Mailer.SendmailTimeout}} {{.locale.Tr "tool.raw_seconds"}}
{{else if eq .Mailer.Protocol "dummy"}}
{{.locale.Tr "admin.config.mailer_use_dummy"}}
{{svg "octicon-check"}}
{{else}}{{/* SMTP family */}}
{{.locale.Tr "admin.config.mailer_protocol"}}
{{.Mailer.Protocol}}
{{.locale.Tr "admin.config.mailer_enable_helo"}}
{{if .Mailer.EnableHelo}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.mailer_smtp_addr"}}
{{.Mailer.SMTPAddr}}
{{.locale.Tr "admin.config.mailer_smtp_port"}}
{{.Mailer.SMTPPort}}
{{end}}
{{.locale.Tr "admin.config.mailer_user"}}
{{if .Mailer.User}}{{.Mailer.User}}{{else}}(empty){{end}}
{{.locale.Tr "admin.config.send_test_mail"}}
{{.CsrfTokenHtml}}
{{end}}

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

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

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

{{.locale.Tr "admin.config.session_provider"}}
{{.SessionConfig.Provider}}
{{.locale.Tr "admin.config.provider_config"}}
{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig}}{{else}}-{{end}}
{{.locale.Tr "admin.config.cookie_name"}}
{{.SessionConfig.CookieName}}
{{.locale.Tr "admin.config.gc_interval_time"}}
{{.SessionConfig.Gclifetime}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.session_life_time"}}
{{.SessionConfig.Maxlifetime}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.https_only"}}
{{if .SessionConfig.Secure}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}

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

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

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

{{.locale.Tr "admin.config.git_disable_diff_highlight"}}
{{if .Git.DisableDiffHighlight}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{.locale.Tr "admin.config.git_max_diff_lines"}}
{{.Git.MaxGitDiffLines}}
{{.locale.Tr "admin.config.git_max_diff_line_characters"}}
{{.Git.MaxGitDiffLineCharacters}}
{{.locale.Tr "admin.config.git_max_diff_files"}}
{{.Git.MaxGitDiffFiles}}
{{.locale.Tr "admin.config.git_gc_args"}}
{{.Git.GCArgs}}
{{.locale.Tr "admin.config.git_migrate_timeout"}}
{{.Git.Timeout.Migrate}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.git_mirror_timeout"}}
{{.Git.Timeout.Mirror}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.git_clone_timeout"}}
{{.Git.Timeout.Clone}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.git_pull_timeout"}}
{{.Git.Timeout.Pull}} {{.locale.Tr "tool.raw_seconds"}}
{{.locale.Tr "admin.config.git_gc_timeout"}}
{{.Git.Timeout.GC}} {{.locale.Tr "tool.raw_seconds"}}

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

{{if .Loggers.xorm.IsEnabled}}
{{$.locale.Tr "admin.config.xorm_log_sql"}}
{{if $.LogSQL}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
{{end}} {{if .Loggers.access.IsEnabled}}
{{$.locale.Tr "admin.config.access_log_template"}}
{{$.AccessLogTemplate}}
{{end}} {{range $loggerName, $loggerDetail := .Loggers}}
{{$.locale.Tr "admin.config.logger_name_fmt" $loggerName}}
{{if $loggerDetail.IsEnabled}}
{{$loggerDetail.EventWriters | JsonUtils.EncodeToString | JsonUtils.PrettyIndent}}
{{else}}
{{$.locale.Tr "admin.config.disabled_logger"}}
{{end}} {{end}}
{{template "admin/layout_footer" .}}