123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- # !!! NEVER EVER MODIFY THIS FILE !!!
- # !!! PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE !!!
- # !!! IF YOU ARE PACKAGING PROVIDER, PLEASE MAKE OWN COPY OF IT !!!
- ; App name that shows on every page title
- APP_NAME = Gogs
- ; The name of the system user that runs Gogs
- RUN_USER = git
- ; Either "dev", "prod" or "test"
- RUN_MODE = dev
- [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 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
- ; Application level GZIP support
- ENABLE_GZIP = false
- ; Landing page for non-logged users, can be "home" or "explore"
- LANDING_PAGE = home
- [repository]
- ; Root path for storing repositories's data, default is "~/<username>/gogs-repositories"
- ROOT =
- ; 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 = gogs
- 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/gogs.db
- [admin]
- ; Disable regular (non-admin) users to create organizations
- DISABLE_REGULAR_ORG_CREATION = false
- [security]
- INSTALL_LOCK = false
- ; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
- SECRET_KEY = !#@FDEWREWR&*(
- ; 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 = X-WEBAUTH-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 = false
- ; User must sign in to view anything.
- REQUIRE_SIGNIN_VIEW = false
- ; Mail notification
- ENABLE_NOTIFY_MAIL = false
- ; More detail: https://github.com/gogits/gogs/issues/165
- ENABLE_REVERSE_PROXY_AUTHENTICATION = false
- ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
- ; Enable captcha validation for registration
- ENABLE_CAPTCHA = true
- [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 = false
- ; 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 =
- ; 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/plain as format of content
- USE_PLAIN_TEXT = false
- ; If sending html emails, then also attach a plaintext alternative to the MIME message, to support older mail clients and make spam filters happier.
- ADD_PLAIN_TEXT_ALT = 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_gogs
- ; 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/avatars
- ; Path to store repository uploaded avatars
- REPOSITORY_AVATAR_UPLOAD_PATH = data/repo-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/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 =
- ; Can be "console" and "file", 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 = 100
- ; Either "Trace", "Info", "Warn", "Error", "Fatal", default is "Trace"
- LEVEL = Trace
- ; For "console" mode only
- [log.console]
- ; Comment out to inherit
- ; LEVEL =
- ; For "file" mode only
- [log.file]
- ; Comment out 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]
- ; Comment out to inherit
- ; LEVEL =
- ; Webhook URL
- URL =
- [log.discord]
- ; Comment out 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
- [prometheus]
- ENABLED = true
- ENABLE_BASIC_AUTH = false
- BASIC_AUTH_USERNAME =
- BASIC_AUTH_PASSWORD =
- [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,pt-PT
- 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,Português
- ; 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
- pt-PT = pt
- ; 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
|