app.ini 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. # NEVER EVER MODIFY THIS FILE
  2. # PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE
  3. ; App name that shows on every page title
  4. APP_NAME = Gogs: Go Git Service
  5. ; Change it if you run locally
  6. RUN_USER = git
  7. ; Either "dev", "prod" or "test", default is "dev"
  8. RUN_MODE = dev
  9. [repository]
  10. ROOT =
  11. SCRIPT_TYPE = bash
  12. ; Default ANSI charset
  13. ANSI_CHARSET =
  14. ; Force every new repository to be private
  15. FORCE_PRIVATE = false
  16. ; Global maximum creation limit of repository per user, -1 means no limit
  17. MAX_CREATION_LIMIT = -1
  18. ; Patch test queue length, make it as large as possible
  19. PULL_REQUEST_QUEUE_LENGTH = 10000
  20. [ui]
  21. ; Number of repositories that are showed in one explore page
  22. EXPLORE_PAGING_NUM = 20
  23. ; Number of issues that are showed in one page
  24. ISSUE_PAGING_NUM = 10
  25. ; Number of maximum commits showed in one activity feed
  26. FEED_MAX_COMMIT_NUM = 5
  27. ; Value of `theme-color` meta tag, used by Android >= 5.0
  28. ; An invalid color like "none" or "disable" will have the default style
  29. ; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
  30. THEME_COLOR_META_TAG = `#ff5343`
  31. [ui.admin]
  32. ; Number of users that are showed in one page
  33. USER_PAGING_NUM = 50
  34. ; Number of repos that are showed in one page
  35. REPO_PAGING_NUM = 50
  36. ; Number of notices that are showed in one page
  37. NOTICE_PAGING_NUM = 25
  38. ; Number of organization that are showed in one page
  39. ORG_PAGING_NUM = 50
  40. [markdown]
  41. ; Enable hard line break extension
  42. ENABLE_HARD_LINE_BREAK = false
  43. ; List of custom URL-Schemes that are allowed as links when rendering Markdown
  44. ; for example git,magnet
  45. CUSTOM_URL_SCHEMES =
  46. [server]
  47. PROTOCOL = http
  48. DOMAIN = localhost
  49. ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
  50. HTTP_ADDR =
  51. HTTP_PORT = 3000
  52. ; Local (DMZ) URL for Gogs workers (such as SSH update) accessing web service.
  53. ; In most cases you do not need to change the default value.
  54. ; Alter it only if your SSH server node is not the same as HTTP node.
  55. LOCAL_ROOT_URL = http://localhost:%(HTTP_PORT)s/
  56. ; Disable SSH feature when not available
  57. DISABLE_SSH = false
  58. ; Whether use builtin SSH server or not.
  59. START_SSH_SERVER = false
  60. ; Domain name to be exposed in clone URL
  61. SSH_DOMAIN = %(DOMAIN)s
  62. ; Port number to be exposed in clone URL
  63. SSH_PORT = 22
  64. ; Port number builtin SSH server listens on
  65. SSH_LISTEN_PORT = %(SSH_PORT)s
  66. ; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
  67. SSH_ROOT_PATH =
  68. ; Directory to create temporary files when test publick key using ssh-keygen,
  69. ; default is system temporary directory.
  70. SSH_KEY_TEST_PATH =
  71. ; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call.
  72. SSH_KEYGEN_PATH = ssh-keygen
  73. ; Indicate whether to check minimum key size with corresponding type
  74. MINIMUM_KEY_SIZE_CHECK = false
  75. ; Disable CDN even in "prod" mode
  76. OFFLINE_MODE = false
  77. DISABLE_ROUTER_LOG = false
  78. ; Generate steps:
  79. ; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
  80. ;
  81. ; Or from a .pfx file exported from the Windows certificate store (do
  82. ; not forget to export the private key):
  83. ; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys
  84. ; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
  85. CERT_FILE = custom/https/cert.pem
  86. KEY_FILE = custom/https/key.pem
  87. ; Upper level of template and static file path
  88. ; default is the path where Gogs is executed
  89. STATIC_ROOT_PATH =
  90. ; Application level GZIP support
  91. ENABLE_GZIP = false
  92. ; Landing page for non-logged users, can be "home" or "explore"
  93. LANDING_PAGE = home
  94. ; Define allowed algorithms and their minimum key length (use -1 to disable a type)
  95. [ssh.minimum_key_sizes]
  96. ED25519 = 256
  97. ECDSA = 256
  98. RSA = 2048
  99. DSA = 1024
  100. [database]
  101. ; Either "mysql", "postgres" or "sqlite3", it's your choice
  102. DB_TYPE = mysql
  103. HOST = 127.0.0.1:3306
  104. NAME = gogs
  105. USER = root
  106. PASSWD =
  107. ; For "postgres" only, either "disable", "require" or "verify-full"
  108. SSL_MODE = disable
  109. ; For "sqlite3" and "tidb", use absolute path when you start as service
  110. PATH = data/gogs.db
  111. [admin]
  112. [security]
  113. INSTALL_LOCK = false
  114. ; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
  115. SECRET_KEY = !#@FDEWREWR&*(
  116. ; Auto-login remember days
  117. LOGIN_REMEMBER_DAYS = 7
  118. COOKIE_USERNAME = gogs_awesome
  119. COOKIE_REMEMBER_NAME = gogs_incredible
  120. ; Reverse proxy authentication header name of user name
  121. REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
  122. [service]
  123. ACTIVE_CODE_LIVE_MINUTES = 180
  124. RESET_PASSWD_CODE_LIVE_MINUTES = 180
  125. ; User need to confirm e-mail for registration
  126. REGISTER_EMAIL_CONFIRM = false
  127. ; Does not allow register and admin create account only
  128. DISABLE_REGISTRATION = false
  129. ; User must sign in to view anything.
  130. REQUIRE_SIGNIN_VIEW = false
  131. ; Mail notification
  132. ENABLE_NOTIFY_MAIL = false
  133. ; More detail: https://github.com/gogits/gogs/issues/165
  134. ENABLE_REVERSE_PROXY_AUTHENTICATION = false
  135. ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
  136. ; Enable captcha validation for registration
  137. ENABLE_CAPTCHA = true
  138. [webhook]
  139. ; Hook task queue length
  140. QUEUE_LENGTH = 1000
  141. ; Deliver timeout in seconds
  142. DELIVER_TIMEOUT = 5
  143. ; Allow insecure certification
  144. SKIP_TLS_VERIFY = false
  145. ; Number of history information in each page
  146. PAGING_NUM = 10
  147. [mailer]
  148. ENABLED = false
  149. ; Buffer length of channel, keep it as it is if you don't know what it is.
  150. SEND_BUFFER_LEN = 100
  151. ; Name displayed in mail title
  152. SUBJECT = %(APP_NAME)s
  153. ; Mail server
  154. ; Gmail: smtp.gmail.com:587
  155. ; QQ: smtp.qq.com:25
  156. ; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
  157. HOST =
  158. ; Disable HELO operation when hostname are different.
  159. DISABLE_HELO =
  160. ; Custom hostname for HELO operation, default is from system.
  161. HELO_HOSTNAME =
  162. ; Do not verify the certificate of the server. Only use this for self-signed certificates
  163. SKIP_VERIFY =
  164. ; Use client certificate
  165. USE_CERTIFICATE = false
  166. CERT_FILE = custom/mailer/cert.pem
  167. KEY_FILE = custom/mailer/key.pem
  168. ; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
  169. FROM =
  170. ; Mailer user name and password
  171. USER =
  172. PASSWD =
  173. [cache]
  174. ; Either "memory", "redis", or "memcache", default is "memory"
  175. ADAPTER = memory
  176. ; For "memory" only, GC interval in seconds, default is 60
  177. INTERVAL = 60
  178. ; For "redis" and "memcache", connection host address
  179. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  180. ; memcache: `127.0.0.1:11211`
  181. HOST =
  182. [session]
  183. ; Either "memory", "file", "redis" or "mysql", default is "memory"
  184. PROVIDER = memory
  185. ; Provider config options
  186. ; memory: not have any config yet
  187. ; file: session file path, e.g. `data/sessions`
  188. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  189. ; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
  190. PROVIDER_CONFIG = data/sessions
  191. ; Session cookie name
  192. COOKIE_NAME = i_like_gogits
  193. ; If you use session in https only, default is false
  194. COOKIE_SECURE = false
  195. ; Enable set cookie, default is true
  196. ENABLE_SET_COOKIE = true
  197. ; Session GC time interval, default is 86400
  198. GC_INTERVAL_TIME = 86400
  199. ; Session life time, default is 86400
  200. SESSION_LIFE_TIME = 86400
  201. [picture]
  202. AVATAR_UPLOAD_PATH = data/avatars
  203. ; Chinese users can choose "duoshuo"
  204. ; or a custom avatar source, like: http://cn.gravatar.com/avatar/
  205. GRAVATAR_SOURCE = gravatar
  206. DISABLE_GRAVATAR = false
  207. [attachment]
  208. ; Whether attachments are enabled. Defaults to `true`
  209. ENABLE = true
  210. ; Path for attachments. Defaults to `data/attachments`
  211. PATH = data/attachments
  212. ; One or more allowed types, e.g. image/jpeg|image/png
  213. ALLOWED_TYPES = image/jpeg|image/png
  214. ; Max size of each file. Defaults to 32MB
  215. MAX_SIZE = 4
  216. ; Max number of files per upload. Defaults to 10
  217. MAX_FILES = 5
  218. [time]
  219. ; Specifies the format for fully outputed dates. Defaults to RFC1123
  220. ; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
  221. ; For more information about the format see http://golang.org/pkg/time/#pkg-constants
  222. FORMAT =
  223. [log]
  224. ROOT_PATH =
  225. ; Either "console", "file", "conn", "smtp" or "database", default is "console"
  226. ; Use comma to separate multiple modes, e.g. "console, file"
  227. MODE = console
  228. ; Buffer length of channel, keep it as it is if you don't know what it is.
  229. BUFFER_LEN = 10000
  230. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
  231. LEVEL = Trace
  232. ; For "console" mode only
  233. [log.console]
  234. LEVEL =
  235. ; For "file" mode only
  236. [log.file]
  237. LEVEL =
  238. ; This enables automated log rotate(switch of following options), default is true
  239. LOG_ROTATE = true
  240. ; Max line number of single file, default is 1000000
  241. MAX_LINES = 1000000
  242. ; Max size shift of single file, default is 28 means 1 << 28, 256MB
  243. MAX_SIZE_SHIFT = 28
  244. ; Segment log daily, default is true
  245. DAILY_ROTATE = true
  246. ; Expired days of log file(delete after max days), default is 7
  247. MAX_DAYS = 7
  248. ; For "conn" mode only
  249. [log.conn]
  250. LEVEL =
  251. ; Reconnect host for every single message, default is false
  252. RECONNECT_ON_MSG = false
  253. ; Try to reconnect when connection is lost, default is false
  254. RECONNECT = false
  255. ; Either "tcp", "unix" or "udp", default is "tcp"
  256. PROTOCOL = tcp
  257. ; Host address
  258. ADDR =
  259. ; For "smtp" mode only
  260. [log.smtp]
  261. LEVEL =
  262. ; Name displayed in mail title, default is "Diagnostic message from server"
  263. SUBJECT = Diagnostic message from server
  264. ; Mail server
  265. HOST =
  266. ; Mailer user name and password
  267. USER =
  268. PASSWD =
  269. ; Receivers, can be one or more, e.g. ["1@example.com","2@example.com"]
  270. RECEIVERS =
  271. ; For "database" mode only
  272. [log.database]
  273. LEVEL =
  274. ; Either "mysql" or "postgres"
  275. DRIVER =
  276. ; Based on xorm, e.g.: root:root@localhost/gogs?charset=utf8
  277. CONN =
  278. [cron]
  279. ; Enable running cron tasks periodically.
  280. ENABLED = true
  281. ; Run cron tasks when Gogs starts.
  282. RUN_AT_START = false
  283. ; Update mirrors
  284. [cron.update_mirrors]
  285. SCHEDULE = @every 1h
  286. ; Repository health check
  287. [cron.repo_health_check]
  288. SCHEDULE = @every 24h
  289. TIMEOUT = 60s
  290. ; Arguments for command 'git fsck', e.g. "--unreachable --tags"
  291. ; see more on http://git-scm.com/docs/git-fsck/1.7.5
  292. ARGS =
  293. ; Check repository statistics
  294. [cron.check_repo_stats]
  295. RUN_AT_START = true
  296. SCHEDULE = @every 24h
  297. [git]
  298. MAX_GIT_DIFF_LINES = 10000
  299. ; Arguments for command 'git gc', e.g. "--aggressive --auto"
  300. ; see more on http://git-scm.com/docs/git-gc/1.7.5
  301. GC_ARGS =
  302. ; Operation timeout in seconds
  303. [git.timeout]
  304. MIGRATE = 600
  305. MIRROR = 300
  306. CLONE = 300
  307. PULL = 300
  308. [i18n]
  309. LANGS = en-US,zh-CN,zh-HK,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI
  310. NAMES = English,简体中文,繁體中文,Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano,Suomalainen
  311. ; Used for datetimepicker
  312. [i18n.datelang]
  313. en-US = en
  314. zh-CN = zh
  315. zh-HK = zh-TW
  316. de-DE = de
  317. fr-FR = fr
  318. nl-NL = nl
  319. lv-LV = lv
  320. ru-RU = ru
  321. ja-JP = ja
  322. es-ES = es
  323. pt-BR = pt-BR
  324. pl-PL = pl
  325. bg-BG = bg
  326. it-IT = it
  327. fi-FI = fi
  328. ; Extension mapping to highlight class
  329. ; e.g. .toml=ini
  330. [highlight.mapping]
  331. [other]
  332. SHOW_FOOTER_BRANDING = false
  333. ; Show version information about gogs and go in the footer
  334. SHOW_FOOTER_VERSION = true