app.ini 16 KB

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