install.tmpl 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. {{template "base/head" .}}
  2. <div id="body" class="container">
  3. <form action="/install" method="post" class="form-horizontal card" id="install-card">
  4. {{.CsrfTokenHtml}}
  5. <h3>Install Steps For First-time Run</h3>
  6. {{template "base/alert" .}}
  7. <p class="help-block text-center">Gogs requires MySQL, SQLite3. or PostgreSQL. SQLite3 is only available in the official binary version.</p>
  8. <div class="form-group">
  9. <label class="col-md-3 control-label">Database Type: </label>
  10. <div class="col-md-8">
  11. <select name="database" id="install-database" class="form-control">
  12. {{if .CurDbOption}}<option value="{{.CurDbOption}}">{{.CurDbOption}}</option>{{end}}
  13. {{range .DbOptions}}
  14. {{if not (eq $.CurDbOption .)}}<option value="{{.}}" >{{.}}</option>{{end}}
  15. {{end}}
  16. </select>
  17. </div>
  18. </div>
  19. <div class="server-sql {{if eq .CurDbOption "SQLite3"}}hide{{end}}">
  20. <div class="form-group">
  21. <label class="col-md-3 control-label">Host: </label>
  22. <div class="col-md-8">
  23. <input name="host" id="database-host" class="form-control" placeholder="Type database server host" value="{{.host}}">
  24. </div>
  25. </div>
  26. <div class="form-group">
  27. <label class="col-md-3 control-label">User: </label>
  28. <div class="col-md-8">
  29. <input name="user" class="form-control" placeholder="Type database username" value="{{.user}}">
  30. </div>
  31. </div>
  32. <div class="form-group">
  33. <label class="col-md-3 control-label">Password: </label>
  34. <div class="col-md-8">
  35. <input name="passwd" type="password" class="form-control" placeholder="Type database password" value="{{.passwd}}">
  36. </div>
  37. </div>
  38. <div class="form-group">
  39. <label class="col-md-3 control-label">Database Name: </label>
  40. <div class="col-md-8">
  41. <input name="database_name" type="text" class="form-control" placeholder="Type mysql database name" value="{{.database_name}}">
  42. <p class="help-block">Recommend use INNODB engine with utf8_general_ci charset.</p>
  43. </div>
  44. </div>
  45. <div class="form-group pgsql-setting {{if not (eq .CurDbOption "PostgreSQL")}}hide{{end}}">
  46. <label class="col-md-3 control-label">SSL Mode: </label>
  47. <div class="col-md-8">
  48. <select name="ssl_mode" class="form-control">
  49. <option value="disable">Disable</option>
  50. <option value="require">Require</option>
  51. <option value="verify-full">Verify Full</option>
  52. </select>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="sqlite-setting {{if not (eq .CurDbOption "SQLite3")}}hide{{end}}">
  57. <div class="form-group">
  58. <label class="col-md-3 control-label">Path: </label>
  59. <div class="col-md-8">
  60. <input name="database_path" class="form-control" placeholder="Type sqlite3 file path" value="{{.database_path}}">
  61. <p class="help-block">The file path of SQLite3 database.</p>
  62. </div>
  63. </div>
  64. </div>
  65. <hr/>
  66. <p class="help-block text-center">General Settings of Gogs</p>
  67. <div class="form-group">
  68. <label class="col-md-3 control-label">Repository Path: </label>
  69. <div class="col-md-8">
  70. <input name="repo_path" type="text" class="form-control" placeholder="Type your repository directory" value="{{.repo_path}}" required="required">
  71. <p class="help-block">The git copy of each repository is saved in this directory.</p>
  72. </div>
  73. </div>
  74. <div class="form-group">
  75. <label class="col-md-3 control-label">Run User: </label>
  76. <div class="col-md-8">
  77. <input name="run_user" type="text" class="form-control" placeholder="Type system user name" value="{{.run_user}}" required="required">
  78. <p class="help-block">The user has access to visit and run Gogs.</p>
  79. </div>
  80. </div>
  81. <div class="form-group">
  82. <label class="col-md-3 control-label">Domain: </label>
  83. <div class="col-md-8">
  84. <input name="domain" type="text" class="form-control" placeholder="Type your domain name" value="{{.domain}}" required="required">
  85. <p class="help-block">This affects SSH clone URL.</p>
  86. </div>
  87. </div>
  88. <div class="form-group">
  89. <label class="col-md-3 control-label">App URL: </label>
  90. <div class="col-md-8">
  91. <input name="app_url" type="text" class="form-control" placeholder="Type app root URL" value="{{.app_url}}" required="required">
  92. <p class="help-block">This affects HTTP/HTTPS clone URL and somewhere in e-mail.</p>
  93. </div>
  94. </div>
  95. <hr/>
  96. <p class="help-block text-center">Admin Account Settings</p>
  97. <div class="form-group {{if .Err_AdminName}}has-error has-feedback{{end}}">
  98. <label class="col-md-3 control-label">Username: </label>
  99. <div class="col-md-8">
  100. <input name="admin_name" type="text" class="form-control" placeholder="Type admin user name" value="{{.admin_name}}" required="required">
  101. </div>
  102. </div>
  103. <div class="form-group {{if .Err_AdminPasswd}}has-error has-feedback{{end}}">
  104. <label class="col-md-3 control-label">Password: </label>
  105. <div class="col-md-8">
  106. <input name="admin_pwd" type="password" class="form-control" placeholder="Type admin user password" value="{{.admin_pwd}}" required="required">
  107. </div>
  108. </div>
  109. <div class="form-group {{if .Err_AdminEmail}}has-error has-feedback{{end}}">
  110. <label class="col-md-3 control-label">E-mail: </label>
  111. <div class="col-md-8">
  112. <input name="admin_email" type="text" class="form-control" placeholder="Type admin user e-mail" value="{{.admin_email}}" required="required">
  113. </div>
  114. </div>
  115. <hr/>
  116. <div class="form-group text-center">
  117. <button class="btn btn-danger btn-lg">Install Gogs</button>
  118. <button class="btn btn-default btn-sm" type="button" data-toggle="modal" data-target="#advance-options-modal">
  119. Advanced Options
  120. </button>
  121. </div>
  122. <div class="modal fade" id="advance-options-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  123. <div class="modal-dialog">
  124. <div class="modal-content">
  125. <div class="modal-header"><h4 class="modal-title">Advanced Options</h4></div>
  126. <div class="modal-body">
  127. <p class="help-block text-center">Email Service Settings</p>
  128. <div class="form-group">
  129. <label class="col-md-3 control-label">SMTP Host: </label>
  130. <div class="col-md-8">
  131. <input name="smtp_host" type="text" class="form-control" placeholder="Type SMTP host address and port" value="{{.smtp_host}}">
  132. </div>
  133. </div>
  134. <div class="form-group">
  135. <label class="col-md-3 control-label">Username: </label>
  136. <div class="col-md-8">
  137. <input name="mailer_user" type="text" class="form-control" placeholder="Type SMTP user e-mail address" value="{{.mailer_user}}">
  138. </div>
  139. </div>
  140. <div class="form-group">
  141. <label class="col-md-3 control-label">Password: </label>
  142. <div class="col-md-8">
  143. <input name="mailer_pwd" type="password" class="form-control" placeholder="Type SMTP user password" value="{{.mailer_pwd}}">
  144. </div>
  145. </div>
  146. <hr/>
  147. <p class="text-center help-block">Notification Settings</p>
  148. <div class="form-group">
  149. <div class="col-md-offset-3 col-md-7">
  150. <div class="checkbox">
  151. <label>
  152. <input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}>
  153. <strong>Enable Register Confirmation</strong>
  154. </label>
  155. </div>
  156. <div class="checkbox">
  157. <label>
  158. <input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}>
  159. <strong>Enable Mail Notification</strong>
  160. </label>
  161. </div>
  162. </div>
  163. </div>
  164. </div>
  165. <div class="modal-footer">
  166. <button type="button" class="btn btn-success" data-dismiss="modal">Confirm</button>
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. </form>
  172. </div>
  173. {{template "base/footer" .}}