From 5c26596df615fae2d5fc56c8ea25dce1573e0108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 7 Jun 2018 22:06:19 +0200 Subject: [PATCH] Update app.ini from upstream --- conf/app.ini | 531 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 493 insertions(+), 38 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index dc3ef61..5a08d74 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -1,51 +1,506 @@ -;https://github.com/gogits/gogs/blob/master/conf/app.ini +; App name that shows on every page title APP_NAME = Gogs: Go Git Service +; The name of the system user that runs Gogs RUN_USER = __APP__ +; Either "dev", "prod" or "test" RUN_MODE = prod + +[server] +PROTOCOL = http +DOMAIN = __DOMAIN__ +ROOT_URL = https://__URL__/ +HTTP_ADDR = 0.0.0.0 +HTTP_PORT = __PORT__ +; Permission for unix socket +UNIX_SOCKET_PERMISSION = 666 +; Local (DMZ) URL for Gogs workers (such as SSH update) accessing web service. +; In most cases you do not need to change the default value. +; Alter it only if your SSH server node is not the same as HTTP node. +LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/ +; Disable SSH feature when not available +DISABLE_SSH = false +; Whether use builtin SSH server or not. +START_SSH_SERVER = false +; Domain name to be exposed in SSH clone URL +SSH_DOMAIN = %(DOMAIN)s +; Port number to be exposed in SSH clone URL +SSH_PORT = 22 +; Network interface builtin SSH server listens on +SSH_LISTEN_HOST = 0.0.0.0 +; Port number builtin SSH server listens on +SSH_LISTEN_PORT = %(SSH_PORT)s +; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'. +SSH_ROOT_PATH = +; Indicate whether to rewrite authorized_keys at start, ignored when use builtin SSH server +REWRITE_AUTHORIZED_KEYS_AT_START = false +; Choose the ciphers to support for SSH connections +SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128 +; Directory to create temporary files when test publick key using ssh-keygen, +; default is system temporary directory. +SSH_KEY_TEST_PATH = +; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call. +SSH_KEYGEN_PATH = ssh-keygen +; Indicate whether to check minimum key size with corresponding type +MINIMUM_KEY_SIZE_CHECK = false +; Disable CDN even in "prod" mode +OFFLINE_MODE = false +DISABLE_ROUTER_LOG = false +; Generate steps: +; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com +; +; Or from a .pfx file exported from the Windows certificate store (do +; not forget to export the private key): +; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys +; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes +CERT_FILE = custom/https/cert.pem +KEY_FILE = custom/https/key.pem +; Allowed TLS version values: SSL30, TLS10, TLS11, TLS12 +TLS_MIN_VERSION = TLS10 + +; Upper level of template and static file path +; default is the path where Gogs is executed +STATIC_ROOT_PATH = +; Default path for App data +APP_DATA_PATH = __DATA_PATH__ +; Application level GZIP support +ENABLE_GZIP = false +; Landing page for non-logged users, can be "home" or "explore" +LANDING_PAGE = explore + +[repository] +; Root path for storing repositories's data, default is "~//gogs-repositories" +ROOT = __REPOS_PATH__ +; The script type server supports, sometimes could be "sh" +SCRIPT_TYPE = bash +; Default ANSI charset for an unrecognized charset +ANSI_CHARSET = +; Force every new repository to be private +FORCE_PRIVATE = false +; Global maximum creation limit of repository per user, -1 means no limit +MAX_CREATION_LIMIT = -1 +; Mirror sync queue length, increase if mirror syncing starts hanging +MIRROR_QUEUE_LENGTH = 1000 +; Patch test queue length, increase if pull request patch testing starts hanging +PULL_REQUEST_QUEUE_LENGTH = 1000 +; Preferred Licenses to place at the top of the list +; Name must match file name in conf/license or custom/conf/license +PREFERRED_LICENSES = Apache License 2.0,MIT License +; Disable ability to interact with repositories by HTTP protocol +DISABLE_HTTP_GIT = false +; Enable ability to migrate repository by local path +ENABLE_LOCAL_PATH_MIGRATION = false +; Concurrency is used to retrieve commits information. This variable define +; the maximum number of tasks that can be run at the same time. Usually, the +; value depend of how many CPUs (cores) you have. If the value is set to zero +; or under, GOGS will automatically detect the number of CPUs your system have +COMMITS_FETCH_CONCURRENCY = 0 +; Enable render mode for raw file +ENABLE_RAW_FILE_RENDER_MODE = false + +[repository.editor] +; List of file extensions that should have line wraps in the CodeMirror editor. +; Separate extensions with a comma. To line wrap files without extension, just put a comma +LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd, +; Valid file modes that have a preview API associated with them, such as api/v1/markdown. +; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match +PREVIEWABLE_FILE_MODES = markdown + +[repository.upload] +; Enable repository file uploads. +ENABLED = true +; Path to temporarily store uploads (default path gets cleaned by Gogs in every start) +TEMP_PATH = data/tmp/uploads +; File types that are allowed to be uploaded, e.g. image/jpeg|image/png. Leave empty means allow any file type +ALLOWED_TYPES = +; Maximum size of each file in MB +FILE_MAX_SIZE = 3 +; Maximum number of files per upload +MAX_FILES = 5 + +; Attachment settings for releases +[release.attachment] +; Whether attachments are enabled. Defaults to `true` +ENABLED = true +; Path for attachments. Defaults to `data/attachments` +PATH = data/attachments +; One or more allowed types, e.g. image/jpeg|image/png +ALLOWED_TYPES = */* +; Max size of each file. Defaults to 32MB +MAX_SIZE = 32 +; Max number of files per upload. Defaults to 10 +MAX_FILES = 10 + +[markdown] +; Enable hard line break extension +ENABLE_HARD_LINE_BREAK = false +; List of custom URL-Schemes that are allowed as links when rendering Markdown +; for example git,magnet +CUSTOM_URL_SCHEMES = +; List of file extensions that should be rendered/edited as Markdown +; Separate extensions with a comma. To render files w/o extension as markdown, just put a comma +FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd + +[smartypants] +ENABLED = false +FRACTIONS = true +DASHES = true +LATEX_DASHES = true +ANGLED_QUOTES = true + +[http] +; Value for Access-Control-Allow-Origin header, default is not to present +ACCESS_CONTROL_ALLOW_ORIGIN = + +; Define allowed algorithms and their minimum key length (use -1 to disable a type) +[ssh.minimum_key_sizes] +ED25519 = 256 +ECDSA = 256 +RSA = 2048 +DSA = 1024 + [database] +; Either "mysql", "postgres" or "sqlite3", you can connect to TiDB with MySQL protocol DB_TYPE = mysql HOST = 127.0.0.1:3306 NAME = __DB_USER__ USER = __DB_USER__ PASSWD = __DB_PASSWORD__ +; For "postgres" only, either "disable", "require" or "verify-full" SSL_MODE = disable -PATH = data/gogs.db -[repository] -ROOT = __REPOS_PATH__ -FORCE_PRIVATE = false -[server] -DOMAIN = __DOMAIN__ -HTTP_PORT = __PORT__ -ROOT_URL = https://__URL__/ -DISABLE_SSH = false -SSH_PORT = 22 -OFFLINE_MODE = false -APP_DATA_PATH = __DATA_PATH__ -LANDING_PAGE = explore -[mailer] -ENABLED = true -HOST = 127.0.0.1:25 -FROM = "Gogs" -SKIP_VERIFY = true -[service] -REGISTER_EMAIL_CONFIRM = false -ENABLE_NOTIFY_MAIL = true -DISABLE_REGISTRATION = true -ENABLE_CAPTCHA = false -REQUIRE_SIGNIN_VIEW = __PRIVATE_MODE__ -ENABLE_REVERSE_PROXY_AUTHENTICATION = true -ENABLE_REVERSE_PROXY_AUTO_REGISTERATION = true -[picture] -AVATAR_UPLOAD_PATH = __DATA_PATH__/avatars -[attachment] -PATH = __DATA_PATH__/attachments -[session] -PROVIDER = memory -[log] -MODE = file -LEVEL = Warn -ROOT_PATH = /var/log/__APP__ +; For "sqlite3" and "tidb", use absolute path when you start as service +PATH = data/gogs.db + +[admin] +; Disable regular (non-admin) users to create organizations +DISABLE_REGULAR_ORG_CREATION = false + [security] INSTALL_LOCK = true -SECRET_KEY = __KEY__ +; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!! +SECRET_KEY = __KEY__ +; Auto-login remember days +LOGIN_REMEMBER_DAYS = 7 +COOKIE_USERNAME = gogs_awesome +COOKIE_REMEMBER_NAME = gogs_incredible +COOKIE_SECURE = false +; Reverse proxy authentication header name of user name REVERSE_PROXY_AUTHENTICATION_USER = REMOTE_USER +; Enable to set cookie to indicate user login status +ENABLE_LOGIN_STATUS_COOKIE = false +LOGIN_STATUS_COOKIE_NAME = login_status + +[service] +ACTIVE_CODE_LIVE_MINUTES = 180 +RESET_PASSWD_CODE_LIVE_MINUTES = 180 +; User need to confirm e-mail for registration +REGISTER_EMAIL_CONFIRM = false +; Does not allow register and admin create account only +DISABLE_REGISTRATION = true +; User must sign in to view anything. +REQUIRE_SIGNIN_VIEW = __PRIVATE_MODE__ +; Mail notification +ENABLE_NOTIFY_MAIL = true +; More detail: https://github.com/gogits/gogs/issues/165 +ENABLE_REVERSE_PROXY_AUTHENTICATION = true +ENABLE_REVERSE_PROXY_AUTO_REGISTERATION = true +; Enable captcha validation for registration +ENABLE_CAPTCHA = false + +[webhook] +; Types are enabled for users to use, can be "gogs", "slack", "discord", "dingtalk" +TYPES = gogs, slack, discord, dingtalk +; Hook task queue length, increase if webhook shooting starts hanging +QUEUE_LENGTH = 1000 +; Deliver timeout in seconds +DELIVER_TIMEOUT = 15 +; Allow insecure certification +SKIP_TLS_VERIFY = false +; Number of history information in each page +PAGING_NUM = 10 + +[mailer] +ENABLED = true +; Buffer length of channel, keep it as it is if you don't know what it is. +SEND_BUFFER_LEN = 100 +; Prefix prepended to the subject line +SUBJECT_PREFIX = `[%(APP_NAME)s] ` +; Mail server +; Gmail: smtp.gmail.com:587 +; QQ: smtp.qq.com:465 +; 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. +HOST = 127.0.0.1:25 +; Disable HELO operation when hostname are different. +DISABLE_HELO = +; Custom hostname for HELO operation, default is from system. +HELO_HOSTNAME = +; Do not verify the certificate of the server. Only use this for self-signed certificates +SKIP_VERIFY = true +; Use client certificate +USE_CERTIFICATE = false +CERT_FILE = custom/mailer/cert.pem +KEY_FILE = custom/mailer/key.pem +; Mail from address, RFC 5322. This can be just an email address, or the `"Name" ` format +FROM = "Gogs" +; Mailer user name and password +USER = +PASSWD = +; Use text/plain as format of content +USE_PLAIN_TEXT = false + +[cache] +; Either "memory", "redis", or "memcache", default is "memory" +ADAPTER = memory +; For "memory" only, GC interval in seconds, default is 60 +INTERVAL = 60 +; For "redis" and "memcache", connection host address +; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180 +; memcache: `127.0.0.1:11211` +HOST = + +[session] +; Either "memory", "file", or "redis", default is "memory" +PROVIDER = memory +; Provider config options +; memory: not have any config yet +; file: session file path, e.g. `data/sessions` +; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180 +; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table` +PROVIDER_CONFIG = data/sessions +; Session cookie name +COOKIE_NAME = i_like_gogits +; If you use session in https only, default is false +COOKIE_SECURE = false +; Enable set cookie, default is true +ENABLE_SET_COOKIE = true +; Session GC time interval, default is 3600 +GC_INTERVAL_TIME = 3600 +; Session life time, default is 86400 +SESSION_LIFE_TIME = 86400 +; Cookie name for CSRF +CSRF_COOKIE_NAME = _csrf + +[picture] +; Path to store user uploaded avatars +AVATAR_UPLOAD_PATH = __DATA_PATH__/avatars +; Chinese users can choose "duoshuo" +; or a custom avatar source, like: http://cn.gravatar.com/avatar/ +GRAVATAR_SOURCE = gravatar +; This value will be forced to be true in offline mode. +DISABLE_GRAVATAR = false +; Federated avatar lookup uses DNS to discover avatar associated +; with emails, see https://www.libravatar.org +; This value will be forced to be false in offline mode or Gravatar is disbaled. +ENABLE_FEDERATED_AVATAR = false + +; Attachment settings for issues +[attachment] +; Whether attachments are enabled. Defaults to `true` +ENABLED = true +; Path for attachments. Defaults to `data/attachments` +PATH = __DATA_PATH__/attachments +; One or more allowed types, e.g. image/jpeg|image/png +ALLOWED_TYPES = image/jpeg|image/png +; Max size of each file. Defaults to 4MB +MAX_SIZE = 4 +; Max number of files per upload. Defaults to 5 +MAX_FILES = 5 + +[time] +; Specifies the format for fully outputed dates. Defaults to RFC1123 +; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano +; For more information about the format see http://golang.org/pkg/time/#pkg-constants +FORMAT = + +; General settings of loggers +[log] +ROOT_PATH = /var/log/__APP__ +; Can be "console" and "file", default is "console" +; Use comma to separate multiple modes, e.g. "console, file" +MODE = file +; Buffer length of channel, keep it as it is if you don't know what it is. +BUFFER_LEN = 100 +; Either "Trace", "Info", "Warn", "Error", "Fatal", default is "Trace" +LEVEL = Warn + +; For "console" mode only +[log.console] +; leave empty to inherit +LEVEL = + +; For "file" mode only +[log.file] +; leave empty to inherit +LEVEL = +; This enables automated log rotate (switch of following options) +LOG_ROTATE = true +; Segment log daily +DAILY_ROTATE = true +; Max size shift of single file, default is 28 means 1 << 28, 256MB +MAX_SIZE_SHIFT = 28 +; Max line number of single file +MAX_LINES = 1000000 +; Expired days of log file (delete after max days) +MAX_DAYS = 7 + +; For "slack" mode only +[log.slack] +; leave empty to inherit +LEVEL = +; Webhook URL +URL = + +[log.discord] +; leave empty to inherit +LEVEL = +; Webhook URL +URL = +; Username displayed in webhook +USERNAME = %(APP_NAME)s + +[log.xorm] +; Enable file rotation +ROTATE = true +; Rotate every day +ROTATE_DAILY = true +; Rotate once file size excesses x MB +MAX_SIZE = 100 +; Maximum days to keep logger files +MAX_DAYS = 3 + +[cron] +; Enable running cron tasks periodically. +ENABLED = true +; Run cron tasks when Gogs starts. +RUN_AT_START = false + +; Update mirrors +[cron.update_mirrors] +SCHEDULE = @every 10m + +; Repository health check +[cron.repo_health_check] +SCHEDULE = @every 24h +TIMEOUT = 60s +; Arguments for command 'git fsck', e.g. "--unreachable --tags" +; see more on http://git-scm.com/docs/git-fsck/1.7.5 +ARGS = + +; Check repository statistics +[cron.check_repo_stats] +RUN_AT_START = true +SCHEDULE = @every 24h + +; Cleanup repository archives +[cron.repo_archive_cleanup] +RUN_AT_START = false +SCHEDULE = @every 24h +; Time duration to check if archive should be cleaned +OLDER_THAN = 24h + +[git] +; Disables highlight of added and removed changes +DISABLE_DIFF_HIGHLIGHT = false +; Max number of lines allowed of a single file in diff view +MAX_GIT_DIFF_LINES = 1000 +; Max number of characters of a line allowed in diff view +MAX_GIT_DIFF_LINE_CHARACTERS = 500 +; Max number of files shown in diff view +MAX_GIT_DIFF_FILES = 100 +; Arguments for command 'git gc', e.g. "--aggressive --auto" +; see more on http://git-scm.com/docs/git-gc/1.7.5 +GC_ARGS = + +; Operation timeout in seconds +[git.timeout] +MIGRATE = 600 +MIRROR = 300 +CLONE = 300 +PULL = 300 +GC = 60 + +[mirror] +; Default interval in hours between each check +DEFAULT_INTERVAL = 8 + +[api] +; Max number of items will response in a page +MAX_RESPONSE_ITEMS = 50 + +[ui] +; Number of repositories that are showed in one explore page +EXPLORE_PAGING_NUM = 20 +; Number of issues that are showed in one page +ISSUE_PAGING_NUM = 10 +; Number of maximum commits showed in one activity feed +FEED_MAX_COMMIT_NUM = 5 +; Value of "theme-color" meta tag, used by Android >= 5.0 +; An invalid color like "none" or "disable" will have the default style +; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android +THEME_COLOR_META_TAG = `#ff5343` +; Max size in bytes of files to be displayed (default is 8MB) +MAX_DISPLAY_FILE_SIZE = 8388608 + +[ui.admin] +; Number of users that are showed in one page +USER_PAGING_NUM = 50 +; Number of repos that are showed in one page +REPO_PAGING_NUM = 50 +; Number of notices that are showed in one page +NOTICE_PAGING_NUM = 25 +; Number of organization that are showed in one page +ORG_PAGING_NUM = 50 + +[ui.user] +; Number of repos that are showed in one page +REPO_PAGING_NUM = 15 +; Number of news feeds that are showed in one page +NEWS_FEED_PAGING_NUM = 20 +; Number of commits that are showed in one page +COMMITS_PAGING_NUM = 30 + +[i18n] +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 +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 + +; Used for datetimepicker +[i18n.datelang] +en-US = en +zh-CN = zh +zh-HK = zh-TW +zh-TW = zh-TW +de-DE = de +fr-FR = fr +nl-NL = nl +lv-LV = lv +ru-RU = ru +ja-JP = ja +es-ES = es +pt-BR = pt-BR +pl-PL = pl +bg-BG = bg +it-IT = it +fi-FI = fi +tr-TR = tr +cs-CZ = cs-CZ +sr-SP = sr +sv-SE = sv +ko-KR = ko +gl-ES = gl +uk-UA = uk +en-GB = en-GB +hu-HU = hu +sk-SK = sk +id-ID = id +fa-IR = fa +vi-VN = vi + +; Extension mapping to highlight class +; e.g. .toml=ini +[highlight.mapping] + +[other] +SHOW_FOOTER_BRANDING = false +; Show version information about Gogs and Go in the footer +SHOW_FOOTER_VERSION = true +; Show time of template execution in the footer +SHOW_FOOTER_TEMPLATE_LOAD_TIME = true