Working on install page
This commit is contained in:
parent
5344a03003
commit
0fd754bbe0
6 changed files with 56 additions and 37 deletions
|
@ -34,7 +34,7 @@ func LoadModelsConfig() {
|
||||||
DbCfg.Path = base.Cfg.MustValue("database", "PATH", "data/gogs.db")
|
DbCfg.Path = base.Cfg.MustValue("database", "PATH", "data/gogs.db")
|
||||||
}
|
}
|
||||||
|
|
||||||
func setEngine() {
|
func SetEngine() {
|
||||||
var err error
|
var err error
|
||||||
switch DbCfg.Type {
|
switch DbCfg.Type {
|
||||||
case "mysql":
|
case "mysql":
|
||||||
|
@ -70,7 +70,7 @@ func setEngine() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewEngine() {
|
func NewEngine() {
|
||||||
setEngine()
|
SetEngine()
|
||||||
if err := orm.Sync(new(User), new(PublicKey), new(Repository), new(Watch),
|
if err := orm.Sync(new(User), new(PublicKey), new(Repository), new(Watch),
|
||||||
new(Action), new(Access), new(Issue), new(Comment)); err != nil {
|
new(Action), new(Access), new(Issue), new(Comment)); err != nil {
|
||||||
fmt.Printf("sync database struct error: %v\n", err)
|
fmt.Printf("sync database struct error: %v\n", err)
|
||||||
|
|
|
@ -38,6 +38,8 @@ var (
|
||||||
RunUser string
|
RunUser string
|
||||||
RepoRootPath string
|
RepoRootPath string
|
||||||
|
|
||||||
|
InstallLock bool
|
||||||
|
|
||||||
EnableHttpsClone bool
|
EnableHttpsClone bool
|
||||||
|
|
||||||
LogInRememberDays int
|
LogInRememberDays int
|
||||||
|
@ -282,6 +284,8 @@ func NewConfigContext() {
|
||||||
os.Exit(2)
|
os.Exit(2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
InstallLock = Cfg.MustBool("security", "INSTALL_LOCK", false)
|
||||||
|
|
||||||
EnableHttpsClone = Cfg.MustBool("security", "ENABLE_HTTPS_CLONE", false)
|
EnableHttpsClone = Cfg.MustBool("security", "ENABLE_HTTPS_CLONE", false)
|
||||||
|
|
||||||
LogInRememberDays = Cfg.MustInt("security", "LOGIN_REMEMBER_DAYS")
|
LogInRememberDays = Cfg.MustInt("security", "LOGIN_REMEMBER_DAYS")
|
||||||
|
|
|
@ -4,10 +4,28 @@
|
||||||
|
|
||||||
package routers
|
package routers
|
||||||
|
|
||||||
import "github.com/gogits/gogs/modules/middleware"
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
"github.com/gogits/gogs/models"
|
||||||
|
"github.com/gogits/gogs/modules/base"
|
||||||
|
"github.com/gogits/gogs/modules/middleware"
|
||||||
|
)
|
||||||
|
|
||||||
func Install(ctx *middleware.Context) {
|
func Install(ctx *middleware.Context) {
|
||||||
ctx.Data["PageIsInstall"] = true
|
if base.InstallLock {
|
||||||
ctx.Data["Title"] = "Install"
|
ctx.Handle(404, "install.Install", errors.New("Installation is prohibited"))
|
||||||
ctx.HTML(200,"install")
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.Data["Title"] = "Install"
|
||||||
|
ctx.Data["DbCfg"] = models.DbCfg
|
||||||
|
ctx.Data["RepoRootPath"] = base.RepoRootPath
|
||||||
|
ctx.Data["RunUser"] = base.RunUser
|
||||||
|
ctx.Data["PageIsInstall"] = true
|
||||||
|
|
||||||
|
if ctx.Req.Method == "GET" {
|
||||||
|
ctx.HTML(200, "install")
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
2
serve.go
2
serve.go
|
@ -78,7 +78,7 @@ func runServ(k *cli.Context) {
|
||||||
|
|
||||||
base.NewConfigContext()
|
base.NewConfigContext()
|
||||||
models.LoadModelsConfig()
|
models.LoadModelsConfig()
|
||||||
models.NewEngine()
|
models.SetEngine()
|
||||||
|
|
||||||
keys := strings.Split(os.Args[2], "-")
|
keys := strings.Split(os.Args[2], "-")
|
||||||
if len(keys) != 2 {
|
if len(keys) != 2 {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<select name="database" id="install-database" class="form-control">
|
<select name="database" id="install-database" class="form-control">
|
||||||
<option value="mysql">MySQL</option>
|
<option value="mysql">MySQL</option>
|
||||||
<option value="pgsql">PostgreSQL</option>
|
<option value="pgsql">PostgreSQL</option>
|
||||||
<option value="sqlite">SQLite</option>
|
<option value="sqlite">SQLite3</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,28 +21,21 @@
|
||||||
<label class="col-md-3 control-label">Host: </label>
|
<label class="col-md-3 control-label">Host: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="host" class="form-control" placeholder="Type mysql server ip or domain" value="localhost" required="required">
|
<input name="host" class="form-control" placeholder="Type database server host, leave blank to keep default" value="{{.DbCfg.Host}}" required="required">
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-md-3 control-label">Port: </label>
|
|
||||||
|
|
||||||
<div class="col-md-8">
|
|
||||||
<input name="port" class="form-control" placeholder="Type mysql server port" value="3306" required="required">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label">User: </label>
|
<label class="col-md-3 control-label">User: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="user" class="form-control" placeholder="Type mysql username" required="required">
|
<input name="user" class="form-control" placeholder="Type database username" required="required" value="{{.DbCfg.User}}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label">Password: </label>
|
<label class="col-md-3 control-label">Password: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="passwd" type="password" class="form-control" placeholder="Type mysql password" required="required">
|
<input name="passwd" type="password" class="form-control" placeholder="Type database password" required="required" value="{{.DbCfg.Pwd}}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -50,7 +43,7 @@
|
||||||
<label class="col-md-3 control-label">Database Name: </label>
|
<label class="col-md-3 control-label">Database Name: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="database" type="text" class="form-control" placeholder="Type mysql database name" value="gogs" required="required">
|
<input name="database" type="text" class="form-control" placeholder="Type mysql database name" value="{{.DbCfg.Name}}" required="required">
|
||||||
<p class="help-block">Recommend use INNODB engine with utf8_general_ci charset.</p>
|
<p class="help-block">Recommend use INNODB engine with utf8_general_ci charset.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -71,18 +64,12 @@
|
||||||
<label class="col-md-3 control-label">Path: </label>
|
<label class="col-md-3 control-label">Path: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="path" class="form-control" placeholder="Type sqlite file path" value="xxx/file.db">
|
<input name="path" class="form-control" placeholder="Type sqlite3 file path" value="{{.DbCfg.Path}}">
|
||||||
<p class="help-block">The file path of SQLite database.</p>
|
<p class="help-block">The file path of SQLite3 database.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="form-group">
|
|
||||||
<div class="col-md-8 col-md-offset-3">
|
|
||||||
<button class="btn btn-sm btn-info">Test Connection</button>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<p class="help-block text-center">General Settings of Gogs</p>
|
<p class="help-block text-center">General Settings of Gogs</p>
|
||||||
|
@ -91,7 +78,7 @@
|
||||||
<label class="col-md-3 control-label">Repository Path: </label>
|
<label class="col-md-3 control-label">Repository Path: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="repo-path" type="text" class="form-control" placeholder="Type your repository directory" value="/var/gogs/repostiory" required="required">
|
<input name="repo-path" type="text" class="form-control" placeholder="Type your repository directory" value="{{.RepoRootPath}}" required="required">
|
||||||
|
|
||||||
<p class="help-block">The git copy of each repository is saved in this directory.</p>
|
<p class="help-block">The git copy of each repository is saved in this directory.</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -100,7 +87,7 @@
|
||||||
<label class="col-md-3 control-label">Run User: </label>
|
<label class="col-md-3 control-label">Run User: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="system-user" type="text" class="form-control" placeholder="Type mysql password" value="root" required="required">
|
<input name="system-user" type="text" class="form-control" placeholder="Type system user name" value="{{.RunUser}}" required="required">
|
||||||
<p class="help-block">The user has access to visit and run Gogs.</p>
|
<p class="help-block">The user has access to visit and run Gogs.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -113,20 +100,30 @@
|
||||||
<label class="col-md-3 control-label">Username: </label>
|
<label class="col-md-3 control-label">Username: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="repo-path" type="text" class="form-control" placeholder="Type admin user name" value="admin" required="required">
|
<input name="admin_name" type="text" class="form-control" placeholder="Type admin user name" value="admin" required="required">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label">Password: </label>
|
<label class="col-md-3 control-label">Password: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="system-user" type="password" class="form-control" placeholder="Type admin user password" required="required">
|
<input name="admin_pwd" type="password" class="form-control" placeholder="Type admin user password" required="required">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-3 control-label">E-mail: </label>
|
||||||
|
|
||||||
|
<div class="col-md-8">
|
||||||
|
<input name="admin_email" type="text" class="form-control" placeholder="Type admin user e-mail" required="required">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div class="form-group text-center">
|
<div class="form-group text-center">
|
||||||
|
<button class="btn btn-primary btn-lg">Test Configuration</button>
|
||||||
<button class="btn btn-danger btn-lg">Install Gogs</button>
|
<button class="btn btn-danger btn-lg">Install Gogs</button>
|
||||||
<button class="btn btn-default btn-sm" type="button" data-toggle="modal" data-target="#advance-options-modal">
|
<button class="btn btn-default btn-sm" type="button" data-toggle="modal" data-target="#advance-options-modal">
|
||||||
Advanced Options
|
Advanced Options
|
||||||
|
@ -144,21 +141,21 @@
|
||||||
<label class="col-md-3 control-label">SMTP Host: </label>
|
<label class="col-md-3 control-label">SMTP Host: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="repo-path" type="text" class="form-control" placeholder="Type admin user name">
|
<input name="smtp_host" type="text" class="form-control" placeholder="Type SMTP host address">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label">Email: </label>
|
<label class="col-md-3 control-label">Email: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="repo-path" type="text" class="form-control" placeholder="Type admin user name">
|
<input name="mailer_user" type="text" class="form-control" placeholder="Type SMTP user e-mail address">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label">Password: </label>
|
<label class="col-md-3 control-label">Password: </label>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input name="system-user" type="password" class="form-control" placeholder="Type admin user password">
|
<input name="mailer_pwd" type="password" class="form-control" placeholder="Type SMTP user password">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
|
@ -168,7 +165,7 @@
|
||||||
<div class="col-md-offset-3 col-md-7">
|
<div class="col-md-offset-3 col-md-7">
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input name="system-user" type="checkbox">
|
<input name="register_confirm" type="checkbox">
|
||||||
<strong>Enable Register Confirmation</strong>
|
<strong>Enable Register Confirmation</strong>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
@ -179,7 +176,7 @@
|
||||||
<div class="col-md-offset-3 col-md-7">
|
<div class="col-md-offset-3 col-md-7">
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input name="system-user" type="checkbox">
|
<input name="mail_notify" type="checkbox">
|
||||||
<strong>Enable Mail Notification</strong>
|
<strong>Enable Mail Notification</strong>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -32,7 +32,7 @@ gogs serv provide access auth for repositories`,
|
||||||
func runUpdate(c *cli.Context) {
|
func runUpdate(c *cli.Context) {
|
||||||
base.NewConfigContext()
|
base.NewConfigContext()
|
||||||
models.LoadModelsConfig()
|
models.LoadModelsConfig()
|
||||||
models.NewEngine()
|
models.SetEngine()
|
||||||
|
|
||||||
w, _ := os.Create("update.log")
|
w, _ := os.Create("update.log")
|
||||||
defer w.Close()
|
defer w.Close()
|
||||||
|
|
Loading…
Reference in a new issue