app.ini 15 KB

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