0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-24 08:06:49 -05:00
forgejo/conf/app.ini

396 lines
12 KiB
INI
Raw Normal View History

# NEVER EVER MODIFY THIS FILE
# PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE
2014-03-18 00:33:53 -05:00
; App name that shows on every page title
2014-03-03 19:03:08 -05:00
APP_NAME = Gogs: Go Git Service
; Change it if you run locally
2014-03-25 05:52:56 -05:00
RUN_USER = git
2014-03-19 02:24:17 -05:00
; Either "dev", "prod" or "test", default is "dev"
2014-03-18 00:33:53 -05:00
RUN_MODE = dev
2014-02-20 01:53:56 -05:00
[repository]
ROOT =
2014-04-19 05:00:08 -05:00
SCRIPT_TYPE = bash
2015-10-25 03:26:26 -05:00
; Default ANSI charset
ANSI_CHARSET =
2015-10-25 03:26:26 -05:00
; Force every new repository to be private
FORCE_PRIVATE = false
2015-12-11 10:13:19 -05:00
; Global maximum creation limit of repository per user, -1 means no limit
MAX_CREATION_LIMIT = -1
2015-10-25 03:26:26 -05:00
; Patch test queue length, make it as large as possible
2015-10-24 14:35:26 -05:00
PULL_REQUEST_QUEUE_LENGTH = 10000
2014-02-12 14:54:09 -05:00
2015-07-24 13:52:25 -05:00
[ui]
2015-09-01 06:04:35 -05:00
; Number of repositories that are showed in one explore page
EXPLORE_PAGING_NUM = 20
2015-07-24 13:52:25 -05:00
; 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 of files to be displayed (defaults is 8MiB)
MAX_DISPLAY_FILE_SIZE = 8388608
2015-07-24 13:52:25 -05:00
2015-09-11 19:42:26 -05:00
[ui.admin]
; Number of users that are showed in one page
2015-09-11 19:42:26 -05:00
USER_PAGING_NUM = 50
2015-09-25 17:38:43 -05:00
; 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
2015-09-25 12:54:52 -05:00
; Number of organization that are showed in one page
ORG_PAGING_NUM = 50
2015-09-11 19:42:26 -05:00
2016-07-23 11:23:54 -05:00
[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
2016-01-26 20:05:53 -05:00
; List of custom URL-Schemes that are allowed as links when rendering Markdown
; for example git,magnet
CUSTOM_URL_SCHEMES =
2014-02-12 14:54:09 -05:00
[server]
2014-04-05 02:17:57 -05:00
PROTOCOL = http
2014-03-19 06:21:23 -05:00
DOMAIN = localhost
2014-05-01 17:53:41 -05:00
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
HTTP_ADDR = 0.0.0.0
2014-05-01 17:53:41 -05:00
HTTP_PORT = 3000
; 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/
2015-02-07 10:46:57 -05:00
; 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
; Port number to be exposed in clone URL
2014-05-11 10:18:10 -05:00
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
2014-04-27 02:05:13 -05:00
; Disable CDN even in "prod" mode
OFFLINE_MODE = false
2014-05-06 12:47:47 -05:00
DISABLE_ROUTER_LOG = false
2014-04-20 19:52:00 -05:00
; 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
2014-04-20 19:52:00 -05:00
CERT_FILE = custom/https/cert.pem
KEY_FILE = custom/https/key.pem
2014-05-25 19:11:25 -05:00
; 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
2014-07-25 23:24:27 -05:00
; Application level GZIP support
2014-10-13 17:04:07 -05:00
ENABLE_GZIP = false
2014-11-24 18:47:59 -05:00
; Landing page for non-logged users, can be "home" or "explore"
LANDING_PAGE = home
2014-02-18 17:48:02 -05:00
; 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
2014-02-18 17:48:02 -05:00
[database]
2014-04-19 21:13:22 -05:00
; Either "mysql", "postgres" or "sqlite3", it's your choice
2014-02-18 17:48:02 -05:00
DB_TYPE = mysql
2014-03-29 00:40:22 -05:00
HOST = 127.0.0.1:3306
2014-02-18 17:48:02 -05:00
NAME = gogs
USER = root
2014-03-10 03:55:53 -05:00
PASSWD =
2014-03-18 00:33:53 -05:00
; For "postgres" only, either "disable", "require" or "verify-full"
SSL_MODE = disable
2016-02-07 11:51:53 -05:00
; For "sqlite3" and "tidb", use absolute path when you start as service
2014-03-21 00:09:22 -05:00
PATH = data/gogs.db
[admin]
2014-03-06 11:10:35 -05:00
[security]
2014-03-31 09:12:36 -05:00
INSTALL_LOCK = false
2014-03-18 00:33:53 -05:00
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
2014-03-19 06:21:23 -05:00
SECRET_KEY = !#@FDEWREWR&*(
2014-03-22 15:40:09 -05:00
; Auto-login remember days
LOGIN_REMEMBER_DAYS = 7
COOKIE_USERNAME = gogs_awesome
COOKIE_REMEMBER_NAME = gogs_incredible
2014-06-24 12:55:47 -05:00
; Reverse proxy authentication header name of user name
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
2014-03-19 06:21:23 -05:00
[service]
ACTIVE_CODE_LIVE_MINUTES = 180
RESET_PASSWD_CODE_LIVE_MINUTES = 180
; User need to confirm e-mail for registration
2014-03-19 07:27:27 -05:00
REGISTER_EMAIL_CONFIRM = false
2014-03-21 00:09:22 -05:00
; Does not allow register and admin create account only
DISABLE_REGISTRATION = false
; User must sign in to view anything.
REQUIRE_SIGNIN_VIEW = false
2014-03-23 18:09:11 -05:00
; Mail notification
ENABLE_NOTIFY_MAIL = false
2014-06-20 23:51:41 -05:00
; More detail: https://github.com/gogits/gogs/issues/165
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
2015-03-12 12:25:28 -05:00
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
; Enable captcha validation for registration
ENABLE_CAPTCHA = true
2014-03-18 00:33:53 -05:00
2014-06-08 03:45:34 -05:00
[webhook]
2015-07-25 08:32:04 -05:00
; Hook task queue length
QUEUE_LENGTH = 1000
2014-06-08 03:45:34 -05:00
; Deliver timeout in seconds
DELIVER_TIMEOUT = 5
; Allow insecure certification
2015-02-11 12:04:01 -05:00
SKIP_TLS_VERIFY = false
2015-08-27 10:06:14 -05:00
; Number of history information in each page
PAGING_NUM = 10
2014-06-08 03:45:34 -05:00
2014-03-18 00:33:53 -05:00
[mailer]
2014-03-18 03:19:10 -05:00
ENABLED = false
2014-03-19 20:05:48 -05:00
; Buffer length of channel, keep it as it is if you don't know what it is.
2015-09-16 22:08:46 -05:00
SEND_BUFFER_LEN = 100
2014-03-18 00:33:53 -05:00
; Name displayed in mail title
2014-03-19 02:24:17 -05:00
SUBJECT = %(APP_NAME)s
2014-03-18 00:33:53 -05:00
; Mail server
2014-03-19 07:27:27 -05:00
; 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 =
2015-07-03 01:08:18 -05:00
; Disable HELO operation when hostname are different.
DISABLE_HELO =
2015-07-03 01:08:18 -05:00
; 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 =
2014-03-18 00:33:53 -05:00
; Mailer user name and password
USER =
PASSWD =
; Use text/html as alternative format of content
ENABLE_HTML_ALTERNATIVE = false
2014-03-19 02:24:17 -05:00
2014-03-21 08:06:47 -05:00
[cache]
2014-03-21 09:09:57 -05:00
; Either "memory", "redis", or "memcache", default is "memory"
2014-03-21 08:06:47 -05:00
ADAPTER = memory
2014-03-21 09:09:57 -05:00
; For "memory" only, GC interval in seconds, default is 60
INTERVAL = 60
; For "redis" and "memcache", connection host address
2015-01-17 02:17:53 -05:00
; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
2014-07-25 23:24:27 -05:00
; memcache: `127.0.0.1:11211`
2014-03-21 09:09:57 -05:00
HOST =
2014-03-21 08:06:47 -05:00
2014-03-22 07:49:53 -05:00
[session]
2016-07-02 05:23:15 -05:00
; Either "memory", "file", or "redis", default is "memory"
2014-12-20 22:51:16 -05:00
PROVIDER = memory
2014-03-22 08:21:57 -05:00
; Provider config options
2014-03-22 07:49:53 -05:00
; memory: not have any config yet
2014-07-25 23:24:27 -05:00
; file: session file path, e.g. `data/sessions`
2015-01-17 02:17:53 -05:00
; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
2014-07-25 23:24:27 -05:00
; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
2014-03-22 07:49:53 -05:00
PROVIDER_CONFIG = data/sessions
2014-03-22 08:21:57 -05:00
; Session cookie name
2014-03-22 07:49:53 -05:00
COOKIE_NAME = i_like_gogits
2014-03-22 08:21:57 -05:00
; If you use session in https only, default is false
2014-03-22 07:49:53 -05:00
COOKIE_SECURE = false
2014-03-22 08:21:57 -05:00
; Enable set cookie, default is true
2014-03-22 07:49:53 -05:00
ENABLE_SET_COOKIE = true
2014-03-22 08:21:57 -05:00
; Session GC time interval, default is 86400
2014-03-22 07:49:53 -05:00
GC_INTERVAL_TIME = 86400
2014-03-22 08:21:57 -05:00
; Session life time, default is 86400
2014-03-22 07:49:53 -05:00
SESSION_LIFE_TIME = 86400
2014-03-22 05:42:19 -05:00
[picture]
2014-11-21 10:58:08 -05:00
AVATAR_UPLOAD_PATH = data/avatars
2014-11-16 20:27:04 -05:00
; Chinese users can choose "duoshuo"
2015-08-09 19:44:43 -05:00
; or a custom avatar source, like: http://cn.gravatar.com/avatar/
2014-11-16 20:27:04 -05:00
GRAVATAR_SOURCE = gravatar
2014-05-01 20:30:04 -05:00
DISABLE_GRAVATAR = false
Add support for federated avatars (#3320) * Add support for federated avatars Fixes #3105 Removes avatar fetching duplication code Adds an "Enable Federated Avatar" checkbox in user settings (defaults to unchecked) Moves avatar settings all in the same form, making local and remote avatars mutually exclusive Renames UploadAvatarForm to AvatarForm as it's not anymore only for uploading * Run gofmt on all modified files * Move Avatar form in its own page * Add go-libravatar dependency to vendor/ dir Hopefully helps with accepting the contribution. See also #3214 * Revert "Add go-libravatar dependency to vendor/ dir" This reverts commit a8cb93ae640bbb90f7d25012fc257bda9fae9b82. * Make federated avatar setting a global configuration Removes the per-user setting * Move avatar handling back to base tool, disable federated avatar in offline mode * Format, handle error * Properly set fallback host * Use unsupported github.com mirror for importing go-libravatar * Remove comment showing life exists outside of github.com ... pity, but contribution would not be accepted otherwise * Use Combo for Get and Post methods over /avatar * FEDERATED_AVATAR -> ENABLE_FEDERATED_AVATAR * Fix persistance of federated avatar lookup checkbox at install time * Federated Avatars -> Enable Federated Avatars * Use len(string) == 0 instead of string == "" * Move import line where it belong See https://github.com/Unknwon/go-code-convention/blob/master/en-US/import_packages.md Pity the import url is still the unofficial one, but oh well... * Save a line (and waste much more expensive time) * Remove redundant parens * Remove an empty line * Remove empty lines * Reorder lines to make diff smaller * Remove another newline Unknwon review got me start a fight against newlines * Move DISABLE_GRAVATAR and ENABLE_FEDERATED_AVATAR after OFFLINE_MODE On re-reading the diff I figured what Unknwon meant here: https://github.com/gogits/gogs/pull/3320/files#r73741106 * Remove newlines that weren't there before my intervention
2016-08-07 12:27:38 -05:00
; Federated avatar lookup uses DNS to discover avatar associated
; with emails, see http://www.libravatar.org
ENABLE_FEDERATED_AVATAR = false
2014-03-22 05:42:19 -05:00
2014-07-23 14:15:47 -05:00
[attachment]
2014-07-24 08:51:40 -05:00
; Whether attachments are enabled. Defaults to `true`
2014-07-25 23:24:27 -05:00
ENABLE = true
; Path for attachments. Defaults to `data/attachments`
PATH = data/attachments
2014-07-23 14:15:47 -05:00
; One or more allowed types, e.g. image/jpeg|image/png
2014-07-25 23:24:27 -05:00
ALLOWED_TYPES = image/jpeg|image/png
2014-07-24 08:23:56 -05:00
; Max size of each file. Defaults to 32MB
2015-09-02 15:18:09 -05:00
MAX_SIZE = 4
2014-07-24 08:23:56 -05:00
; Max number of files per upload. Defaults to 10
2015-08-11 10:24:40 -05:00
MAX_FILES = 5
2014-07-23 14:15:47 -05:00
[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 =
2014-03-19 02:24:17 -05:00
[log]
2014-05-28 00:53:06 -05:00
ROOT_PATH =
2014-03-22 16:59:22 -05:00
; Either "console", "file", "conn", "smtp" or "database", default is "console"
; Use comma to separate multiple modes, e.g. "console, file"
2014-03-19 02:24:17 -05:00
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
2014-03-19 03:08:25 -05:00
; For "console" mode only
2014-03-19 02:24:17 -05:00
[log.console]
LEVEL =
2014-03-19 02:24:17 -05:00
; For "file" mode only
[log.file]
LEVEL =
2014-03-19 02:24:17 -05:00
; This enables automated log rotate(switch of following options), default is true
2014-03-19 03:08:25 -05:00
LOG_ROTATE = true
2014-03-19 02:24:17 -05:00
; Max line number of single file, default is 1000000
MAX_LINES = 1000000
2014-03-19 03:08:25 -05:00
; Max size shift of single file, default is 28 means 1 << 28, 256MB
MAX_SIZE_SHIFT = 28
2014-03-19 02:24:17 -05:00
; 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 =
2014-03-19 02:24:17 -05:00
; 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 =
2014-03-19 02:24:17 -05:00
; For "smtp" mode only
[log.smtp]
LEVEL =
; Name displayed in mail title, default is "Diagnostic message from server"
SUBJECT = Diagnostic message from server
2014-03-19 02:24:17 -05:00
; Mail server
HOST =
2014-03-19 02:24:17 -05:00
; Mailer user name and password
USER =
2014-03-19 02:24:17 -05:00
PASSWD =
2014-03-19 03:08:25 -05:00
; Receivers, can be one or more, e.g. ["1@example.com","2@example.com"]
RECEIVERS =
2014-03-22 16:59:22 -05:00
; For "database" mode only
[log.database]
LEVEL =
2014-06-19 23:25:23 -05:00
; Either "mysql" or "postgres"
DRIVER =
2014-06-19 23:25:23 -05:00
; Based on xorm, e.g.: root:root@localhost/gogs?charset=utf8
CONN =
2014-07-25 23:24:27 -05:00
2015-08-17 13:19:29 -05:00
[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
2015-08-17 13:19:29 -05:00
; Repository health check
[cron.repo_health_check]
SCHEDULE = @every 24h
2015-12-09 11:38:12 -05:00
TIMEOUT = 60s
2015-12-11 21:23:19 -05:00
; Arguments for command 'git fsck', e.g. "--unreachable --tags"
2015-08-17 13:19:29 -05:00
; see more on http://git-scm.com/docs/git-fsck/1.7.5
ARGS =
2015-08-17 13:19:29 -05:00
; Check repository statistics
[cron.check_repo_stats]
RUN_AT_START = true
SCHEDULE = @every 24h
2014-09-17 13:22:51 -05:00
[git]
; Disables highlight of added and removed changes
DISABLE_DIFF_HIGHLIGHT = false
; Max number of lines allowed of a single file in diff view
2016-06-29 10:25:41 -05:00
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
2015-12-11 21:23:19 -05:00
; Arguments for command 'git gc', e.g. "--aggressive --auto"
2014-11-30 02:26:29 -05:00
; see more on http://git-scm.com/docs/git-gc/1.7.5
GC_ARGS =
2014-09-17 13:22:51 -05:00
; Operation timeout in seconds
[git.timeout]
MIGRATE = 600
MIRROR = 300
CLONE = 300
PULL = 300
[api]
; Max number of items will response in a page
MAX_RESPONSE_ITEMS = 50
2014-07-25 23:24:27 -05:00
[i18n]
2016-05-11 11:00:47 -05:00
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
NAMES = English,简体中文,繁體中文(香港),繁體中文(台湾),Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano,Suomalainen,Türkçe,čeština
2015-08-05 02:24:26 -05:00
; Used for datetimepicker
[i18n.datelang]
en-US = en
zh-CN = zh
zh-HK = zh-TW
2016-05-11 11:00:47 -05:00
zh-TW = zh-TW
2015-08-05 02:24:26 -05:00
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
2016-03-05 21:13:04 -05:00
fi-FI = fi
2016-05-11 11:00:47 -05:00
tr-TR = tr
cs-CZ = cs-CZ
2015-08-05 02:24:26 -05:00
; Extension mapping to highlight class
; e.g. .toml=ini
[highlight.mapping]
[other]
2015-08-09 19:44:43 -05:00
SHOW_FOOTER_BRANDING = false
; Show version information about gogs and go in the footer
SHOW_FOOTER_VERSION = true