-# App name that shows on every page title
+; App name that shows on every page title
APP_NAME = Gogs: Go Git Service
-# !!MUST CHANGE TO YOUR USER NAME!!
+; !!MUST CHANGE TO YOUR USER NAME!!
RUN_USER = lunny
+; Either "dev", "prod" or "test", based on martini
+RUN_MODE = dev
[repository]
ROOT = /Users/%(RUN_USER)s/git/gogs-repositories
-LANG_IGNS=Google Go|C|Python|Ruby|C Sharp
-LICENSES=Apache v2 License|GPL v2|MIT License|Affero GPL|BSD (3-Clause) License
+LANG_IGNS = Google Go|C|Python|Ruby|C Sharp
+LICENSES = Apache v2 License|GPL v2|MIT License|Affero GPL|BSD (3-Clause) License
[server]
DOMAIN = gogits.org
HTTP_PORT = 3000
[database]
-# Either "mysql" or "postgres", it's your choice
+; Either "mysql" or "postgres", it's your choice
DB_TYPE = mysql
HOST =
NAME = gogs
USER = root
PASSWD =
-# For "postgres" only, either "disable" or "verify-full"
+; For "postgres" only, either "disable", "require" or "verify-full"
SSL_MODE = disable
[security]
-# !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
+; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
USER_PASSWD_SALT = !#@FDEWREWR&*(
+
+[mailer]
+ENABLED = true
+; Name displayed in mail title
+NAME = %(APP_NAME)s
+; Mail server
+HOST =
+; Mailer user name and password
+USER =
+PASSWD =
\ No newline at end of file
} else if !has {
err = ErrUserNotExist
}
- return &user, nil
+ return &user, err
}
// FollowUser marks someone be another's follower.
"github.com/Unknwon/com"
"github.com/Unknwon/goconfig"
+
+ "github.com/gogits/gogs/modules/log"
)
+// Mailer represents a mail service.
+type Mailer struct {
+ Name string
+ Host string
+ User, Passwd string
+}
+
var (
- AppVer string
- AppName string
- Domain string
- Cfg *goconfig.ConfigFile
+ AppVer string
+ AppName string
+ Domain string
+ Cfg *goconfig.ConfigFile
+ MailService *Mailer
)
func exeDir() (string, error) {
}
Cfg.BlockMode = false
- AppName = Cfg.MustValue("", "APP_NAME")
+ AppName = Cfg.MustValue("", "APP_NAME", "Gogs: Go Git Service")
Domain = Cfg.MustValue("server", "DOMAIN")
+
+ // Check mailer setting.
+ if Cfg.MustBool("mailer", "ENABLED") {
+ MailService = &Mailer{
+ Name: Cfg.MustValue("mailer", "NAME", AppName),
+ Host: Cfg.MustValue("mailer", "HOST", "127.0.0.1:25"),
+ User: Cfg.MustValue("mailer", "USER", "example@example.com"),
+ Passwd: Cfg.MustValue("mailer", "PASSWD", "******"),
+ }
+ log.Info("Mail Service Enabled")
+ }
}
"fmt"
"html/template"
"net/http"
+ "strings"
"github.com/codegangsta/cli"
"github.com/codegangsta/martini"
Flags: []cli.Flag{},
}
+// Check run mode(Default of martini is Dev).
+func checkRunMode() {
+ switch base.Cfg.MustValue("", "RUN_MODE") {
+ case "prod":
+ martini.Env = martini.Prod
+ case "test":
+ martini.Env = martini.Test
+ }
+ log.Info("Run Mode: %s", strings.Title(martini.Env))
+}
+
func runWeb(*cli.Context) {
log.Info("%s %s", base.AppName, base.AppVer)
+ checkRunMode()
m := martini.Classic()