app.ini 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. # !!! NEVER EVER MODIFY THIS FILE !!!
  2. # !!! PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE !!!
  3. # !!! IF YOU ARE PACKAGING PROVIDER, PLEASE MAKE OWN COPY OF IT !!!
  4. ; App name that shows on every page title
  5. APP_NAME = Gogs
  6. ; The name of the system user that runs Gogs
  7. RUN_USER = git
  8. ; Either "dev", "prod" or "test"
  9. RUN_MODE = dev
  10. [repository]
  11. ; Root path for storing repositories's data, default is "~/<username>/gogs-repositories"
  12. ROOT =
  13. ; The script type server supports, sometimes could be "sh"
  14. SCRIPT_TYPE = bash
  15. ; Default ANSI charset for an unrecognized charset
  16. ANSI_CHARSET =
  17. ; Force every new repository to be private
  18. FORCE_PRIVATE = false
  19. ; Global maximum creation limit of repository per user, -1 means no limit
  20. MAX_CREATION_LIMIT = -1
  21. ; Mirror sync queue length, increase if mirror syncing starts hanging
  22. MIRROR_QUEUE_LENGTH = 1000
  23. ; Patch test queue length, increase if pull request patch testing starts hanging
  24. PULL_REQUEST_QUEUE_LENGTH = 1000
  25. ; Preferred Licenses to place at the top of the list
  26. ; Name must match file name in conf/license or custom/conf/license
  27. PREFERRED_LICENSES = Apache License 2.0,MIT License
  28. ; Disable ability to interact with repositories by HTTP protocol
  29. DISABLE_HTTP_GIT = false
  30. ; Enable ability to migrate repository by local path
  31. ENABLE_LOCAL_PATH_MIGRATION = false
  32. ; Concurrency is used to retrieve commits information. This variable define
  33. ; the maximum number of tasks that can be run at the same time. Usually, the
  34. ; value depend of how many CPUs (cores) you have. If the value is set to zero
  35. ; or under, GOGS will automatically detect the number of CPUs your system have
  36. COMMITS_FETCH_CONCURRENCY = 0
  37. [repository.editor]
  38. ; List of file extensions that should have line wraps in the CodeMirror editor.
  39. ; Separate extensions with a comma. To line wrap files without extension, just put a comma
  40. LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd,
  41. ; Valid file modes that have a preview API associated with them, such as api/v1/markdown.
  42. ; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match
  43. PREVIEWABLE_FILE_MODES = markdown
  44. [repository.upload]
  45. ; Enable repository file uploads.
  46. ENABLED = true
  47. ; Path to temporarily store uploads (default path gets cleaned by Gogs in every start)
  48. TEMP_PATH = data/tmp/uploads
  49. ; File types that are allowed to be uploaded, e.g. image/jpeg|image/png. Leave empty means allow any file type
  50. ALLOWED_TYPES =
  51. ; Maximum size of each file in MB
  52. FILE_MAX_SIZE = 3
  53. ; Maximum number of files per upload
  54. MAX_FILES = 5
  55. [markdown]
  56. ; Enable hard line break extension
  57. ENABLE_HARD_LINE_BREAK = false
  58. ; List of custom URL-Schemes that are allowed as links when rendering Markdown
  59. ; for example git,magnet
  60. CUSTOM_URL_SCHEMES =
  61. ; List of file extensions that should be rendered/edited as Markdown
  62. ; Separate extensions with a comma. To render files w/o extension as markdown, just put a comma
  63. FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
  64. [server]
  65. PROTOCOL = http
  66. DOMAIN = localhost
  67. ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
  68. HTTP_ADDR = 0.0.0.0
  69. HTTP_PORT = 3000
  70. ; Permission for unix socket
  71. UNIX_SOCKET_PERMISSION = 666
  72. ; Local (DMZ) URL for Gogs workers (such as SSH update) accessing web service.
  73. ; In most cases you do not need to change the default value.
  74. ; Alter it only if your SSH server node is not the same as HTTP node.
  75. LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/
  76. ; Disable SSH feature when not available
  77. DISABLE_SSH = false
  78. ; Whether use builtin SSH server or not.
  79. START_SSH_SERVER = false
  80. ; Domain name to be exposed in SSH clone URL
  81. SSH_DOMAIN = %(DOMAIN)s
  82. ; Port number to be exposed in SSH clone URL
  83. SSH_PORT = 22
  84. ; Network interface builtin SSH server listens on
  85. SSH_LISTEN_HOST = 0.0.0.0
  86. ; Port number builtin SSH server listens on
  87. SSH_LISTEN_PORT = %(SSH_PORT)s
  88. ; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
  89. SSH_ROOT_PATH =
  90. ; Choose the ciphers to support for SSH connections
  91. SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
  92. ; Directory to create temporary files when test publick key using ssh-keygen,
  93. ; default is system temporary directory.
  94. SSH_KEY_TEST_PATH =
  95. ; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call.
  96. SSH_KEYGEN_PATH = ssh-keygen
  97. ; Indicate whether to check minimum key size with corresponding type
  98. MINIMUM_KEY_SIZE_CHECK = false
  99. ; Disable CDN even in "prod" mode
  100. OFFLINE_MODE = false
  101. DISABLE_ROUTER_LOG = false
  102. ; Generate steps:
  103. ; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
  104. ;
  105. ; Or from a .pfx file exported from the Windows certificate store (do
  106. ; not forget to export the private key):
  107. ; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys
  108. ; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
  109. CERT_FILE = custom/https/cert.pem
  110. KEY_FILE = custom/https/key.pem
  111. ; Upper level of template and static file path
  112. ; default is the path where Gogs is executed
  113. STATIC_ROOT_PATH =
  114. ; Default path for App data
  115. APP_DATA_PATH = data
  116. ; Application level GZIP support
  117. ENABLE_GZIP = false
  118. ; Landing page for non-logged users, can be "home" or "explore"
  119. LANDING_PAGE = home
  120. [http]
  121. ; Value for Access-Control-Allow-Origin header, default is not to present
  122. ACCESS_CONTROL_ALLOW_ORIGIN =
  123. ; Define allowed algorithms and their minimum key length (use -1 to disable a type)
  124. [ssh.minimum_key_sizes]
  125. ED25519 = 256
  126. ECDSA = 256
  127. RSA = 2048
  128. DSA = 1024
  129. [database]
  130. ; Either "mysql", "postgres" or "sqlite3", you can connect to TiDB with MySQL protocol
  131. DB_TYPE = mysql
  132. HOST = 127.0.0.1:3306
  133. NAME = gogs
  134. USER = root
  135. PASSWD =
  136. ; For "postgres" only, either "disable", "require" or "verify-full"
  137. SSL_MODE = disable
  138. ; For "sqlite3" and "tidb", use absolute path when you start as service
  139. PATH = data/gogs.db
  140. [admin]
  141. ; Disable regular (non-admin) users to create organizations
  142. DISABLE_REGULAR_ORG_CREATION = false
  143. [security]
  144. INSTALL_LOCK = false
  145. ; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
  146. SECRET_KEY = !#@FDEWREWR&*(
  147. ; Auto-login remember days
  148. LOGIN_REMEMBER_DAYS = 7
  149. COOKIE_USERNAME = gogs_awesome
  150. COOKIE_REMEMBER_NAME = gogs_incredible
  151. COOKIE_SECURE = false
  152. ; Reverse proxy authentication header name of user name
  153. REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
  154. [service]
  155. ACTIVE_CODE_LIVE_MINUTES = 180
  156. RESET_PASSWD_CODE_LIVE_MINUTES = 180
  157. ; User need to confirm e-mail for registration
  158. REGISTER_EMAIL_CONFIRM = false
  159. ; Does not allow register and admin create account only
  160. DISABLE_REGISTRATION = false
  161. ; User must sign in to view anything.
  162. REQUIRE_SIGNIN_VIEW = false
  163. ; Mail notification
  164. ENABLE_NOTIFY_MAIL = false
  165. ; More detail: https://github.com/gogits/gogs/issues/165
  166. ENABLE_REVERSE_PROXY_AUTHENTICATION = false
  167. ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
  168. ; Enable captcha validation for registration
  169. ENABLE_CAPTCHA = true
  170. [webhook]
  171. ; Hook task queue length, increase if webhook shooting starts hanging
  172. QUEUE_LENGTH = 1000
  173. ; Deliver timeout in seconds
  174. DELIVER_TIMEOUT = 5
  175. ; Allow insecure certification
  176. SKIP_TLS_VERIFY = false
  177. ; Number of history information in each page
  178. PAGING_NUM = 10
  179. [mailer]
  180. ENABLED = false
  181. ; Buffer length of channel, keep it as it is if you don't know what it is.
  182. SEND_BUFFER_LEN = 100
  183. ; Name displayed in mail title
  184. SUBJECT = %(APP_NAME)s
  185. ; Mail server
  186. ; Gmail: smtp.gmail.com:587
  187. ; QQ: smtp.qq.com:465
  188. ; 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.
  189. HOST =
  190. ; Disable HELO operation when hostname are different.
  191. DISABLE_HELO =
  192. ; Custom hostname for HELO operation, default is from system.
  193. HELO_HOSTNAME =
  194. ; Do not verify the certificate of the server. Only use this for self-signed certificates
  195. SKIP_VERIFY =
  196. ; Use client certificate
  197. USE_CERTIFICATE = false
  198. CERT_FILE = custom/mailer/cert.pem
  199. KEY_FILE = custom/mailer/key.pem
  200. ; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
  201. FROM =
  202. ; Mailer user name and password
  203. USER =
  204. PASSWD =
  205. ; Use text/html as alternative format of content
  206. ENABLE_HTML_ALTERNATIVE = false
  207. [cache]
  208. ; Either "memory", "redis", or "memcache", default is "memory"
  209. ADAPTER = memory
  210. ; For "memory" only, GC interval in seconds, default is 60
  211. INTERVAL = 60
  212. ; For "redis" and "memcache", connection host address
  213. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  214. ; memcache: `127.0.0.1:11211`
  215. HOST =
  216. [session]
  217. ; Either "memory", "file", or "redis", default is "memory"
  218. PROVIDER = memory
  219. ; Provider config options
  220. ; memory: not have any config yet
  221. ; file: session file path, e.g. `data/sessions`
  222. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  223. ; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
  224. PROVIDER_CONFIG = data/sessions
  225. ; Session cookie name
  226. COOKIE_NAME = i_like_gogits
  227. ; If you use session in https only, default is false
  228. COOKIE_SECURE = false
  229. ; Enable set cookie, default is true
  230. ENABLE_SET_COOKIE = true
  231. ; Session GC time interval, default is 86400
  232. GC_INTERVAL_TIME = 86400
  233. ; Session life time, default is 86400
  234. SESSION_LIFE_TIME = 86400
  235. [picture]
  236. ; Path to store user uploaded avatars
  237. AVATAR_UPLOAD_PATH = data/avatars
  238. ; Chinese users can choose "duoshuo"
  239. ; or a custom avatar source, like: http://cn.gravatar.com/avatar/
  240. GRAVATAR_SOURCE = gravatar
  241. ; This value will be forced to be true in offline mode.
  242. DISABLE_GRAVATAR = false
  243. ; Federated avatar lookup uses DNS to discover avatar associated
  244. ; with emails, see https://www.libravatar.org
  245. ; This value will be forced to be false in offline mode or Gravatar is disbaled.
  246. ENABLE_FEDERATED_AVATAR = true
  247. [attachment]
  248. ; Whether attachments are enabled. Defaults to `true`
  249. ENABLE = true
  250. ; Path for attachments. Defaults to `data/attachments`
  251. PATH = data/attachments
  252. ; One or more allowed types, e.g. image/jpeg|image/png
  253. ALLOWED_TYPES = image/jpeg|image/png
  254. ; Max size of each file. Defaults to 32MB
  255. MAX_SIZE = 4
  256. ; Max number of files per upload. Defaults to 10
  257. MAX_FILES = 5
  258. [time]
  259. ; Specifies the format for fully outputed dates. Defaults to RFC1123
  260. ; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
  261. ; For more information about the format see http://golang.org/pkg/time/#pkg-constants
  262. FORMAT =
  263. ; General settings of loggers
  264. [log]
  265. ROOT_PATH =
  266. ; Can be "console" and "file", default is "console"
  267. ; Use comma to separate multiple modes, e.g. "console, file"
  268. MODE = console
  269. ; Buffer length of channel, keep it as it is if you don't know what it is.
  270. BUFFER_LEN = 100
  271. ; Either "Trace", "Info", "Warn", "Error", "Fatal", default is "Trace"
  272. LEVEL = Trace
  273. ; For "console" mode only
  274. [log.console]
  275. ; leave empty to inherit
  276. LEVEL =
  277. ; For "file" mode only
  278. [log.file]
  279. ; leave empty to inherit
  280. LEVEL =
  281. ; This enables automated log rotate (switch of following options)
  282. LOG_ROTATE = true
  283. ; Segment log daily
  284. DAILY_ROTATE = true
  285. ; Max size shift of single file, default is 28 means 1 << 28, 256MB
  286. MAX_SIZE_SHIFT = 28
  287. ; Max line number of single file
  288. MAX_LINES = 1000000
  289. ; Expired days of log file (delete after max days)
  290. MAX_DAYS = 7
  291. ; For "slack" mode only
  292. [log.slack]
  293. ; leave empty to inherit
  294. LEVEL =
  295. ; Webhook URL
  296. URL =
  297. [cron]
  298. ; Enable running cron tasks periodically.
  299. ENABLED = true
  300. ; Run cron tasks when Gogs starts.
  301. RUN_AT_START = false
  302. ; Update mirrors
  303. [cron.update_mirrors]
  304. SCHEDULE = @every 10m
  305. ; Repository health check
  306. [cron.repo_health_check]
  307. SCHEDULE = @every 24h
  308. TIMEOUT = 60s
  309. ; Arguments for command 'git fsck', e.g. "--unreachable --tags"
  310. ; see more on http://git-scm.com/docs/git-fsck/1.7.5
  311. ARGS =
  312. ; Check repository statistics
  313. [cron.check_repo_stats]
  314. RUN_AT_START = true
  315. SCHEDULE = @every 24h
  316. [git]
  317. ; Disables highlight of added and removed changes
  318. DISABLE_DIFF_HIGHLIGHT = false
  319. ; Max number of lines allowed of a single file in diff view
  320. MAX_GIT_DIFF_LINES = 1000
  321. ; Max number of characters of a line allowed in diff view
  322. MAX_GIT_DIFF_LINE_CHARACTERS = 500
  323. ; Max number of files shown in diff view
  324. MAX_GIT_DIFF_FILES = 100
  325. ; Arguments for command 'git gc', e.g. "--aggressive --auto"
  326. ; see more on http://git-scm.com/docs/git-gc/1.7.5
  327. GC_ARGS =
  328. ; Operation timeout in seconds
  329. [git.timeout]
  330. MIGRATE = 600
  331. MIRROR = 300
  332. CLONE = 300
  333. PULL = 300
  334. GC = 60
  335. [mirror]
  336. ; Default interval in hours between each check
  337. DEFAULT_INTERVAL = 8
  338. [api]
  339. ; Max number of items will response in a page
  340. MAX_RESPONSE_ITEMS = 50
  341. [ui]
  342. ; Number of repositories that are showed in one explore page
  343. EXPLORE_PAGING_NUM = 20
  344. ; Number of issues that are showed in one page
  345. ISSUE_PAGING_NUM = 10
  346. ; Number of maximum commits showed in one activity feed
  347. FEED_MAX_COMMIT_NUM = 5
  348. ; Value of "theme-color" meta tag, used by Android >= 5.0
  349. ; An invalid color like "none" or "disable" will have the default style
  350. ; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
  351. THEME_COLOR_META_TAG = `#ff5343`
  352. ; Max size in bytes of files to be displayed (default is 8MB)
  353. MAX_DISPLAY_FILE_SIZE = 8388608
  354. [ui.admin]
  355. ; Number of users that are showed in one page
  356. USER_PAGING_NUM = 50
  357. ; Number of repos that are showed in one page
  358. REPO_PAGING_NUM = 50
  359. ; Number of notices that are showed in one page
  360. NOTICE_PAGING_NUM = 25
  361. ; Number of organization that are showed in one page
  362. ORG_PAGING_NUM = 50
  363. [ui.user]
  364. ; Number of repos that are showed in one page
  365. REPO_PAGING_NUM = 15
  366. [i18n]
  367. LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES
  368. NAMES = English,简体中文,繁體中文(香港),繁體中文(台湾),Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano,Suomalainen,Türkçe,čeština,Српски,Svenska,한국어,Galego
  369. ; Used for datetimepicker
  370. [i18n.datelang]
  371. en-US = en
  372. zh-CN = zh
  373. zh-HK = zh-TW
  374. zh-TW = zh-TW
  375. de-DE = de
  376. fr-FR = fr
  377. nl-NL = nl
  378. lv-LV = lv
  379. ru-RU = ru
  380. ja-JP = ja
  381. es-ES = es
  382. pt-BR = pt-BR
  383. pl-PL = pl
  384. bg-BG = bg
  385. it-IT = it
  386. fi-FI = fi
  387. tr-TR = tr
  388. cs-CZ = cs-CZ
  389. sr-SP = sr
  390. sv-SE = sv
  391. ko-KR = ko
  392. gl-ES = gl
  393. ; Extension mapping to highlight class
  394. ; e.g. .toml=ini
  395. [highlight.mapping]
  396. [other]
  397. SHOW_FOOTER_BRANDING = false
  398. ; Show version information about Gogs and Go in the footer
  399. SHOW_FOOTER_VERSION = true
  400. ; Show time of template execution in the footer
  401. SHOW_FOOTER_TEMPLATE_LOAD_TIME = true