gitea/config/example.yaml

394 lines
12 KiB
YAML

---
APP_NAME: "Gitea: Git with a cup of tea"
RUN_USER: "git"
RUN_MODE: "dev"
repository:
SCRIPT_TYPE: "bash"
DETECTED_CHARSETS_ORDER: "UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, ISO-8859, windows-1252, ISO-8859, windows-1250, ISO-8859, ISO-8859, ISO-8859, windows-1253, ISO-8859, windows-1255, ISO-8859, windows-1251, windows-1256, KOI8-R, ISO-8859, windows-1254, Shift_JIS, GB18030, EUC-JP, EUC-KR, Big5, ISO-2022, ISO-2022, ISO-2022, IBM424_rtl, IBM424_ltr, IBM420_rtl, IBM420_ltr"
FORCE_PRIVATE: "false"
DEFAULT_PRIVATE: "last"
MAX_CREATION_LIMIT: "-1"
MIRROR_QUEUE_LENGTH: "1000"
PULL_REQUEST_QUEUE_LENGTH: "1000"
PREFERRED_LICENSES: "Apache License 2.0,MIT License"
DISABLE_HTTP_GIT: "false"
USE_COMPAT_SSH_URI: "false"
DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH: "false"
ENABLE_PUSH_CREATE_USER: "false"
ENABLE_PUSH_CREATE_ORG: "false"
DEFAULT_REPO_UNITS: "repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki"
PREFIX_ARCHIVE_FILES: "true"
DISABLE_MIRRORS: "false"
DEFAULT_BRANCH: "master"
repository.editor:
LINE_WRAP_EXTENSIONS: ".txt,.md,.markdown,.mdown,.mkd,"
PREVIEWABLE_FILE_MODES: "markdown"
repository.local:
LOCAL_COPY_PATH: "tmp/local-repo"
LOCAL_WIKI_PATH: "tmp/local-wiki"
repository.upload:
ENABLED: "true"
TEMP_PATH: "data/tmp/uploads"
FILE_MAX_SIZE: "3"
MAX_FILES: "5"
repository.pull-request:
WORK_IN_PROGRESS_PREFIXES: "WIP:,[WIP]"
CLOSE_KEYWORDS: "close,closes,closed,fix,fixes,fixed,resolve,resolves,resolved"
REOPEN_KEYWORDS: "reopen,reopens,reopened"
DEFAULT_MERGE_MESSAGE_COMMITS_LIMIT: "50"
DEFAULT_MERGE_MESSAGE_SIZE: "5120"
DEFAULT_MERGE_MESSAGE_ALL_AUTHORS: "false"
DEFAULT_MERGE_MESSAGE_MAX_APPROVERS: "10"
DEFAULT_MERGE_MESSAGE_OFFICIAL_APPROVERS_ONLY: "true"
repository.issue:
LOCK_REASONS: "Too heated,Off-topic,Resolved,Spam"
repository.signing:
SIGNING_KEY: "default"
INITIAL_COMMIT: "always"
CRUD_ACTIONS: "pubkey, twofa, parentsigned"
WIKI: "never"
MERGES: "pubkey, twofa, basesigned, commitssigned"
cors:
ENABLED: "false"
SCHEME: "http"
ALLOW_DOMAIN: "*"
ALLOW_SUBDOMAIN: "false"
METHODS: "GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS"
MAX_AGE: "10m"
ALLOW_CREDENTIALS: "false"
ui:
EXPLORE_PAGING_NUM: "20"
ISSUE_PAGING_NUM: "10"
FEED_MAX_COMMIT_NUM: "5"
GRAPH_MAX_COMMIT_NUM: "100"
CODE_COMMENT_LINES: "4"
THEME_COLOR_META_TAG: "`#6cc644`"
MAX_DISPLAY_FILE_SIZE: "8388608"
SHOW_USER_EMAIL: "true"
DEFAULT_THEME: "gitea"
THEMES: "gitea,arc-green"
REACTIONS: "+1, -1, laugh, hooray, confused, heart, rocket, eyes"
DEFAULT_SHOW_FULL_NAME: "false"
SEARCH_REPO_DESCRIPTION: "true"
USE_SERVICE_WORKER: "true"
ui.admin:
USER_PAGING_NUM: "50"
REPO_PAGING_NUM: "50"
NOTICE_PAGING_NUM: "25"
ORG_PAGING_NUM: "50"
ui.user:
REPO_PAGING_NUM: "15"
ui.meta:
AUTHOR: "Gitea - Git with a cup of tea"
DESCRIPTION: "Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go"
KEYWORDS: "go,git,self-hosted,gitea"
ui.notification:
MIN_TIMEOUT: "10s"
MAX_TIMEOUT: "60s"
TIMEOUT_STEP: "10s"
EVENT_SOURCE_UPDATE_TIME: "10s"
markdown:
ENABLE_HARD_LINE_BREAK_IN_COMMENTS: "true"
ENABLE_HARD_LINE_BREAK_IN_DOCUMENTS: "false"
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"
REDIRECT_OTHER_PORT: "false"
PORT_TO_REDIRECT: "80"
UNIX_SOCKET_PERMISSION: "666"
LOCAL_ROOT_URL: "%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/"
DISABLE_SSH: "false"
START_SSH_SERVER: "false"
SSH_DOMAIN: "%(DOMAIN)s"
SSH_PORT: "22"
SSH_LISTEN_PORT: "%(SSH_PORT)s"
SSH_CREATE_AUTHORIZED_KEYS_FILE: "true"
SSH_SERVER_CIPHERS: "aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128"
SSH_SERVER_KEY_EXCHANGES: "diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, curve25519-sha256@libssh.org"
SSH_SERVER_MACS: "hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1, hmac-sha1-96"
SSH_KEYGEN_PATH: "ssh-keygen"
SSH_BACKUP_AUTHORIZED_KEYS: "true"
SSH_EXPOSE_ANONYMOUS: "false"
MINIMUM_KEY_SIZE_CHECK: "false"
OFFLINE_MODE: "false"
DISABLE_ROUTER_LOG: "false"
CERT_FILE: "https/cert.pem"
KEY_FILE: "https/key.pem"
APP_DATA_PATH: "data"
ENABLE_GZIP: "false"
ENABLE_PPROF: "false"
PPROF_DATA_PATH: "data/tmp/pprof"
LANDING_PAGE: "home"
LFS_START_SERVER: "false"
LFS_CONTENT_PATH: "data/lfs"
LFS_HTTP_AUTH_EXPIRY: "20m"
LFS_MAX_FILE_SIZE: "0"
LFS_LOCKS_PAGING_NUM: "50"
ALLOW_GRACEFUL_RESTARTS: "true"
GRACEFUL_HAMMER_TIME: "60s"
STARTUP_TIMEOUT: "0"
STATIC_CACHE_TIME: "6h"
ssh.minimum_key_sizes:
ED25519: "256"
ECDSA: "256"
RSA: "2048"
DSA: "1024"
database:
DB_TYPE: "mysql"
HOST: "127.0.0.1:3306"
NAME: "gitea"
USER: "root"
SSL_MODE: "disable"
CHARSET: "utf8mb4"
PATH: "data/gitea.db"
SQLITE_TIMEOUT: "500"
ITERATE_BUFFER_SIZE: "50"
LOG_SQL: "true"
DB_RETRIES: "10"
DB_RETRY_BACKOFF: "3s"
MAX_IDLE_CONNS: "2"
CONN_MAX_LIFETIME: "3s"
MAX_OPEN_CONNS: "0"
indexer:
ISSUE_INDEXER_TYPE: "bleve"
ISSUE_INDEXER_CONN_STR: "http://elastic:changeme@localhost:9200"
ISSUE_INDEXER_NAME: "gitea_issues"
ISSUE_INDEXER_PATH: "indexers/issues.bleve"
ISSUE_INDEXER_QUEUE_TYPE: "levelqueue"
ISSUE_INDEXER_QUEUE_DIR: "indexers/issues.queue"
ISSUE_INDEXER_QUEUE_CONN_STR: ""addrs"
ISSUE_INDEXER_QUEUE_BATCH_NUMBER: "20"
STARTUP_TIMEOUT: "30s"
REPO_INDEXER_ENABLED: "false"
REPO_INDEXER_PATH: "indexers/repos.bleve"
UPDATE_BUFFER_LEN: "20"
MAX_FILE_SIZE: "1048576"
queue:
TYPE: "persistable-channel"
DATADIR: "queues/"
LENGTH: "20"
BATCH_LENGTH: "20"
CONN_STR: ""addrs"
QUEUE_NAME: "_queue"
WRAP_IF_NECESSARY: "true"
MAX_ATTEMPTS: "10"
TIMEOUT: "15m30s"
WORKERS: "1"
MAX_WORKERS: "10"
BLOCK_TIMEOUT: "1s"
BOOST_TIMEOUT: "5m"
BOOST_WORKERS: "5"
admin:
DISABLE_REGULAR_ORG_CREATION: "false"
DEFAULT_EMAIL_NOTIFICATIONS: "enabled"
security:
INSTALL_LOCK: "false"
SECRET_KEY: "!#@FDEWREWR&*("
LOGIN_REMEMBER_DAYS: "7"
COOKIE_USERNAME: "gitea_awesome"
COOKIE_REMEMBER_NAME: "gitea_incredible"
REVERSE_PROXY_AUTHENTICATION_USER: "X-WEBAUTH-USER"
REVERSE_PROXY_AUTHENTICATION_EMAIL: "X-WEBAUTH-EMAIL"
MIN_PASSWORD_LENGTH: "6"
IMPORT_LOCAL_PATHS: "false"
DISABLE_GIT_HOOKS: "false"
ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET: "true"
PASSWORD_COMPLEXITY: "lower,upper,digit,spec"
PASSWORD_HASH_ALGO: "pbkdf2"
CSRF_COOKIE_HTTP_ONLY: "true"
openid:
ENABLE_OPENID_SIGNIN: "true"
service:
ACTIVE_CODE_LIVE_MINUTES: "180"
RESET_PASSWD_CODE_LIVE_MINUTES: "180"
REGISTER_EMAIL_CONFIRM: "false"
DISABLE_REGISTRATION: "false"
ALLOW_ONLY_EXTERNAL_REGISTRATION: "false"
REQUIRE_SIGNIN_VIEW: "false"
ENABLE_NOTIFY_MAIL: "false"
ENABLE_BASIC_AUTHENTICATION: "true"
ENABLE_REVERSE_PROXY_AUTHENTICATION: "false"
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION: "false"
ENABLE_REVERSE_PROXY_EMAIL: "false"
ENABLE_CAPTCHA: "false"
CAPTCHA_TYPE: "image"
RECAPTCHA_URL: "https://www.google.com/recaptcha/"
DEFAULT_KEEP_EMAIL_PRIVATE: "false"
DEFAULT_ALLOW_CREATE_ORGANIZATION: "true"
DEFAULT_ORG_VISIBILITY: "public"
DEFAULT_ORG_MEMBER_VISIBLE: "false"
DEFAULT_ENABLE_DEPENDENCIES: "true"
ALLOW_CROSS_REPOSITORY_DEPENDENCIES: "true"
ENABLE_USER_HEATMAP: "true"
ENABLE_TIMETRACKING: "true"
DEFAULT_ENABLE_TIMETRACKING: "true"
DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME: "true"
NO_REPLY_ADDRESS: "noreply.%(DOMAIN)s"
SHOW_REGISTRATION_BUTTON: "true"
SHOW_MILESTONES_DASHBOARD_PAGE: "true"
AUTO_WATCH_NEW_REPOS: "true"
AUTO_WATCH_ON_CHANGES: "false"
webhook:
QUEUE_LENGTH: "1000"
DELIVER_TIMEOUT: "5"
SKIP_TLS_VERIFY: "false"
PAGING_NUM: "10"
mailer:
ENABLED: "false"
SEND_BUFFER_LEN: "100"
SKIP_VERIFY: "false"
USE_CERTIFICATE: "false"
CERT_FILE: "custom/mailer/cert.pem"
KEY_FILE: "custom/mailer/key.pem"
IS_TLS_ENABLED: "false"
SEND_AS_PLAIN_TEXT: "false"
MAILER_TYPE: "smtp"
SENDMAIL_PATH: "sendmail"
SENDMAIL_TIMEOUT: "5m"
cache:
ENABLED: "true"
ADAPTER: "memory"
INTERVAL: "60"
ITEM_TTL: "16h"
cache.last_commit:
ENABLED: "true"
ITEM_TTL: "8760h"
COMMITS_COUNT: "1000"
session:
PROVIDER: "memory"
PROVIDER_CONFIG: "data/sessions"
COOKIE_NAME: "i_like_gitea"
COOKIE_SECURE: "false"
ENABLE_SET_COOKIE: "true"
GC_INTERVAL_TIME: "86400"
SESSION_LIFE_TIME: "86400"
picture:
AVATAR_UPLOAD_PATH: "data/avatars"
REPOSITORY_AVATAR_UPLOAD_PATH: "data/repo-avatars"
REPOSITORY_AVATAR_FALLBACK: "none"
REPOSITORY_AVATAR_FALLBACK_IMAGE: "/img/repo_default.png"
AVATAR_MAX_WIDTH: "4096"
AVATAR_MAX_HEIGHT: "3072"
AVATAR_MAX_FILE_SIZE: "1048576"
GRAVATAR_SOURCE: "gravatar"
DISABLE_GRAVATAR: "false"
ENABLE_FEDERATED_AVATAR: "false"
attachment:
ENABLED: "true"
PATH: "data/attachments"
ALLOWED_TYPES: "image/jpeg|image/png|application/zip|application/gzip"
MAX_SIZE: "4"
MAX_FILES: "5"
time:
log:
MODE: "console"
BUFFER_LEN: "10000"
REDIRECT_MACARON_LOG: "false"
MACARON: "file"
ROUTER_LOG_LEVEL: "Info"
ROUTER: "console"
ENABLE_ACCESS_LOG: "false"
ACCESS_LOG_TEMPLATE: "{{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}""
ACCESS: "file"
LEVEL: "Info"
STACKTRACE_LEVEL: "None"
log.x:
FLAGS: "stdflags"
COLORIZE: "false"
log.console:
STDERR: "false"
log.file:
LOG_ROTATE: "true"
MAX_LINES: "1000000"
MAX_SIZE_SHIFT: "28"
DAILY_ROTATE: "true"
MAX_DAYS: "7"
COMPRESS: "true"
COMPRESSION_LEVEL: "-1"
log.conn:
RECONNECT_ON_MSG: "false"
RECONNECT: "false"
PROTOCOL: "tcp"
log.smtp:
SUBJECT: "Diagnostic message from server"
cron:
ENABLED: "true"
RUN_AT_START: "false"
cron.update_mirrors:
SCHEDULE: "@every 10m"
cron.repo_health_check:
SCHEDULE: "@every 24h"
TIMEOUT: "60s"
cron.check_repo_stats:
RUN_AT_START: "true"
SCHEDULE: "@every 24h"
cron.archive_cleanup:
ENABLED: "true"
RUN_AT_START: "true"
SCHEDULE: "@every 24h"
OLDER_THAN: "24h"
cron.sync_external_users:
RUN_AT_START: "false"
SCHEDULE: "@every 24h"
UPDATE_EXISTING: "true"
cron.update_migration_poster_id:
SCHEDULE: "@every 24h"
git:
DISABLE_DIFF_HIGHLIGHT: "false"
MAX_GIT_DIFF_LINES: "1000"
MAX_GIT_DIFF_LINE_CHARACTERS: "5000"
MAX_GIT_DIFF_FILES: "100"
ENABLE_AUTO_GIT_WIRE_PROTOCOL: "true"
PULL_REQUEST_PUSH_MESSAGE: "true"
git.timeout:
DEFAULT: "360"
MIGRATE: "600"
MIRROR: "300"
CLONE: "300"
PULL: "300"
GC: "60"
mirror:
DEFAULT_INTERVAL: "8h"
MIN_INTERVAL: "10m"
api:
ENABLE_SWAGGER: "true"
MAX_RESPONSE_ITEMS: "50"
DEFAULT_PAGING_NUM: "30"
DEFAULT_GIT_TREES_PER_PAGE: "1000"
DEFAULT_MAX_BLOB_SIZE: "10485760"
oauth2:
ENABLE: "true"
ACCESS_TOKEN_EXPIRATION_TIME: "3600"
REFRESH_TOKEN_EXPIRATION_TIME: "730"
INVALIDATE_REFRESH_TOKENS: "false"
JWT_SECRET: "Bk0yK7Y9g_p56v86KaHqjSbxvNvu3SbKoOdOt2ZcXvU"
MAX_TOKEN_LENGTH: "32767"
i18n:
LANGS: "en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,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,Português de Portugal,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어"
U2F:
highlight.mapping:
other:
SHOW_FOOTER_BRANDING: "false"
SHOW_FOOTER_VERSION: "true"
SHOW_FOOTER_TEMPLATE_LOAD_TIME: "true"
markup.sanitizer.1:
markup.asciidoc:
ENABLED: "false"
FILE_EXTENSIONS: ".adoc,.asciidoc"
RENDER_COMMAND = "asciidoc --out-file: "- -""
IS_INPUT_FILE: "false"
metrics:
ENABLED: "false"
task:
QUEUE_TYPE: "channel"
QUEUE_LENGTH: "1000"
QUEUE_CONN_STR: ""addrs"
migrations:
MAX_ATTEMPTS: "3"
RETRY_BACKOFF: "3"