app.ini 17 KB

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