app.ini 16 KB

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