2015-07-07 20:09:03 +03:00
{{ template "base/head" . }}
2020-12-01 07:00:14 +03:00
<div class="page-content install">
2015-07-07 20:09:03 +03:00
<div class="ui middle very relaxed page grid">
<div class="sixteen wide center aligned centered column">
<h3 class="ui top attached header">
2015-12-08 01:30:52 +03:00
{{ .i18n .Tr "install.title" }}
2015-07-07 20:09:03 +03:00
</h3>
<div class="ui attached segment">
2015-12-08 01:30:52 +03:00
{{ template "base/alert" . }}
2015-08-13 17:36:44 +03:00
2017-02-18 17:19:51 +03:00
<p> {{ .i18n .Tr "install.docker_helper" "https://docs.gitea.io/en-us/install-with-docker/" | Safe }} </p>
2015-09-18 02:18:49 +03:00
2020-10-20 00:03:08 +03:00
<form class="ui form" action=" {{ AppSubUrl }} /" method="post">
2020-03-12 16:05:52 +03:00
<!-- Database Settings -->
2015-12-08 01:30:52 +03:00
<h4 class="ui dividing header"> {{ .i18n .Tr "install.db_title" }} </h4>
<p> {{ .i18n .Tr "install.requite_db_desc" }} </p>
<div class="inline required field {{ if .Err_DbType }} error {{ end }} ">
<label> {{ .i18n .Tr "install.db_type" }} </label>
<div class="ui selection database type dropdown">
<input type="hidden" id="db_type" name="db_type" value=" {{ .CurDbOption }} ">
<div class="text"> {{ .CurDbOption }} </div>
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2015-12-08 01:30:52 +03:00
<div class="menu">
{{ range .DbOptions }}
<div class="item" data-value=" {{ . }} "> {{ . }} </div>
{{ end }}
</div>
</div>
</div>
2014-08-30 17:12:53 +04:00
2019-05-24 07:15:26 +03:00
<div id="sql_settings" class=" {{ if or ( eq .CurDbOption "SQLite3" ) }} hide {{ end }} ">
2015-12-08 01:30:52 +03:00
<div class="inline required field {{ if .Err_DbSetting }} error {{ end }} ">
<label for="db_host"> {{ .i18n .Tr "install.host" }} </label>
<input id="db_host" name="db_host" value=" {{ .db_host }} ">
</div>
<div class="inline required field {{ if .Err_DbSetting }} error {{ end }} ">
<label for="db_user"> {{ .i18n .Tr "install.user" }} </label>
<input id="db_user" name="db_user" value=" {{ .db_user }} ">
</div>
<div class="inline required field {{ if .Err_DbSetting }} error {{ end }} ">
<label for="db_passwd"> {{ .i18n .Tr "install.password" }} </label>
<input id="db_passwd" name="db_passwd" type="password" value=" {{ .db_passwd }} ">
</div>
<div class="inline required field {{ if .Err_DbSetting }} error {{ end }} ">
<label for="db_name"> {{ .i18n .Tr "install.db_name" }} </label>
<input id="db_name" name="db_name" value=" {{ .db_name }} ">
<span class="help"> {{ .i18n .Tr "install.db_helper" }} </span>
</div>
</div>
2014-03-27 16:39:18 +04:00
2015-12-08 01:30:52 +03:00
<div id="pgsql_settings" class=" {{ if not ( eq .CurDbOption "PostgreSQL" ) }} hide {{ end }} ">
<div class="inline required field">
<label> {{ .i18n .Tr "install.ssl_mode" }} </label>
<div class="ui selection database type dropdown">
<input type="hidden" name="ssl_mode" value=" {{ if .ssl_mode }} {{ .ssl_mode }} {{ else }} disable {{ end }} ">
<div class="default text">disable</div>
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2015-12-08 01:30:52 +03:00
<div class="menu">
<div class="item" data-value="disable">Disable</div>
<div class="item" data-value="require">Require</div>
<div class="item" data-value="verify-full">Verify Full</div>
</div>
</div>
</div>
2020-01-20 18:45:14 +03:00
<div class="inline field {{ if .Err_DbSetting }} error {{ end }} ">
<label for="db_schema"> {{ .i18n .Tr "install.db_schema" }} </label>
<input id="db_schema" name="db_schema" value=" {{ .db_schema }} ">
<span class="help"> {{ .i18n .Tr "install.db_schema_helper" }} </span>
</div>
2015-12-08 01:30:52 +03:00
</div>
2015-07-07 20:09:03 +03:00
2019-05-24 07:15:26 +03:00
<div id="mysql_settings" class=" {{ if not ( eq .CurDbOption "MySQL" ) }} hide {{ end }} ">
<div class="inline required field">
<label> {{ .i18n .Tr "install.charset" }} </label>
<div class="ui selection database type dropdown">
2020-04-06 16:33:15 +03:00
<input type="hidden" name="charset" value=" {{ if .charset }} {{ .charset }} {{ else }} utf8mb4 {{ end }} ">
<div class="default text">utf8mb4</div>
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2019-05-24 07:15:26 +03:00
<div class="menu">
<div class="item" data-value="utf8mb4">utf8mb4</div>
</div>
</div>
</div>
</div>
2015-12-08 01:30:52 +03:00
<div id="sqlite_settings" class=" {{ if not ( or ( eq .CurDbOption "SQLite3" ) ( eq .CurDbOption "TiDB" ) ) }} hide {{ end }} ">
<div class="inline required field {{ if or .Err_DbPath .Err_DbSetting }} error {{ end }} ">
<label for="db_path"> {{ .i18n .Tr "install.path" }} </label>
<input id="db_path" name="db_path" value=" {{ .db_path }} ">
2016-02-07 19:51:53 +03:00
<span class="help"> {{ .i18n .Tr "install.sqlite_helper" | Safe }} </span>
2015-12-08 01:30:52 +03:00
</div>
</div>
2015-07-07 20:09:03 +03:00
<!-- General Settings -->
<h4 class="ui dividing header"> {{ .i18n .Tr "install.general_title" }} </h4>
2015-12-08 01:30:52 +03:00
<div class="inline required field {{ if .Err_AppName }} error {{ end }} ">
<label for="app_name"> {{ .i18n .Tr "install.app_name" }} </label>
<input id="app_name" name="app_name" value=" {{ .app_name }} " required>
<span class="help"> {{ .i18n .Tr "install.app_name_helper" }} </span>
</div>
<div class="inline required field {{ if .Err_RepoRootPath }} error {{ end }} ">
<label for="repo_root_path"> {{ .i18n .Tr "install.repo_path" }} </label>
<input id="repo_root_path" name="repo_root_path" value=" {{ .repo_root_path }} " required>
<span class="help"> {{ .i18n .Tr "install.repo_path_helper" }} </span>
</div>
2016-12-26 04:16:37 +03:00
<div class="inline field {{ if .Err_LFSRootPath }} error {{ end }} ">
2017-11-21 08:43:00 +03:00
<label for="lfs_root_path"> {{ .i18n .Tr "install.lfs_path" }} </label>
<input id="lfs_root_path" name="lfs_root_path" value=" {{ .lfs_root_path }} ">
<span class="help"> {{ .i18n .Tr "install.lfs_path_helper" }} </span>
</div>
2015-12-08 01:30:52 +03:00
<div class="inline required field {{ if .Err_RunUser }} error {{ end }} ">
<label for="run_user"> {{ .i18n .Tr "install.run_user" }} </label>
<input id="run_user" name="run_user" value=" {{ .run_user }} " required>
<span class="help"> {{ .i18n .Tr "install.run_user_helper" }} </span>
</div>
<div class="inline required field">
<label for="domain"> {{ .i18n .Tr "install.domain" }} </label>
2016-12-15 11:56:46 +03:00
<input id="domain" name="domain" value=" {{ .domain }} " placeholder="e.g. try.gitea.io" required>
2015-12-08 01:30:52 +03:00
<span class="help"> {{ .i18n .Tr "install.domain_helper" }} </span>
</div>
2018-11-29 19:47:57 +03:00
<div class="inline field">
2015-12-08 01:30:52 +03:00
<label for="ssh_port"> {{ .i18n .Tr "install.ssh_port" }} </label>
<input id="ssh_port" name="ssh_port" value=" {{ .ssh_port }} ">
<span class="help"> {{ .i18n .Tr "install.ssh_port_helper" }} </span>
</div>
<div class="inline required field">
<label for="http_port"> {{ .i18n .Tr "install.http_port" }} </label>
<input id="http_port" name="http_port" value=" {{ .http_port }} " required>
<span class="help"> {{ .i18n .Tr "install.http_port_helper" }} </span>
</div>
<div class="inline required field">
<label for="app_url"> {{ .i18n .Tr "install.app_url" }} </label>
2016-12-15 11:56:46 +03:00
<input id="app_url" name="app_url" value=" {{ .app_url }} " placeholder="e.g. https://try.gitea.io" required>
2015-12-08 01:30:52 +03:00
<span class="help"> {{ .i18n .Tr "install.app_url_helper" }} </span>
</div>
2016-02-12 18:10:02 +03:00
<div class="inline required field">
2016-02-12 17:19:45 +03:00
<label for="log_root_path"> {{ .i18n .Tr "install.log_root_path" }} </label>
2016-02-12 18:10:02 +03:00
<input id="log_root_path" name="log_root_path" value=" {{ .log_root_path }} " placeholder="log" required>
2016-02-12 17:24:09 +03:00
<span class="help"> {{ .i18n .Tr "install.log_root_path_helper" }} </span>
2016-02-12 17:19:45 +03:00
</div>
2015-07-08 14:47:56 +03:00
2015-12-08 01:30:52 +03:00
<!-- Optional Settings -->
<h4 class="ui dividing header"> {{ .i18n .Tr "install.optional_title" }} </h4>
2015-08-19 15:36:19 +03:00
2015-12-08 01:30:52 +03:00
<!-- Email -->
2021-05-23 03:45:39 +03:00
<details class="optional field">
<summary class="title py-3 {{ if .Err_SMTP }} text red {{ end }} ">
2015-12-08 01:30:52 +03:00
{{ .i18n .Tr "install.email_title" }}
2021-05-23 03:45:39 +03:00
</summary>
<div class="inline field">
<label for="smtp_host"> {{ .i18n .Tr "install.smtp_host" }} </label>
<input id="smtp_host" name="smtp_host" value=" {{ .smtp_host }} ">
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
<div class="inline field {{ if .Err_SMTPFrom }} error {{ end }} ">
<label for="smtp_from"> {{ .i18n .Tr "install.smtp_from" }} </label>
<input id="smtp_from" name="smtp_from" value=" {{ .smtp_from }} ">
<span class="help"> {{ .i18n .Tr "install.smtp_from_helper" }} </span>
</div>
<div class="inline field {{ if .Err_SMTPUser }} error {{ end }} ">
<label for="smtp_user"> {{ .i18n .Tr "install.mailer_user" }} </label>
<input id="smtp_user" name="smtp_user" value=" {{ .smtp_user }} ">
</div>
<div class="inline field">
<label for="smtp_passwd"> {{ .i18n .Tr "install.mailer_password" }} </label>
<input id="smtp_passwd" name="smtp_passwd" type="password" value=" {{ .smtp_passwd }} ">
</div>
<div class="inline field">
<div class="ui checkbox">
<label><strong> {{ .i18n .Tr "install.register_confirm" }} </strong></label>
<input name="register_confirm" type="checkbox" {{ if .register_confirm }} checked {{ end }} >
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox">
<label><strong> {{ .i18n .Tr "install.mail_notify" }} </strong></label>
<input name="mail_notify" type="checkbox" {{ if .mail_notify }} checked {{ end }} >
2015-12-08 01:30:52 +03:00
</div>
</div>
2021-05-23 03:45:39 +03:00
</details>
2015-08-13 17:36:44 +03:00
2015-12-08 01:30:52 +03:00
<!-- Server and other services -->
2021-05-23 03:45:39 +03:00
<details class="optional field">
<summary class="title py-3 {{ if .Err_Services }} text red {{ end }} ">
2015-12-08 01:30:52 +03:00
{{ .i18n .Tr "install.server_service_title" }}
2021-05-23 03:45:39 +03:00
</summary>
<div class="inline field">
<div class="ui checkbox" id="offline-mode">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.offline_mode_popup" }} "><strong> {{ .i18n .Tr "install.offline_mode" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="offline_mode" type="checkbox" {{ if .offline_mode }} checked {{ end }} >
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="disable-gravatar">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.disable_gravatar_popup" }} "><strong> {{ .i18n .Tr "install.disable_gravatar" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="disable_gravatar" type="checkbox" {{ if .disable_gravatar }} checked {{ end }} >
2016-08-07 20:27:38 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="federated-avatar-lookup">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.federated_avatar_lookup_popup" }} "><strong> {{ .i18n .Tr "install.federated_avatar_lookup" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="enable_federated_avatar" type="checkbox" {{ if .enable_federated_avatar }} checked {{ end }} >
2017-08-19 18:34:49 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="enable-openid-signin">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.openid_signin_popup" }} "><strong> {{ .i18n .Tr "install.openid_signin" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="enable_open_id_sign_in" type="checkbox" {{ if .enable_open_id_sign_in }} checked {{ end }} >
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="disable-registration">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.disable_registration_popup" }} "><strong> {{ .i18n .Tr "install.disable_registration" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="disable_registration" type="checkbox" {{ if .disable_registration }} checked {{ end }} >
2018-05-13 10:51:16 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="allow-only-external-registration">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.allow_only_external_registration_popup" }} "><strong> {{ .i18n .Tr "install.allow_only_external_registration_popup" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="allow_only_external_registration" type="checkbox" {{ if .allow_only_external_registration }} checked {{ end }} >
2017-08-19 18:34:49 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="enable-openid-signup">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.openid_signup_popup" }} "><strong> {{ .i18n .Tr "install.openid_signup" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="enable_open_id_sign_up" type="checkbox" {{ if .enable_open_id_sign_up }} checked {{ end }} >
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox" id="enable-captcha">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.enable_captcha_popup" }} "><strong> {{ .i18n .Tr "install.enable_captcha" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="enable_captcha" type="checkbox" {{ if .enable_captcha }} checked {{ end }} >
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.require_sign_in_view_popup" }} "><strong> {{ .i18n .Tr "install.require_sign_in_view" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="require_sign_in_view" type="checkbox" {{ if .require_sign_in_view }} checked {{ end }} >
2017-01-08 06:12:03 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.default_keep_email_private_popup" }} "><strong> {{ .i18n .Tr "install.default_keep_email_private" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="default_keep_email_private" type="checkbox" {{ if .default_keep_email_private }} checked {{ end }} >
2017-05-08 22:51:53 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.default_allow_create_organization_popup" }} "><strong> {{ .i18n .Tr "install.default_allow_create_organization" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="default_allow_create_organization" type="checkbox" {{ if .default_allow_create_organization }} checked {{ end }} >
2017-09-12 09:48:13 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<div class="ui checkbox">
2021-11-18 06:26:50 +03:00
<label class="tooltip" data-content=" {{ .i18n .Tr "install.default_enable_timetracking_popup" }} "><strong> {{ .i18n .Tr "install.default_enable_timetracking" }} </strong></label>
2021-05-23 03:45:39 +03:00
<input name="default_enable_timetracking" type="checkbox" {{ if .default_enable_timetracking }} checked {{ end }} >
2017-01-08 06:12:03 +03:00
</div>
2021-05-23 03:45:39 +03:00
</div>
<div class="inline field">
<label for="no_reply_address"> {{ .i18n .Tr "install.no_reply_address" }} </label>
<input id="_no_reply_address" name="no_reply_address" value=" {{ .no_reply_address }} ">
<span class="help"> {{ .i18n .Tr "install.no_reply_address_helper" }} </span>
</div>
<div class="inline field">
<label for="password_algorithm"> {{ .i18n .Tr "install.password_algorithm" }} </label>
<div class="ui selection dropdown">
<input id="password_algorithm" type="hidden" name="password_algorithm" value=" {{ .password_algorithm }} ">
<div class="text"> {{ .password_algorithm }} </div>
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
<div class="menu">
{{ range .PasswordHashAlgorithms }}
<div class="item" data-value=" {{ . }} "> {{ . }} </div>
{{ end }}
2021-02-17 01:37:20 +03:00
</div>
</div>
2021-05-23 03:45:39 +03:00
<span class="help"> {{ .i18n .Tr "install.password_algorithm_helper" }} </span>
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
</details>
2015-07-08 14:47:56 +03:00
2015-12-08 01:30:52 +03:00
<!-- Admin -->
2021-05-23 03:45:39 +03:00
<details class="optional field">
<summary class="title py-3 {{ if .Err_Admin }} text red {{ end }} ">
2015-12-08 01:30:52 +03:00
{{ .i18n .Tr "install.admin_title" }}
2021-05-23 03:45:39 +03:00
</summary>
<p class="center"> {{ .i18n .Tr "install.admin_setting_desc" }} </p>
<div class="inline field {{ if .Err_AdminName }} error {{ end }} ">
<label for="admin_name"> {{ .i18n .Tr "install.admin_name" }} </label>
<input id="admin_name" name="admin_name" value=" {{ .admin_name }} ">
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
<div class="inline field {{ if .Err_AdminPasswd }} error {{ end }} ">
<label for="admin_passwd"> {{ .i18n .Tr "install.admin_password" }} </label>
<input id="admin_passwd" name="admin_passwd" type="password" autocomplete="new-password" value=" {{ .admin_passwd }} ">
2015-12-08 01:30:52 +03:00
</div>
2021-05-23 03:45:39 +03:00
<div class="inline field {{ if .Err_AdminPasswd }} error {{ end }} ">
<label for="admin_confirm_passwd"> {{ .i18n .Tr "install.confirm_password" }} </label>
<input id="admin_confirm_passwd" name="admin_confirm_passwd" autocomplete="new-password" type="password" value=" {{ .admin_confirm_passwd }} ">
</div>
<div class="inline field {{ if .Err_AdminEmail }} error {{ end }} ">
<label for="admin_email"> {{ .i18n .Tr "install.admin_email" }} </label>
<input id="admin_email" name="admin_email" type="email" value=" {{ .admin_email }} ">
</div>
</details>
2015-07-08 14:47:56 +03:00
2015-12-08 01:30:52 +03:00
<div class="ui divider"></div>
<div class="inline field">
<label></label>
2016-12-21 15:13:17 +03:00
<button class="ui primary button"> {{ .i18n .Tr "install.install_btn_confirm" }} </button>
2015-12-08 01:30:52 +03:00
</div>
</form>
2015-07-07 20:09:03 +03:00
</div>
</div>
</div>
2014-03-25 12:51:42 +04:00
</div>
2021-05-08 17:27:25 +03:00
<img style="display: none" src=" {{ AssetUrlPrefix }} /img/loading.png"/>
2015-07-23 12:46:20 +03:00
{{ template "base/footer" . }}