You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

app.ini.sample 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805
  1. ; This file lists the default values used by Gitea
  2. ; Copy required sections to your own app.ini (default is custom/conf/app.ini)
  3. ; and modify as needed.
  4. ; see https://docs.gitea.io/en-us/config-cheat-sheet/ for additional documentation.
  5. ; App name that shows in every page title
  6. APP_NAME = Gitea: Git with a cup of tea
  7. ; Change it if you run locally
  8. RUN_USER = git
  9. ; Either "dev", "prod" or "test", default is "dev"
  10. RUN_MODE = dev
  11. [repository]
  12. ROOT =
  13. SCRIPT_TYPE = bash
  14. ; Default ANSI charset
  15. ANSI_CHARSET =
  16. ; Force every new repository to be private
  17. FORCE_PRIVATE = false
  18. ; Default privacy setting when creating a new repository, allowed values: last, private, public. Default is last which means the last setting used.
  19. DEFAULT_PRIVATE = last
  20. ; Global limit of repositories per user, applied at creation time. -1 means no limit
  21. MAX_CREATION_LIMIT = -1
  22. ; Mirror sync queue length, increase if mirror syncing starts hanging
  23. MIRROR_QUEUE_LENGTH = 1000
  24. ; Patch test queue length, increase if pull request patch testing starts hanging
  25. PULL_REQUEST_QUEUE_LENGTH = 1000
  26. ; Preferred Licenses to place at the top of the List
  27. ; The name here must match the filename in conf/license or custom/conf/license
  28. PREFERRED_LICENSES = Apache License 2.0,MIT License
  29. ; Disable the ability to interact with repositories using the HTTP protocol
  30. DISABLE_HTTP_GIT = false
  31. ; Value for Access-Control-Allow-Origin header, default is not to present
  32. ; WARNING: This maybe harmful to you website if you do not give it a right value.
  33. ACCESS_CONTROL_ALLOW_ORIGIN =
  34. ; Force ssh:// clone url instead of scp-style uri when default SSH port is used
  35. USE_COMPAT_SSH_URI = false
  36. ; Close issues as long as a commit on any branch marks it as fixed
  37. DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH = false
  38. [repository.editor]
  39. ; List of file extensions for which lines should be wrapped in the CodeMirror editor
  40. ; Separate extensions with a comma. To line wrap files without an extension, just put a comma
  41. LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd,
  42. ; Valid file modes that have a preview API associated with them, such as api/v1/markdown
  43. ; Separate the values by commas. The preview tab in edit mode won't be displayed if the file extension doesn't match
  44. PREVIEWABLE_FILE_MODES = markdown
  45. [repository.local]
  46. ; Path for local repository copy. Defaults to `tmp/local-repo`
  47. LOCAL_COPY_PATH = tmp/local-repo
  48. ; Path for local wiki copy. Defaults to `tmp/local-wiki`
  49. LOCAL_WIKI_PATH = tmp/local-wiki
  50. [repository.upload]
  51. ; Whether repository file uploads are enabled. Defaults to `true`
  52. ENABLED = true
  53. ; Path for uploads. Defaults to `data/tmp/uploads` (tmp gets deleted on gitea restart)
  54. TEMP_PATH = data/tmp/uploads
  55. ; One or more allowed types, e.g. image/jpeg|image/png. Nothing means any file type
  56. ALLOWED_TYPES =
  57. ; Max size of each file in megabytes. Defaults to 3MB
  58. FILE_MAX_SIZE = 3
  59. ; Max number of files per upload. Defaults to 5
  60. MAX_FILES = 5
  61. [repository.pull-request]
  62. ; List of prefixes used in Pull Request title to mark them as Work In Progress
  63. WORK_IN_PROGRESS_PREFIXES=WIP:,[WIP]
  64. [repository.issue]
  65. ; List of reasons why a Pull Request or Issue can be locked
  66. LOCK_REASONS=Too heated,Off-topic,Resolved,Spam
  67. [cors]
  68. ; More information about CORS can be found here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#The_HTTP_response_headers
  69. ; enable cors headers (disabled by default)
  70. ENABLED=false
  71. ; scheme of allowed requests
  72. SCHEME=http
  73. ; list of requesting domains that are allowed
  74. ALLOW_DOMAIN=*
  75. ; allow subdomains of headers listed above to request
  76. ALLOW_SUBDOMAIN=false
  77. ; list of methods allowed to request
  78. METHODS=GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS
  79. ; max time to cache response
  80. MAX_AGE=10m
  81. ; allow request with credentials
  82. ALLOW_CREDENTIALS=false
  83. [ui]
  84. ; Number of repositories that are displayed on one explore page
  85. EXPLORE_PAGING_NUM = 20
  86. ; Number of issues that are displayed on one page
  87. ISSUE_PAGING_NUM = 10
  88. ; Number of maximum commits displayed in one activity feed
  89. FEED_MAX_COMMIT_NUM = 5
  90. ; Number of maximum commits displayed in commit graph.
  91. GRAPH_MAX_COMMIT_NUM = 100
  92. ; Number of line of codes shown for a code comment
  93. CODE_COMMENT_LINES = 4
  94. ; Value of `theme-color` meta tag, used by Android >= 5.0
  95. ; An invalid color like "none" or "disable" will have the default style
  96. ; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
  97. THEME_COLOR_META_TAG = `#6cc644`
  98. ; Max size of files to be displayed (default is 8MiB)
  99. MAX_DISPLAY_FILE_SIZE = 8388608
  100. ; Whether the email of the user should be shown in the Explore Users page
  101. SHOW_USER_EMAIL = true
  102. ; Set the default theme for the Gitea install
  103. DEFAULT_THEME = gitea
  104. ; All available themes. Allow users select personalized themes regardless of the value of `DEFAULT_THEME`.
  105. THEMES = gitea,arc-green
  106. ; Whether the full name of the users should be shown where possible. If the full name isn't set, the username will be used.
  107. DEFAULT_SHOW_FULL_NAME = false
  108. ; Whether to search within description at repository search on explore page.
  109. SEARCH_REPO_DESCRIPTION = true
  110. [ui.admin]
  111. ; Number of users that are displayed on one page
  112. USER_PAGING_NUM = 50
  113. ; Number of repos that are displayed on one page
  114. REPO_PAGING_NUM = 50
  115. ; Number of notices that are displayed on one page
  116. NOTICE_PAGING_NUM = 25
  117. ; Number of organizations that are displayed on one page
  118. ORG_PAGING_NUM = 50
  119. [ui.user]
  120. ; Number of repos that are displayed on one page
  121. REPO_PAGING_NUM = 15
  122. [ui.meta]
  123. AUTHOR = Gitea - Git with a cup of tea
  124. DESCRIPTION = Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go
  125. KEYWORDS = go,git,self-hosted,gitea
  126. [markdown]
  127. ; Enable hard line break extension
  128. ENABLE_HARD_LINE_BREAK = false
  129. ; List of custom URL-Schemes that are allowed as links when rendering Markdown
  130. ; for example git,magnet
  131. CUSTOM_URL_SCHEMES =
  132. ; List of file extensions that should be rendered/edited as Markdown
  133. ; Separate the extensions with a comma. To render files without any extension as markdown, just put a comma
  134. FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
  135. [server]
  136. ; The protocol the server listens on. One of 'http', 'https', 'unix' or 'fcgi'.
  137. PROTOCOL = http
  138. DOMAIN = localhost
  139. ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
  140. ; The address to listen on. Either a IPv4/IPv6 address or the path to a unix socket.
  141. HTTP_ADDR = 0.0.0.0
  142. HTTP_PORT = 3000
  143. ; If REDIRECT_OTHER_PORT is true, and PROTOCOL is set to https an http server
  144. ; will be started on PORT_TO_REDIRECT and it will redirect plain, non-secure http requests to the main
  145. ; ROOT_URL. Defaults are false for REDIRECT_OTHER_PORT and 80 for
  146. ; PORT_TO_REDIRECT.
  147. REDIRECT_OTHER_PORT = false
  148. PORT_TO_REDIRECT = 80
  149. ; Permission for unix socket
  150. UNIX_SOCKET_PERMISSION = 666
  151. ; Local (DMZ) URL for Gitea workers (such as SSH update) accessing web service.
  152. ; In most cases you do not need to change the default value.
  153. ; Alter it only if your SSH server node is not the same as HTTP node.
  154. ; Do not set this variable if PROTOCOL is set to 'unix'.
  155. LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/
  156. ; Disable SSH feature when not available
  157. DISABLE_SSH = false
  158. ; Whether to use the builtin SSH server or not.
  159. START_SSH_SERVER = false
  160. ; Username to use for the builtin SSH server. If blank, then it is the value of RUN_USER.
  161. BUILTIN_SSH_SERVER_USER =
  162. ; Domain name to be exposed in clone URL
  163. SSH_DOMAIN = %(DOMAIN)s
  164. ; The network interface the builtin SSH server should listen on
  165. SSH_LISTEN_HOST =
  166. ; Port number to be exposed in clone URL
  167. SSH_PORT = 22
  168. ; The port number the builtin SSH server should listen on
  169. SSH_LISTEN_PORT = %(SSH_PORT)s
  170. ; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
  171. SSH_ROOT_PATH =
  172. ; Gitea will create a authorized_keys file by default when it is not using the internal ssh server
  173. ; If you intend to use the AuthorizedKeysCommand functionality then you should turn this off.
  174. SSH_CREATE_AUTHORIZED_KEYS_FILE = true
  175. ; For the built-in SSH server, choose the ciphers to support for SSH connections,
  176. ; for system SSH this setting has no effect
  177. SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
  178. ; For the built-in SSH server, choose the key exchange algorithms to support for SSH connections,
  179. ; for system SSH this setting has no effect
  180. SSH_SERVER_KEY_EXCHANGES = diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, curve25519-sha256@libssh.org
  181. ; For the built-in SSH server, choose the MACs to support for SSH connections,
  182. ; for system SSH this setting has no effect
  183. SSH_SERVER_MACS = hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1, hmac-sha1-96
  184. ; Directory to create temporary files in when testing public keys using ssh-keygen,
  185. ; default is the system temporary directory.
  186. SSH_KEY_TEST_PATH =
  187. ; Path to ssh-keygen, default is 'ssh-keygen' which means the shell is responsible for finding out which one to call.
  188. SSH_KEYGEN_PATH = ssh-keygen
  189. ; Enable SSH Authorized Key Backup when rewriting all keys, default is true
  190. SSH_BACKUP_AUTHORIZED_KEYS = true
  191. ; Enable exposure of SSH clone URL to anonymous visitors, default is false
  192. SSH_EXPOSE_ANONYMOUS = false
  193. ; Indicate whether to check minimum key size with corresponding type
  194. MINIMUM_KEY_SIZE_CHECK = false
  195. ; Disable CDN even in "prod" mode
  196. OFFLINE_MODE = false
  197. DISABLE_ROUTER_LOG = false
  198. ; Generate steps:
  199. ; $ ./gitea cert -ca=true -duration=8760h0m0s -host=myhost.example.com
  200. ;
  201. ; Or from a .pfx file exported from the Windows certificate store (do
  202. ; not forget to export the private key):
  203. ; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys
  204. ; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
  205. CERT_FILE = custom/https/cert.pem
  206. KEY_FILE = custom/https/key.pem
  207. ; Root directory containing templates and static files.
  208. ; default is the path where Gitea is executed
  209. STATIC_ROOT_PATH =
  210. ; Default path for App data
  211. APP_DATA_PATH = data
  212. ; Application level GZIP support
  213. ENABLE_GZIP = false
  214. ; Application profiling (memory and cpu)
  215. ; For "web" command it listens on localhost:6060
  216. ; For "serve" command it dumps to disk at PPROF_DATA_PATH as (cpuprofile|memprofile)_<username>_<temporary id>
  217. ENABLE_PPROF = false
  218. ; PPROF_DATA_PATH, use an absolute path when you start gitea as service
  219. PPROF_DATA_PATH = data/tmp/pprof
  220. ; Landing page, can be "home", "explore", or "organizations"
  221. LANDING_PAGE = home
  222. ; Enables git-lfs support. true or false, default is false.
  223. LFS_START_SERVER = false
  224. ; Where your lfs files reside, default is data/lfs.
  225. LFS_CONTENT_PATH = data/lfs
  226. ; LFS authentication secret, change this yourself
  227. LFS_JWT_SECRET =
  228. ; LFS authentication validity period (in time.Duration), pushes taking longer than this may fail.
  229. LFS_HTTP_AUTH_EXPIRY = 20m
  230. ; Define allowed algorithms and their minimum key length (use -1 to disable a type)
  231. [ssh.minimum_key_sizes]
  232. ED25519 = 256
  233. ECDSA = 256
  234. RSA = 2048
  235. DSA = 1024
  236. [database]
  237. ; Either "mysql", "postgres", "mssql" or "sqlite3", it's your choice
  238. DB_TYPE = mysql
  239. HOST = 127.0.0.1:3306
  240. NAME = gitea
  241. USER = root
  242. ; Use PASSWD = `your password` for quoting if you use special characters in the password.
  243. PASSWD =
  244. ; For Postgres, either "disable" (default), "require", or "verify-full"
  245. ; For MySQL, either "false" (default), "true", or "skip-verify"
  246. SSL_MODE = disable
  247. ; For MySQL only, either "utf8" or "utf8mb4", default is "utf8".
  248. ; NOTICE: for "utf8mb4" you must use MySQL InnoDB > 5.6. Gitea is unable to check this.
  249. CHARSET = utf8
  250. ; For "sqlite3" and "tidb", use an absolute path when you start gitea as service
  251. PATH = data/gitea.db
  252. ; For "sqlite3" only. Query timeout
  253. SQLITE_TIMEOUT = 500
  254. ; For iterate buffer, default is 50
  255. ITERATE_BUFFER_SIZE = 50
  256. ; Show the database generated SQL
  257. LOG_SQL = true
  258. ; Maximum number of DB Connect retries
  259. DB_RETRIES = 10
  260. ; Backoff time per DB retry (time.Duration)
  261. DB_RETRY_BACKOFF = 3s
  262. ; Max idle database connections on connnection pool, default is 0
  263. MAX_IDLE_CONNS = 0
  264. ; Database connection max life time, default is 3s
  265. CONN_MAX_LIFETIME = 3s
  266. [indexer]
  267. ; Issue indexer type, currently support: bleve or db, default is bleve
  268. ISSUE_INDEXER_TYPE = bleve
  269. ; Issue indexer storage path, available when ISSUE_INDEXER_TYPE is bleve
  270. ISSUE_INDEXER_PATH = indexers/issues.bleve
  271. ; Issue indexer queue, currently support: channel, levelqueue or redis, default is levelqueue
  272. ISSUE_INDEXER_QUEUE_TYPE = levelqueue
  273. ; When ISSUE_INDEXER_QUEUE_TYPE is levelqueue, this will be the queue will be saved path,
  274. ; default is indexers/issues.queue
  275. ISSUE_INDEXER_QUEUE_DIR = indexers/issues.queue
  276. ; When `ISSUE_INDEXER_QUEUE_TYPE` is `redis`, this will store the redis connection string.
  277. ISSUE_INDEXER_QUEUE_CONN_STR = "addrs=127.0.0.1:6379 db=0"
  278. ; Batch queue number, default is 20
  279. ISSUE_INDEXER_QUEUE_BATCH_NUMBER = 20
  280. ; repo indexer by default disabled, since it uses a lot of disk space
  281. REPO_INDEXER_ENABLED = false
  282. REPO_INDEXER_PATH = indexers/repos.bleve
  283. UPDATE_BUFFER_LEN = 20
  284. MAX_FILE_SIZE = 1048576
  285. [admin]
  286. ; Disallow regular (non-admin) users from creating organizations.
  287. DISABLE_REGULAR_ORG_CREATION = false
  288. ; Default configuration for email notifications for users (user configurable). Options: enabled, onmention, disabled
  289. DEFAULT_EMAIL_NOTIFICATIONS = enabled
  290. [security]
  291. ; Whether the installer is disabled
  292. INSTALL_LOCK = false
  293. ; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
  294. SECRET_KEY = !#@FDEWREWR&*(
  295. ; How long to remember that a user is logged in before requiring relogin (in days)
  296. LOGIN_REMEMBER_DAYS = 7
  297. COOKIE_USERNAME = gitea_awesome
  298. COOKIE_REMEMBER_NAME = gitea_incredible
  299. ; Reverse proxy authentication header name of user name
  300. REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
  301. REVERSE_PROXY_AUTHENTICATION_EMAIL = X-WEBAUTH-EMAIL
  302. ; The minimum password length for new Users
  303. MIN_PASSWORD_LENGTH = 6
  304. ; Set to true to allow users to import local server paths
  305. IMPORT_LOCAL_PATHS = false
  306. ; Set to true to prevent all users (including admin) from creating custom git hooks
  307. DISABLE_GIT_HOOKS = false
  308. ; Password Hash algorithm, either "pbkdf2", "argon2", "scrypt" or "bcrypt"
  309. PASSWORD_HASH_ALGO = pbkdf2
  310. ; Set false to allow JavaScript to read CSRF cookie
  311. CSRF_COOKIE_HTTP_ONLY = true
  312. [openid]
  313. ;
  314. ; OpenID is an open, standard and decentralized authentication protocol.
  315. ; Your identity is the address of a webpage you provide, which describes
  316. ; how to prove you are in control of that page.
  317. ;
  318. ; For more info: https://en.wikipedia.org/wiki/OpenID
  319. ;
  320. ; Current implementation supports OpenID-2.0
  321. ;
  322. ; Tested to work providers at the time of writing:
  323. ; - Any GNUSocial node (your.hostname.tld/username)
  324. ; - Any SimpleID provider (http://simpleid.koinic.net)
  325. ; - http://openid.org.cn/
  326. ; - openid.stackexchange.com
  327. ; - login.launchpad.net
  328. ; - <username>.livejournal.com
  329. ;
  330. ; Whether to allow signin in via OpenID
  331. ENABLE_OPENID_SIGNIN = true
  332. ; Whether to allow registering via OpenID
  333. ; Do not include to rely on rhw DISABLE_REGISTRATION setting
  334. ;ENABLE_OPENID_SIGNUP = true
  335. ; Allowed URI patterns (POSIX regexp).
  336. ; Space separated.
  337. ; Only these would be allowed if non-blank.
  338. ; Example value: trusted.domain.org trusted.domain.net
  339. WHITELISTED_URIS =
  340. ; Forbidden URI patterns (POSIX regexp).
  341. ; Space separated.
  342. ; Only used if WHITELISTED_URIS is blank.
  343. ; Example value: loadaverage.org/badguy stackexchange.com/.*spammer
  344. BLACKLISTED_URIS =
  345. [service]
  346. ; Time limit to confirm account/email registration
  347. ACTIVE_CODE_LIVE_MINUTES = 180
  348. ; Time limit to perform the reset of a forgotten password
  349. RESET_PASSWD_CODE_LIVE_MINUTES = 180
  350. ; Whether a new user needs to confirm their email when registering.
  351. REGISTER_EMAIL_CONFIRM = false
  352. ; List of domain names that are allowed to be used to register on a Gitea instance
  353. ; gitea.io,example.com
  354. EMAIL_DOMAIN_WHITELIST=
  355. ; Disallow registration, only allow admins to create accounts.
  356. DISABLE_REGISTRATION = false
  357. ; Allow registration only using third-party services, it works only when DISABLE_REGISTRATION is false
  358. ALLOW_ONLY_EXTERNAL_REGISTRATION = false
  359. ; User must sign in to view anything.
  360. REQUIRE_SIGNIN_VIEW = false
  361. ; Mail notification
  362. ENABLE_NOTIFY_MAIL = false
  363. ; More detail: https://github.com/gogits/gogs/issues/165
  364. ENABLE_REVERSE_PROXY_AUTHENTICATION = false
  365. ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
  366. ENABLE_REVERSE_PROXY_EMAIL = false
  367. ; Enable captcha validation for registration
  368. ENABLE_CAPTCHA = false
  369. ; Type of captcha you want to use. Options: image, recaptcha
  370. CAPTCHA_TYPE = image
  371. ; Enable recaptcha to use Google's recaptcha service
  372. ; Go to https://www.google.com/recaptcha/admin to sign up for a key
  373. RECAPTCHA_SECRET =
  374. RECAPTCHA_SITEKEY =
  375. ; Change this to use recaptcha.net or other recaptcha service
  376. RECAPTCHA_URL = https://www.google.com/recaptcha/
  377. ; Default value for KeepEmailPrivate
  378. ; Each new user will get the value of this setting copied into their profile
  379. DEFAULT_KEEP_EMAIL_PRIVATE = false
  380. ; Default value for AllowCreateOrganization
  381. ; Every new user will have rights set to create organizations depending on this setting
  382. DEFAULT_ALLOW_CREATE_ORGANIZATION = true
  383. ; Either "public", "limited" or "private", default is "public"
  384. ; Limited is for signed user only
  385. ; Private is only for member of the organization
  386. ; Public is for everyone
  387. DEFAULT_ORG_VISIBILITY = public
  388. ; Default value for DefaultOrgMemberVisible
  389. ; True will make the membership of the users visible when added to the organisation
  390. DEFAULT_ORG_MEMBER_VISIBLE = false
  391. ; Default value for EnableDependencies
  392. ; Repositories will use dependencies by default depending on this setting
  393. DEFAULT_ENABLE_DEPENDENCIES = true
  394. ; Enable heatmap on users profiles.
  395. ENABLE_USER_HEATMAP = true
  396. ; Enable Timetracking
  397. ENABLE_TIMETRACKING = true
  398. ; Default value for EnableTimetracking
  399. ; Repositories will use timetracking by default depending on this setting
  400. DEFAULT_ENABLE_TIMETRACKING = true
  401. ; Default value for AllowOnlyContributorsToTrackTime
  402. ; Only users with write permissions can track time if this is true
  403. DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME = true
  404. ; Default value for the domain part of the user's email address in the git log
  405. ; if he has set KeepEmailPrivate to true. The user's email will be replaced with a
  406. ; concatenation of the user name in lower case, "@" and NO_REPLY_ADDRESS.
  407. NO_REPLY_ADDRESS = noreply.example.org
  408. ; Show Registration button
  409. SHOW_REGISTRATION_BUTTON = true
  410. ; Default value for AutoWatchNewRepos
  411. ; When adding a repo to a team or creating a new repo all team members will watch the
  412. ; repo automatically if enabled
  413. AUTO_WATCH_NEW_REPOS = true
  414. [webhook]
  415. ; Hook task queue length, increase if webhook shooting starts hanging
  416. QUEUE_LENGTH = 1000
  417. ; Deliver timeout in seconds
  418. DELIVER_TIMEOUT = 5
  419. ; Allow insecure certification
  420. SKIP_TLS_VERIFY = false
  421. ; Number of history information in each page
  422. PAGING_NUM = 10
  423. [mailer]
  424. ENABLED = false
  425. ; Buffer length of channel, keep it as it is if you don't know what it is.
  426. SEND_BUFFER_LEN = 100
  427. ; Prefix displayed before subject in mail
  428. SUBJECT_PREFIX =
  429. ; Mail server
  430. ; Gmail: smtp.gmail.com:587
  431. ; QQ: smtp.qq.com:465
  432. ; 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.
  433. HOST =
  434. ; Disable HELO operation when hostnames are different.
  435. DISABLE_HELO =
  436. ; Custom hostname for HELO operation, if no value is provided, one is retrieved from system.
  437. HELO_HOSTNAME =
  438. ; Do not verify the certificate of the server. Only use this for self-signed certificates
  439. SKIP_VERIFY =
  440. ; Use client certificate
  441. USE_CERTIFICATE = false
  442. CERT_FILE = custom/mailer/cert.pem
  443. KEY_FILE = custom/mailer/key.pem
  444. ; Should SMTP connection use TLS
  445. IS_TLS_ENABLED = false
  446. ; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
  447. FROM =
  448. ; Mailer user name and password
  449. USER =
  450. ; Use PASSWD = `your password` for quoting if you use special characters in the password.
  451. PASSWD =
  452. ; Send mails as plain text
  453. SEND_AS_PLAIN_TEXT = false
  454. ; Set Mailer Type (either SMTP, sendmail or dummy to just send to the log)
  455. MAILER_TYPE = smtp
  456. ; Specify an alternative sendmail binary
  457. SENDMAIL_PATH = sendmail
  458. ; Specify any extra sendmail arguments
  459. SENDMAIL_ARGS =
  460. [cache]
  461. ; Either "memory", "redis", or "memcache", default is "memory"
  462. ADAPTER = memory
  463. ; For "memory" only, GC interval in seconds, default is 60
  464. INTERVAL = 60
  465. ; For "redis" and "memcache", connection host address
  466. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  467. ; memcache: `127.0.0.1:11211`
  468. HOST =
  469. ; Time to keep items in cache if not used, default is 16 hours.
  470. ; Setting it to 0 disables caching
  471. ITEM_TTL = 16h
  472. [session]
  473. ; Either "memory", "file", or "redis", default is "memory"
  474. PROVIDER = memory
  475. ; Provider config options
  476. ; memory: doesn't have any config yet
  477. ; file: session file path, e.g. `data/sessions`
  478. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  479. ; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
  480. PROVIDER_CONFIG = data/sessions
  481. ; Session cookie name
  482. COOKIE_NAME = i_like_gitea
  483. ; If you use session in https only, default is false
  484. COOKIE_SECURE = false
  485. ; Enable set cookie, default is true
  486. ENABLE_SET_COOKIE = true
  487. ; Session GC time interval in seconds, default is 86400 (1 day)
  488. GC_INTERVAL_TIME = 86400
  489. ; Session life time in seconds, default is 86400 (1 day)
  490. SESSION_LIFE_TIME = 86400
  491. [picture]
  492. AVATAR_UPLOAD_PATH = data/avatars
  493. REPOSITORY_AVATAR_UPLOAD_PATH = data/repo-avatars
  494. ; How Gitea deals with missing repository avatars
  495. ; none = no avatar will be displayed; random = random avatar will be displayed; image = default image will be used
  496. REPOSITORY_AVATAR_FALLBACK = none
  497. REPOSITORY_AVATAR_FALLBACK_IMAGE = /img/repo_default.png
  498. ; Max Width and Height of uploaded avatars.
  499. ; This is to limit the amount of RAM used when resizing the image.
  500. AVATAR_MAX_WIDTH = 4096
  501. AVATAR_MAX_HEIGHT = 3072
  502. ; Maximum alloved file size for uploaded avatars.
  503. ; This is to limit the amount of RAM used when resizing the image.
  504. AVATAR_MAX_FILE_SIZE = 1048576
  505. ; Chinese users can choose "duoshuo"
  506. ; or a custom avatar source, like: http://cn.gravatar.com/avatar/
  507. GRAVATAR_SOURCE = gravatar
  508. ; This value will always be true in offline mode.
  509. DISABLE_GRAVATAR = false
  510. ; Federated avatar lookup uses DNS to discover avatar associated
  511. ; with emails, see https://www.libravatar.org
  512. ; This value will always be false in offline mode or when Gravatar is disabled.
  513. ENABLE_FEDERATED_AVATAR = false
  514. [attachment]
  515. ; Whether attachments are enabled. Defaults to `true`
  516. ENABLED = true
  517. ; Path for attachments. Defaults to `data/attachments`
  518. PATH = data/attachments
  519. ; One or more allowed types, e.g. image/jpeg|image/png
  520. ALLOWED_TYPES = image/jpeg|image/png|application/zip|application/gzip
  521. ; Max size of each file. Defaults to 4MB
  522. MAX_SIZE = 4
  523. ; Max number of files per upload. Defaults to 5
  524. MAX_FILES = 5
  525. [time]
  526. ; Specifies the format for fully outputted dates. Defaults to RFC1123
  527. ; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
  528. ; For more information about the format see http://golang.org/pkg/time/#pkg-constants
  529. FORMAT =
  530. ; Location the UI time display i.e. Asia/Shanghai
  531. ; Empty means server's location setting
  532. DEFAULT_UI_LOCATION =
  533. [log]
  534. ROOT_PATH =
  535. ; Either "console", "file", "conn", "smtp" or "database", default is "console"
  536. ; Use comma to separate multiple modes, e.g. "console, file"
  537. MODE = console
  538. ; Buffer length of the channel, keep it as it is if you don't know what it is.
  539. BUFFER_LEN = 10000
  540. REDIRECT_MACARON_LOG = false
  541. MACARON = file
  542. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Info"
  543. ROUTER_LOG_LEVEL = Info
  544. ROUTER = console
  545. ENABLE_ACCESS_LOG = false
  546. ACCESS_LOG_TEMPLATE = {{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}"
  547. ACCESS = file
  548. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
  549. LEVEL = Info
  550. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "None"
  551. STACKTRACE_LEVEL = None
  552. ; Generic log modes
  553. [log.x]
  554. FLAGS = stdflags
  555. EXPRESSION =
  556. PREFIX =
  557. COLORIZE = false
  558. ; For "console" mode only
  559. [log.console]
  560. LEVEL =
  561. STDERR = false
  562. ; For "file" mode only
  563. [log.file]
  564. LEVEL =
  565. ; Set the file_name for the logger. If this is a relative path this
  566. ; will be relative to ROOT_PATH
  567. FILE_NAME =
  568. ; This enables automated log rotate(switch of following options), default is true
  569. LOG_ROTATE = true
  570. ; Max number of lines in a single file, default is 1000000
  571. MAX_LINES = 1000000
  572. ; Max size shift of a single file, default is 28 means 1 << 28, 256MB
  573. MAX_SIZE_SHIFT = 28
  574. ; Segment log daily, default is true
  575. DAILY_ROTATE = true
  576. ; delete the log file after n days, default is 7
  577. MAX_DAYS = 7
  578. ; compress logs with gzip
  579. COMPRESS = true
  580. ; compression level see godoc for compress/gzip
  581. COMPRESSION_LEVEL = -1
  582. ; For "conn" mode only
  583. [log.conn]
  584. LEVEL =
  585. ; Reconnect host for every single message, default is false
  586. RECONNECT_ON_MSG = false
  587. ; Try to reconnect when connection is lost, default is false
  588. RECONNECT = false
  589. ; Either "tcp", "unix" or "udp", default is "tcp"
  590. PROTOCOL = tcp
  591. ; Host address
  592. ADDR =
  593. ; For "smtp" mode only
  594. [log.smtp]
  595. LEVEL =
  596. ; Name displayed in mail title, default is "Diagnostic message from server"
  597. SUBJECT = Diagnostic message from server
  598. ; Mail server
  599. HOST =
  600. ; Mailer user name and password
  601. USER =
  602. ; Use PASSWD = `your password` for quoting if you use special characters in the password.
  603. PASSWD =
  604. ; Receivers, can be one or more, e.g. 1@example.com,2@example.com
  605. RECEIVERS =
  606. [cron]
  607. ; Enable running cron tasks periodically.
  608. ENABLED = true
  609. ; Run cron tasks when Gitea starts.
  610. RUN_AT_START = false
  611. ; Update mirrors
  612. [cron.update_mirrors]
  613. SCHEDULE = @every 10m
  614. ; Repository health check
  615. [cron.repo_health_check]
  616. SCHEDULE = @every 24h
  617. TIMEOUT = 60s
  618. ; Arguments for command 'git fsck', e.g. "--unreachable --tags"
  619. ; see more on http://git-scm.com/docs/git-fsck
  620. ARGS =
  621. ; Check repository statistics
  622. [cron.check_repo_stats]
  623. RUN_AT_START = true
  624. SCHEDULE = @every 24h
  625. ; Clean up old repository archives
  626. [cron.archive_cleanup]
  627. ; Whether to enable the job
  628. ENABLED = true
  629. ; Whether to always run at least once at start up time (if ENABLED)
  630. RUN_AT_START = true
  631. ; Time interval for job to run
  632. SCHEDULE = @every 24h
  633. ; Archives created more than OLDER_THAN ago are subject to deletion
  634. OLDER_THAN = 24h
  635. ; Synchronize external user data (only LDAP user synchronization is supported)
  636. [cron.sync_external_users]
  637. ; Synchronize external user data when starting server (default false)
  638. RUN_AT_START = false
  639. ; Interval as a duration between each synchronization (default every 24h)
  640. SCHEDULE = @every 24h
  641. ; Create new users, update existing user data and disable users that are not in external source anymore (default)
  642. ; or only create new users if UPDATE_EXISTING is set to false
  643. UPDATE_EXISTING = true
  644. [git]
  645. ; The path of git executable. If empty, Gitea searches through the PATH environment.
  646. PATH =
  647. ; Disables highlight of added and removed changes
  648. DISABLE_DIFF_HIGHLIGHT = false
  649. ; Max number of lines allowed in a single file in diff view
  650. MAX_GIT_DIFF_LINES = 1000
  651. ; Max number of allowed characters in a line in diff view
  652. MAX_GIT_DIFF_LINE_CHARACTERS = 5000
  653. ; Max number of files shown in diff view
  654. MAX_GIT_DIFF_FILES = 100
  655. ; Arguments for command 'git gc', e.g. "--aggressive --auto"
  656. ; see more on http://git-scm.com/docs/git-gc/
  657. GC_ARGS =
  658. ; If use git wire protocol version 2 when git version >= 2.18, default is true, set to false when you always want git wire protocol version 1
  659. EnableAutoGitWireProtocol = true
  660. ; Operation timeout in seconds
  661. [git.timeout]
  662. DEFAULT = 360
  663. MIGRATE = 600
  664. MIRROR = 300
  665. CLONE = 300
  666. PULL = 300
  667. GC = 60
  668. [mirror]
  669. ; Default interval as a duration between each check
  670. DEFAULT_INTERVAL = 8h
  671. ; Min interval as a duration must be > 1m
  672. MIN_INTERVAL = 10m
  673. [api]
  674. ; Enables Swagger. True or false; default is true.
  675. ENABLE_SWAGGER = true
  676. ; Max number of items in a page
  677. MAX_RESPONSE_ITEMS = 50
  678. ; Default paging number of api
  679. DEFAULT_PAGING_NUM = 30
  680. ; Default and maximum number of items per page for git trees api
  681. DEFAULT_GIT_TREES_PER_PAGE = 1000
  682. ; Default size of a blob returned by the blobs API (default is 10MiB)
  683. DEFAULT_MAX_BLOB_SIZE = 10485760
  684. [oauth2]
  685. ; Enables OAuth2 provider
  686. ENABLE = true
  687. ; Lifetime of an OAuth2 access token in seconds
  688. ACCESS_TOKEN_EXPIRATION_TIME=3600
  689. ; Lifetime of an OAuth2 access token in hours
  690. REFRESH_TOKEN_EXPIRATION_TIME=730
  691. ; Check if refresh token got already used
  692. INVALIDATE_REFRESH_TOKENS=false
  693. ; OAuth2 authentication secret for access and refresh tokens, change this to a unique string.
  694. JWT_SECRET=Bk0yK7Y9g_p56v86KaHqjSbxvNvu3SbKoOdOt2ZcXvU
  695. [i18n]
  696. LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR
  697. NAMES = English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,français,Nederlands,latviešu,русский,Українська,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어
  698. ; Used for datetimepicker
  699. [i18n.datelang]
  700. en-US = en
  701. zh-CN = zh
  702. zh-HK = zh-HK
  703. zh-TW = zh-TW
  704. de-DE = de
  705. fr-FR = fr
  706. nl-NL = nl
  707. lv-LV = lv
  708. ru-RU = ru
  709. uk-UA = uk
  710. ja-JP = ja
  711. es-ES = es
  712. pt-BR = pt-BR
  713. pl-PL = pl
  714. bg-BG = bg
  715. it-IT = it
  716. fi-FI = fi
  717. tr-TR = tr
  718. cs-CZ = cs-CZ
  719. sr-SP = sr
  720. sv-SE = sv
  721. ko-KR = ko
  722. [U2F]
  723. ; NOTE: THE DEFAULT VALUES HERE WILL NEED TO BE CHANGED
  724. ; Two Factor authentication with security keys
  725. ; https://developers.yubico.com/U2F/App_ID.html
  726. ;APP_ID = http://localhost:3000/
  727. ; Comma seperated list of trusted facets
  728. ;TRUSTED_FACETS = http://localhost:3000/
  729. ; Extension mapping to highlight class
  730. ; e.g. .toml=ini
  731. [highlight.mapping]
  732. [other]
  733. SHOW_FOOTER_BRANDING = false
  734. ; Show version information about Gitea and Go in the footer
  735. SHOW_FOOTER_VERSION = true
  736. ; Show template execution time in the footer
  737. SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
  738. [markup.asciidoc]
  739. ENABLED = false
  740. ; List of file extensions that should be rendered by an external command
  741. FILE_EXTENSIONS = .adoc,.asciidoc
  742. ; External command to render all matching extensions
  743. RENDER_COMMAND = "asciidoc --out-file=- -"
  744. ; Don't pass the file on STDIN, pass the filename as argument instead.
  745. IS_INPUT_FILE = false
  746. [metrics]
  747. ; Enables metrics endpoint. True or false; default is false.
  748. ENABLED = false
  749. ; If you want to add authorization, specify a token here
  750. TOKEN =