mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 15:43:52 +03:00
51d578ff33
- Add site-wide option DEFAULT_KEEP_EMAIL_PRIVATE. - Add the new option to the install and admin/config pages. - Add the new option to app.ini in the service section. - Add the new option to the settings struct. - Add English text strings to i18n. - Add field KeepEmailPrivate to user struct. - Add field KeepEmailPrivate to user form. - Add option to UI. - Add using noreply email address if user has "Keep Email Private". An email address <LowerName>@<NO_REPLY_ADDRESS> is now used in commit messages (and hopefully all other git log relevant places). The change relies on the fact that git commands should use user.NetGitSig(). - Add hiding of email address in UI, if user has set "Keep Email Private". - Add condition to show email address only on explore/users and user pages, if user has not set "Keep Email Private". - Add noreply email in API if set "Keep Email Private". - Add a new service setting NO_REPLY_ADDRESS. The value of this setting is used as the domain part for the user's email address in git log, iff he decides to keep his email address private. If the user decides to keep his email address private and this option is not set 'noreply.example.org' is used, which no MTA should send email to. Add NO_REPLY_ADDRESS to conf/app.ini.
454 lines
14 KiB
INI
Vendored
454 lines
14 KiB
INI
Vendored
; App name that shows on every page title
|
|
APP_NAME = Gitea: Git with a cup of tea
|
|
; Change it if you run locally
|
|
RUN_USER = git
|
|
; Either "dev", "prod" or "test", default is "dev"
|
|
RUN_MODE = dev
|
|
|
|
[repository]
|
|
ROOT =
|
|
SCRIPT_TYPE = bash
|
|
; Default ANSI 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
|
|
|
|
[repository.editor]
|
|
; List of file extensions that should have line wraps in the CodeMirror editor
|
|
; Separate extensions with a comma. To line wrap files w/o 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]
|
|
; Whether repository file uploads are enabled. Defaults to `true`
|
|
ENABLED = true
|
|
; Path for uploads. Defaults to `data/tmp/uploads` (tmp gets deleted on gitea restart)
|
|
TEMP_PATH = data/tmp/uploads
|
|
; One or more allowed types, e.g. image/jpeg|image/png. Nothing means any file type
|
|
ALLOWED_TYPES =
|
|
; Max size of each file in MB. Defaults to 3MB
|
|
FILE_MAX_SIZE = 3
|
|
; Max number of files per upload. Defaults to 5
|
|
MAX_FILES = 5
|
|
|
|
[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 = `#6cc644`
|
|
; Max size of files to be displayed (defaults is 8MiB)
|
|
MAX_DISPLAY_FILE_SIZE = 8388608
|
|
; Whether show the user email in the Explore Users page
|
|
SHOW_USER_EMAIL = true
|
|
|
|
[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
|
|
|
|
[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
|
|
|
|
[server]
|
|
PROTOCOL = http
|
|
DOMAIN = localhost
|
|
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
|
|
HTTP_ADDR = 0.0.0.0
|
|
HTTP_PORT = 3000
|
|
; Permission for unix socket
|
|
UNIX_SOCKET_PERMISSION = 666
|
|
; Local (DMZ) URL for Gitea 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 clone URL
|
|
SSH_DOMAIN = %(DOMAIN)s
|
|
; Network interface builtin SSH server listens on
|
|
SSH_LISTEN_HOST =
|
|
; Port number to be exposed in clone URL
|
|
SSH_PORT = 22
|
|
; 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 =
|
|
; 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:
|
|
; $ ./gitea 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
|
|
; Upper level of template and static file path
|
|
; default is the path where Gitea is executed
|
|
STATIC_ROOT_PATH =
|
|
; Default path for App data
|
|
APP_DATA_PATH = data
|
|
; Application level GZIP support
|
|
ENABLE_GZIP = false
|
|
; Landing page for non-logged users, can be "home" or "explore"
|
|
LANDING_PAGE = home
|
|
|
|
; 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", it's your choice
|
|
DB_TYPE = mysql
|
|
HOST = 127.0.0.1:3306
|
|
NAME = gitea
|
|
USER = root
|
|
PASSWD =
|
|
; For "postgres" only, either "disable", "require" or "verify-full"
|
|
SSL_MODE = disable
|
|
; For "sqlite3" and "tidb", use absolute path when you start as service
|
|
PATH = data/gitea.db
|
|
|
|
[admin]
|
|
|
|
[security]
|
|
; Whether the installer is disabled
|
|
INSTALL_LOCK = false
|
|
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
|
|
SECRET_KEY = !#@FDEWREWR&*(
|
|
; Auto-login remember days
|
|
LOGIN_REMEMBER_DAYS = 7
|
|
COOKIE_USERNAME = gitea_awesome
|
|
COOKIE_REMEMBER_NAME = gitea_incredible
|
|
; Reverse proxy authentication header name of user name
|
|
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
|
|
; Sets the minimum password length for new Users
|
|
MIN_PASSWORD_LENGTH = 6
|
|
|
|
[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 = false
|
|
; User must sign in to view anything.
|
|
REQUIRE_SIGNIN_VIEW = false
|
|
; Mail notification
|
|
ENABLE_NOTIFY_MAIL = false
|
|
; More detail: https://github.com/go-gitea/gitea/issues/165
|
|
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
|
|
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
|
|
; Enable captcha validation for registration
|
|
ENABLE_CAPTCHA = true
|
|
; Default value for KeepEmailPrivate
|
|
; New user will get the value of this setting copied into their profile
|
|
DEFAULT_KEEP_EMAIL_PRIVATE = false
|
|
; Default value for the domain part of the user's email address in the git log
|
|
; if he has set KeepEmailPrivate true. The user's email replaced with a
|
|
; concatenation of the user name in lower case, "@" and NO_REPLY_ADDRESS.
|
|
NO_REPLY_ADDRESS = noreply.example.org
|
|
|
|
[webhook]
|
|
; Hook task queue length, increase if webhook shooting starts hanging
|
|
QUEUE_LENGTH = 1000
|
|
; Deliver timeout in seconds
|
|
DELIVER_TIMEOUT = 5
|
|
; Allow insecure certification
|
|
SKIP_TLS_VERIFY = false
|
|
; Number of history information in each page
|
|
PAGING_NUM = 10
|
|
|
|
[mailer]
|
|
ENABLED = false
|
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
SEND_BUFFER_LEN = 100
|
|
; Name displayed in mail title
|
|
SUBJECT = %(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 =
|
|
; 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 =
|
|
; 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" <email@example.com>` format
|
|
FROM =
|
|
; Mailer user name and password
|
|
USER =
|
|
PASSWD =
|
|
; Use text/html as alternative format of content
|
|
ENABLE_HTML_ALTERNATIVE = false
|
|
; Enable sendmail (override SMTP)
|
|
USE_SENDMAIL = false
|
|
; Specifiy an alternative sendmail binary
|
|
SENDMAIL_PATH = sendmail
|
|
|
|
[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_gitea
|
|
; 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 86400
|
|
GC_INTERVAL_TIME = 86400
|
|
; Session life time, default is 86400
|
|
SESSION_LIFE_TIME = 86400
|
|
|
|
[picture]
|
|
AVATAR_UPLOAD_PATH = data/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]
|
|
; Whether attachments are enabled. Defaults to `true`
|
|
ENABLE = true
|
|
; Path for attachments. Defaults to `data/attachments`
|
|
PATH = data/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 32MB
|
|
MAX_SIZE = 4
|
|
; Max number of files per upload. Defaults to 10
|
|
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 =
|
|
|
|
[log]
|
|
ROOT_PATH =
|
|
; Either "console", "file", "conn", "smtp" or "database", default is "console"
|
|
; Use comma to separate multiple modes, e.g. "console, file"
|
|
MODE = console
|
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
BUFFER_LEN = 10000
|
|
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
|
|
LEVEL = Trace
|
|
|
|
; For "console" mode only
|
|
[log.console]
|
|
LEVEL =
|
|
|
|
; For "file" mode only
|
|
[log.file]
|
|
LEVEL =
|
|
; This enables automated log rotate(switch of following options), default is true
|
|
LOG_ROTATE = true
|
|
; Max line number of single file, default is 1000000
|
|
MAX_LINES = 1000000
|
|
; Max size shift of single file, default is 28 means 1 << 28, 256MB
|
|
MAX_SIZE_SHIFT = 28
|
|
; Segment log daily, default is true
|
|
DAILY_ROTATE = true
|
|
; Expired days of log file(delete after max days), default is 7
|
|
MAX_DAYS = 7
|
|
|
|
; For "conn" mode only
|
|
[log.conn]
|
|
LEVEL =
|
|
; Reconnect host for every single message, default is false
|
|
RECONNECT_ON_MSG = false
|
|
; Try to reconnect when connection is lost, default is false
|
|
RECONNECT = false
|
|
; Either "tcp", "unix" or "udp", default is "tcp"
|
|
PROTOCOL = tcp
|
|
; Host address
|
|
ADDR =
|
|
|
|
; For "smtp" mode only
|
|
[log.smtp]
|
|
LEVEL =
|
|
; Name displayed in mail title, default is "Diagnostic message from server"
|
|
SUBJECT = Diagnostic message from server
|
|
; Mail server
|
|
HOST =
|
|
; Mailer user name and password
|
|
USER =
|
|
PASSWD =
|
|
; Receivers, can be one or more, e.g. 1@example.com,2@example.com
|
|
RECEIVERS =
|
|
|
|
; For "database" mode only
|
|
[log.database]
|
|
LEVEL =
|
|
; Either "mysql" or "postgres"
|
|
DRIVER =
|
|
; Based on xorm, e.g.: root:root@localhost/gitea?charset=utf8
|
|
CONN =
|
|
|
|
[cron]
|
|
; Enable running cron tasks periodically.
|
|
ENABLED = true
|
|
; Run cron tasks when Gitea 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
|
|
|
|
[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
|
|
|
|
[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
|
|
NAMES = English,简体中文,繁體中文(香港),繁體中文(台湾),Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano,Suomalainen,Türkçe,čeština,Српски,Svenska,한국어
|
|
|
|
; 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
|
|
|
|
; Extension mapping to highlight class
|
|
; e.g. .toml=ini
|
|
[highlight.mapping]
|
|
|
|
[other]
|
|
SHOW_FOOTER_BRANDING = false
|
|
; Show version information about Gitea and Go in the footer
|
|
SHOW_FOOTER_VERSION = true
|
|
; Show time of template execution in the footer
|
|
SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
|