@ -104,16 +104,21 @@ var (
UseTiDB bool
UseTiDB bool
// Webhook settings
// Webhook settings
Webhook struct {
Webhook = struct {
QueueLength int
QueueLength int
DeliverTimeout int
DeliverTimeout int
SkipTLSVerify bool
SkipTLSVerify bool
Types [ ] string
Types [ ] string
PagingNum int
PagingNum int
} {
QueueLength : 1000 ,
DeliverTimeout : 5 ,
SkipTLSVerify : false ,
PagingNum : 10 ,
}
}
// Repository settings
// Repository settings
Repository struct {
Repository = struct {
AnsiCharset string
AnsiCharset string
ForcePrivate bool
ForcePrivate bool
MaxCreationLimit int
MaxCreationLimit int
@ -136,12 +141,44 @@ var (
FileMaxSize int64
FileMaxSize int64
MaxFiles int
MaxFiles int
} ` ini:"-" `
} ` ini:"-" `
} {
AnsiCharset : "" ,
ForcePrivate : false ,
MaxCreationLimit : - 1 ,
MirrorQueueLength : 1000 ,
PullRequestQueueLength : 1000 ,
PreferredLicenses : [ ] string { "Apache License 2.0,MIT License" } ,
DisableHTTPGit : false ,
// Repository editor settings
Editor : struct {
LineWrapExtensions [ ] string
PreviewableFileModes [ ] string
} {
LineWrapExtensions : strings . Split ( ".txt,.md,.markdown,.mdown,.mkd," , "," ) ,
PreviewableFileModes : [ ] string { "markdown" } ,
} ,
// Repository upload settings
Upload : struct {
Enabled bool
TempPath string
AllowedTypes [ ] string ` delim:"|" `
FileMaxSize int64
MaxFiles int
} {
Enabled : true ,
TempPath : "data/tmp/uploads" ,
AllowedTypes : [ ] string { } ,
FileMaxSize : 3 ,
MaxFiles : 5 ,
} ,
}
}
RepoRootPath string
RepoRootPath string
ScriptType string
ScriptType = "bash"
// UI settings
// UI settings
UI struct {
UI = struct {
ExplorePagingNum int
ExplorePagingNum int
IssuePagingNum int
IssuePagingNum int
FeedMaxCommitNum int
FeedMaxCommitNum int
@ -157,13 +194,38 @@ var (
User struct {
User struct {
RepoPagingNum int
RepoPagingNum int
} ` ini:"ui.user" `
} ` ini:"ui.user" `
} {
ExplorePagingNum : 20 ,
IssuePagingNum : 10 ,
FeedMaxCommitNum : 5 ,
ThemeColorMetaTag : ` #6cc644 ` ,
MaxDisplayFileSize : 8388608 ,
Admin : struct {
UserPagingNum int
RepoPagingNum int
NoticePagingNum int
OrgPagingNum int
} {
UserPagingNum : 50 ,
RepoPagingNum : 50 ,
NoticePagingNum : 25 ,
OrgPagingNum : 50 ,
} ,
User : struct {
RepoPagingNum int
} {
RepoPagingNum : 15 ,
} ,
}
}
// Markdown sttings
// Markdown sttings
Markdown struct {
Markdown = struct {
EnableHardLineBreak bool
EnableHardLineBreak bool
CustomURLSchemes [ ] string ` ini:"CUSTOM_URL_SCHEMES" `
CustomURLSchemes [ ] string ` ini:"CUSTOM_URL_SCHEMES" `
FileExtensions [ ] string
FileExtensions [ ] string
} {
EnableHardLineBreak : false ,
FileExtensions : strings . Split ( ".md,.markdown,.mdown,.mkd" , "," ) ,
}
}
// Picture settings
// Picture settings
@ -198,7 +260,7 @@ var (
CSRFCookieName = "_csrf"
CSRFCookieName = "_csrf"
// Cron tasks
// Cron tasks
Cron struct {
Cron = struct {
UpdateMirror struct {
UpdateMirror struct {
Enabled bool
Enabled bool
RunAtStart bool
RunAtStart bool
@ -216,10 +278,37 @@ var (
RunAtStart bool
RunAtStart bool
Schedule string
Schedule string
} ` ini:"cron.check_repo_stats" `
} ` ini:"cron.check_repo_stats" `
} {
UpdateMirror : struct {
Enabled bool
RunAtStart bool
Schedule string
} {
Schedule : "@every 10m" ,
} ,
RepoHealthCheck : struct {
Enabled bool
RunAtStart bool
Schedule string
Timeout time . Duration
Args [ ] string ` delim:" " `
} {
Schedule : "@every 24h" ,
Timeout : 60 * time . Second ,
Args : [ ] string { } ,
} ,
CheckRepoStats : struct {
Enabled bool
RunAtStart bool
Schedule string
} {
RunAtStart : true ,
Schedule : "@every 24h" ,
} ,
}
}
// Git settings
// Git settings
Git struct {
Git = struct {
DisableDiffHighlight bool
DisableDiffHighlight bool
MaxGitDiffLines int
MaxGitDiffLines int
MaxGitDiffLineCharacters int
MaxGitDiffLineCharacters int
@ -232,16 +321,39 @@ var (
Pull int
Pull int
GC int ` ini:"GC" `
GC int ` ini:"GC" `
} ` ini:"git.timeout" `
} ` ini:"git.timeout" `
} {
DisableDiffHighlight : false ,
MaxGitDiffLines : 1000 ,
MaxGitDiffLineCharacters : 500 ,
MaxGitDiffFiles : 100 ,
GCArgs : [ ] string { } ,
Timeout : struct {
Migrate int
Mirror int
Clone int
Pull int
GC int ` ini:"GC" `
} {
Migrate : 600 ,
Mirror : 300 ,
Clone : 300 ,
Pull : 300 ,
GC : 60 ,
} ,
}
}
// Mirror settings
// Mirror settings
Mirror struct {
Mirror = struct {
DefaultInterval int
DefaultInterval int
} {
DefaultInterval : 8 ,
}
}
// API settings
// API settings
API struct {
API = struct {
MaxResponseItems int
MaxResponseItems int
} {
MaxResponseItems : 50 ,
}
}
// I18n settings
// I18n settings
@ -470,11 +582,11 @@ please consider changing to GITEA_CUSTOM`)
}
}
sec = Cfg . Section ( "security" )
sec = Cfg . Section ( "security" )
InstallLock = sec . Key ( "INSTALL_LOCK" ) . MustBool ( )
InstallLock = sec . Key ( "INSTALL_LOCK" ) . MustBool ( false )
SecretKey = sec . Key ( "SECRET_KEY" ) . String ( )
SecretKey = sec . Key ( "SECRET_KEY" ) . Must String( "!#@FDEWREWR&*(" )
LogInRememberDays = sec . Key ( "LOGIN_REMEMBER_DAYS" ) . MustInt ( )
LogInRememberDays = sec . Key ( "LOGIN_REMEMBER_DAYS" ) . MustInt ( 7 )
CookieUserName = sec . Key ( "COOKIE_USERNAME" ) . String ( )
CookieUserName = sec . Key ( "COOKIE_USERNAME" ) . Must String( "gitea_awesome" )
CookieRememberName = sec . Key ( "COOKIE_REMEMBER_NAME" ) . String ( )
CookieRememberName = sec . Key ( "COOKIE_REMEMBER_NAME" ) . Must String( "gitea_incredible" )
ReverseProxyAuthUser = sec . Key ( "REVERSE_PROXY_AUTHENTICATION_USER" ) . MustString ( "X-WEBAUTH-USER" )
ReverseProxyAuthUser = sec . Key ( "REVERSE_PROXY_AUTHENTICATION_USER" ) . MustString ( "X-WEBAUTH-USER" )
sec = Cfg . Section ( "attachment" )
sec = Cfg . Section ( "attachment" )
@ -597,21 +709,17 @@ please consider changing to GITEA_CUSTOM`)
Langs = Cfg . Section ( "i18n" ) . Key ( "LANGS" ) . Strings ( "," )
Langs = Cfg . Section ( "i18n" ) . Key ( "LANGS" ) . Strings ( "," )
if len ( Langs ) == 0 {
if len ( Langs ) == 0 {
Langs = [ ] string {
Langs = defaultLangs
"en-US" ,
}
}
}
Names = Cfg . Section ( "i18n" ) . Key ( "NAMES" ) . Strings ( "," )
Names = Cfg . Section ( "i18n" ) . Key ( "NAMES" ) . Strings ( "," )
if len ( Names ) == 0 {
if len ( Names ) == 0 {
Names = [ ] string {
Names = defaultLangNames
"English" ,
}
}
}
dateLangs = Cfg . Section ( "i18n.datelang" ) . KeysHash ( )
dateLangs = Cfg . Section ( "i18n.datelang" ) . KeysHash ( )
ShowFooterBranding = Cfg . Section ( "other" ) . Key ( "SHOW_FOOTER_BRANDING" ) . MustBool ( )
ShowFooterBranding = Cfg . Section ( "other" ) . Key ( "SHOW_FOOTER_BRANDING" ) . MustBool ( false )
ShowFooterVersion = Cfg . Section ( "other" ) . Key ( "SHOW_FOOTER_VERSION" ) . MustBool ( )
ShowFooterVersion = Cfg . Section ( "other" ) . Key ( "SHOW_FOOTER_VERSION" ) . MustBool ( true )
ShowFooterTemplateLoadTime = Cfg . Section ( "other" ) . Key ( "SHOW_FOOTER_TEMPLATE_LOAD_TIME" ) . MustBool ( )
ShowFooterTemplateLoadTime = Cfg . Section ( "other" ) . Key ( "SHOW_FOOTER_TEMPLATE_LOAD_TIME" ) . MustBool ( true )
HasRobotsTxt = com . IsFile ( path . Join ( CustomPath , "robots.txt" ) )
HasRobotsTxt = com . IsFile ( path . Join ( CustomPath , "robots.txt" ) )
}
}
@ -738,7 +846,7 @@ func newSessionService() {
SessionConfig . ProviderConfig = strings . Trim ( Cfg . Section ( "session" ) . Key ( "PROVIDER_CONFIG" ) . String ( ) , "\" " )
SessionConfig . ProviderConfig = strings . Trim ( Cfg . Section ( "session" ) . Key ( "PROVIDER_CONFIG" ) . String ( ) , "\" " )
SessionConfig . CookieName = Cfg . Section ( "session" ) . Key ( "COOKIE_NAME" ) . MustString ( "i_like_gogits" )
SessionConfig . CookieName = Cfg . Section ( "session" ) . Key ( "COOKIE_NAME" ) . MustString ( "i_like_gogits" )
SessionConfig . CookiePath = AppSubURL
SessionConfig . CookiePath = AppSubURL
SessionConfig . Secure = Cfg . Section ( "session" ) . Key ( "COOKIE_SECURE" ) . MustBool ( )
SessionConfig . Secure = Cfg . Section ( "session" ) . Key ( "COOKIE_SECURE" ) . MustBool ( false )
SessionConfig . Gclifetime = Cfg . Section ( "session" ) . Key ( "GC_INTERVAL_TIME" ) . MustInt64 ( 86400 )
SessionConfig . Gclifetime = Cfg . Section ( "session" ) . Key ( "GC_INTERVAL_TIME" ) . MustInt64 ( 86400 )
SessionConfig . Maxlifetime = Cfg . Section ( "session" ) . Key ( "SESSION_LIFE_TIME" ) . MustInt64 ( 86400 )
SessionConfig . Maxlifetime = Cfg . Section ( "session" ) . Key ( "SESSION_LIFE_TIME" ) . MustInt64 ( 86400 )