gitea的配置说明

发布时间:2022-04-19浏览次数:0

支持注册ChatGPT Plus的OneKey虚拟卡
绑定Apple Pay、Google Pay、支付宝和微信支付进行日常消费

注册和了解更多 ->

silver

搭建方法参见 : gitea docker-compose 搭建

配置文件说明

Overall (DEFAULT)
APP_NAME: Gitea: Git with a cup of tea: 应用名称,用于页面标题
RUN_USER: git: 运行gitea的用户。这应该是一个专用的系(非用户)统账户。设置不正确的话可能gitea就无法启动。
RUN_MODE: dev: 为了性能和其他目的,当部署在产品环境中,需要改为prod。安装过程会自动设置为prod。可选[prod,dev.test]

Repository (repository)
ROOT: ~/gitea-repositories/: 存储所有仓库数据的根目录,必须是绝对路径
SCRIPT_TYPE: bash: 系统支持的脚本类型,通常是bash,但有些用户反映只有sh可用
ANSI_CHARSET: <empty>: 无法识别的字符集的默认字符集
FORCE_PRIVATE: false: 强制每个新建仓库都为私有仓库
DEFAULT_PRIVATE: last: 当创建新仓库的时候,默认选项为私有,[last,private,public]
MAX_CREATION_LIMIT: -1: 全局参数,每个用户最多可创建的仓库数,-1代表没有限制
PULL_REQUEST_QUEUE_LENGTH: 1000: 合并请求补丁测试队列的长度,设置的尽可能大,谨慎编辑此值
MIRROR_QUEUE_LENGTH: 1000: 镜像同步队列的长度,如果会卡住,增加这个值的大小
PREFERRED_LICENSES: Apache License 2.0,MIT License: 优先许可证,会排在列表的最前面。必须和license文件夹中的文件名一致
DISABLE_HTTP_GIT: false: 禁止与仓库通过HTTP协议进行交互
USE_COMPAT_SSH_URI: false: 当使用默认ssh端口时,强制ssh://克隆url而不是scp样式的uri
ACCESS_CONTROL_ALLOW_ORIGIN: <empty>: Access-Control-Allow-Origin响应头的值,默认不设置,如果设置不当可能使服务不安全
DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH: false: 非默认分支上的commit标记为关闭的时候,则关闭对应的issues
ENABLE_PUSH_CREATE_USER: false: 允许用户把本地仓库推送到gitea,并且自动为它创建仓库
ENABLE_PUSH_CREATE_ORG: false: 允许用户将本地存储库推送到Gitea,并为一个组织自动创建它们
PREFIX_ARCHIVE_FILES: true: 通过将归档文件放在以存储库命名的目录中来为归档文件添加前缀

Repository - Pull Request (repository.pull-request)
WORK_IN_PROGRESS_PREFIXES: WIP:,[WIP]: 在拉取请求标题中使用的前缀列表,以将其标记为“进行中”
CLOSE_KEYWORDS: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved:合并请求的评论中使用的关键词,用来关闭相关的issues
REOPEN_KEYWORDS: reopen, reopens, reopened: 合并请求评论中使用的关键词,用来自动重新打开相关的的issues
DEFAULT_MERGE_MESSAGE_COMMITS_LIMIT: 50: 在squash提交的默认合并消息中,最多包括这么多提交。设置为-1以包含所有提交
DEFAULT_MERGE_MESSAGE_SIZE: 5120: 在squash提交的默认合并消息中,限制提交消息的大小。设置为-1,则没有限制。
DEFAULT_MERGE_MESSAGE_ALL_AUTHORS: false: 在squash提交的默认合并消息中,遍历所有commit将作者信息包含在Co-hoauthorred-by中,否则只需使用有限列表中的作者
DEFAULT_MERGE_MESSAGE_MAX_APPROVERS: 10: 在默认的合并信息中,限制列为审阅人的批准者的数量,设置为-1则不限制
DEFAULT_MERGE_MESSAGE_OFFICIAL_APPROVERS_ONLY: true: 在默认的合并消息中,只包括官方允许审核的审批人

Repository - Issue (repository.issue)
LOCK_REASONS: Too heated,Off-topic,Resolved,Spam: 合并请求或者工单可以被锁定的原因列表

Repository - Signing (repository.signing)
SIGNING_KEY: default: [none, KEYID, default ]: 签名秘钥
SIGNING_NAME & SIGNING_EMAIL:<empty> 如果提供了一个KEYID作为SIGNING_KEY,请使用这些作为签名者的姓名和电子邮件地址。这些应该与KEYID的公开姓名和电子邮件地址相匹配
INITIAL_COMMIT: always: [never, pubkey, twofa, always]: 签名初始化commit

never: 从不签名
pubkey: 只有当用户有公钥的时候签名
twofa: 只有用户使用两步登录的时候签名
always: 总是签名
除了never和always,其他选项可以合并为一个列表,用逗号分隔

WIKI: never: [never, pubkey, twofa, always, parentsigned]: 为Wiki的提交签名
CRUD_ACTIONS: pubkey, twofa, parentsigned: [never, pubkey, twofa, parentsigned, always]: 为增删改查签名
Options as above, with the addition of:
parentsigned: Only sign if the parent commit is signed.

选项如上面,增加了选项:
parentsigned: 只有当父提交签名的时候才签名

MERGES: pubkey, twofa, basesigned, commitssigned: [never, pubkey, twofa, approved, basesigned, commitssigned, always]: 给merge签名

approved: 只签名批准的merge到受保护的分支 Only sign approved merges to a protected branch.
basesigned: 只有当基础仓库中的父提交被签名的时候才签名
headsigned: 只有在head branch中的head commit签名的时候才签名
commitssigned: 只有当head branch中所有到合并点的提交都被签名时,才会签名

CORS (cors)
ENABLED: false: 启用cors头,默认禁用
SCHEME: http: 允许的请求的scheme
ALLOW_DOMAIN: ``*: 允许的请求域名
ALLOW_SUBDOMAIN: false: 允许上面列出的请求头中的子域名发出请求
METHODS: GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS: 允许使用的请求方法
MAX_AGE: 10m: 缓存响应的最大时间
ALLOW_CREDENTIALS: false: 允许使用凭证的请求

UI (ui)
EXPLORE_PAGING_NUM: 20: 探索页面中每页显示的仓库数量
ISSUE_PAGING_NUM: 10: 一个页面中能显示的工单数量
MEMBERS_PAGING_NUM: 20: 组织成员页面显示的成员数量
FEED_MAX_COMMIT_NUM: 5: 活动流页面显示的最大提交数量
GRAPH_MAX_COMMIT_NUM: 100: 在提交图中显示的最大提交数量
DEFAULT_THEME: gitea: [gitea, arc-green]: gitea安装的默认主题
THEMES: gitea,arc-green: 所有可用主题,允许用户选择个性化主题,无论默认值是什么
REACTIONS: <emtpy>:所有可用的reaction,允许用户用各种emoj来表示态度
DEFAULT_SHOW_FULL_NAME: false: 是否显示用户全名,如果全名没有设置,则显示usernamte
SEARCH_REPO_DESCRIPTION: true: 在探索页面,是否可以搜索仓库的描述
USE_SERVICE_WORKER: true: 是否使用service worker来缓存前端资源

UI - Admin (ui.admin)
USER_PAGING_NUM: 50: 每页显示的用户数量
REPO_PAGING_NUM: 50: 每页显示的仓库数量
NOTICE_PAGING_NUM: 25: 每页显示的通知数量
ORG_PAGING_NUM: 50: 每页显示的组织数量

Markdown (markdown)
ENABLE_HARD_LINE_BREAK: false: 启用hard line break,行位用两个或以上的空格加回车来换行为软换行,直接回车换行为硬换行
CUSTOM_URL_SCHEMES: <empty>使用逗号分隔的列表(ftp,git,svn)来表示要在Markdown中显示的附加URL超链接。以 http 和 https 开头的 URL 始终显示

Server (server)
PROTOCOL: http: [http, https, fcgi, unix, fcgi+unix]: 服务使用的协议
DOMAIN: localhost: Gitea服务的域名
ROOT_URL: %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/: 覆写自动生成的公共URL。如果内部URL和外部URL不匹配,这很有用(例如在Docker中)
STATIC_URL_PREFIX: <empty>: 设置这个值,可以从其他URL来请求静态文件。包括css文件,图片,js文件和web字体。头像图片是动态资源仍然有gitea服务提供。值可以是一个路径,如/static,或者其他域名如 https://cdn.example.com。请求路径可以是%(ROOT_URL)s/static/css/index.css或者https://cdn.example.com/css/index.css。静态文件路径在public文件夹下
HTTP_ADDR: 0.0.0.0: HTTP监听地址

如果协议为fcgi,Gitea将会在TCP socket上监听FastCGI请求。TCP socket 以HTTP_ADDR和HTTP_PORT 定义
如果协议设置为unix或者fcgi+unix,值应该是使用的unux socket文件的名字

HTTP_PORT: 3000: HTTP监听端口

如果协议为fcgi,Gitea将会在TCP socket上监听FastCGI请求。TCP socket 以HTTP_ADDR和HTTP_PORT 定义

UNIX_SOCKET_PERMISSION: 666: unix socket权限
LOCAL_ROOT_URL: %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/: Gitea woker(如SSH更新)访问Web服务的本地(DMZ)URL。在大多数情况下,你不需要改变默认值。只有当你的SSH服务器节点和HTTP节点不一样的时候才需要修改它。如果PROTOCOL设置为unix,请不要设置这个变量。
DISABLE_SSH: false: 禁用SSH
START_SSH_SERVER: false: 启用的时候,使用内建的SSH服务
SSH_DOMAIN: %(DOMAIN)s: ssh服务的域名,用来显示克隆地址
SSH_PORT: 22: SSH端口,显示在克隆URL
SSH_LISTEN_HOST: 0.0.0.0: 内建SSH服务的监听地址
SSH_LISTEN_PORT: %(SSH_PORT)s: 内建SSH服务的端口
OFFLINE_MODE: false: 静态文件和gravatar头像服务禁止使用CDN
DISABLE_ROUTER_LOG: false: 不打印路由日志
CERT_FILE: https/cert.pem: HTTPS的证书文件,从1.11开始路径是相对于CUSTOM_PATH
KEY_FILE: https/key.pem: HTTPS的密钥文件,从1.11开始路径是相对于CUSTOM_PATH
STATIC_ROOT_PATH: ./: 上层的模板和静态文件路径
STATIC_CACHE_TIME: 6h: 浏览器缓存静态文件的时间,custom/,public/下的文件和头像
ENABLE_GZIP: false: 开启应用级别的gizp支持
LANDING_PAGE: home: 未登陆用户的默认页面,可选[home, explore, organizations, login]
LFS_START_SERVER: false: 开启git-lfs支持
LFS_CONTENT_PATH: ./data/lfs: 存储lfs文件的目录
LFS_JWT_SECRET: <empty>: LFS认证秘钥,设置为特殊的字符串
LFS_HTTP_AUTH_EXPIRY: 20m: LFS认证有效时间,如果推送时长超过这个时间就会失败
LFS_MAX_FILE_SIZE: 0: LFS文件最大限制,0为无限制
LFS_LOCK_PAGING_NUM: 50: 每页最大返回的LFS锁定文件数量
REDIRECT_OTHER_PORT: false: 如果为true,且PROTOCOL为https,允许将PORT_TO_REDIRECT上的http请求重定向到Gitea监听的https端口
PORT_TO_REDIRECT: 80: http重定向服务监听的端口,当REDIRECT_OTHER_PORT设置为true时可用
ENABLE_LETSENCRYPT: false: 如果启用,您必须将DOMAIN设置为有效的互联网域名(确保DNS已设置好,并且Letsencrypt验证服务器可以访问端口80)。使用Lets Encrypt,您必须同意他们的服务条款。
LETSENCRYPT_ACCEPTTOS: false: 这表明您已接受了Let’s Encrypt的服务条款。
LETSENCRYPT_DIRECTORY: https: Letsencrypt将用于缓存诸如证书和私钥等信息的目录。
LETSENCRYPT_EMAIL: [email protected]: Letsencrypt用于通知已发证书的问题的电子邮件。(无默认值)
ALLOW_GRACEFUL_RESTARTS: true: 优雅重启当信号为SIGHUP(终端挂起或者控制进程终止)
GRACEFUL_HAMMER_TIME: 60s: 重启后,父进程将停止接受新连接,并允许请求完成后再停止。如果时间超过这个时间,将强制关闭。
STARTUP_TIMEOUT: 0: 如果启动时间超过规定的时间,则关闭服务器。在Windows设置中,这将向SVC主机发送一个waithint,告诉SVC主机启动可能需要一些时间。请注意,启动时间是由监听器的打开方式决定的–HTTP/HTTPS/SSH。索引器可能需要更长的时间来启动,并且可能有自己的超时时间。

Database (database)
DB_TYPE: mysql: 使用的数据库[mysql, postgres, mssql, sqlite3]
HOST: 127.0.0.1:3306: 数据库地址和端口
NAME: gitea: 数据库名字
USER: root: 数据库用户名
PASSWD: <empty>: 数据库用户密码。如果你在密码中使用特殊字符,请使用 ‘‘进行引用。
SCHEMA: <empty>: 仅适用于PostgreSQL,如果模式与 “public “不同时需要使用的模式。该模式必须事先存在,用户必须有创建权限,用户搜索路径必须先设置为查找模式(例如:ALTER USER user SET SEARCH_PATH = schema_name,"$user”,public;)
SSL_MODE: disable: SSL/TLS加密模式,用于连接到数据库。这个选项只适用于PostgreSQL和MySQL。
MySQL可用的值如下:

true: 启用 TLS,并将数据库服务器证书与根证书进行验证。选择此选项时,请确保验证数据库服务器证书所需的根证书(如CA证书)在数据库和Gitea服务器的系统证书库中。有关如何将 CA 证书添加到证书库中的说明,请参见系统文档。
false: 禁用TLS.
disable: false的别名, 为了兼容PostgreSQL.
skip-verify: 在没有数据库服务器证书验证的情况下启用TLS。如果数据库服务器上有自签名或无效证书,请使用此选项。
prefer: 启用TLS,回退到非TLS连接。

PostgreSQL可用的值如下:

disable:禁用TLS.
require: 启用TLS,无需任何验证
verify-ca: 启用TLS,并对数据库服务器证书与其根证书进行验证。
verify-full: 启用 TLS,并验证数据库服务器名称与通用名称或主题替代名称字段中给定的证书是否匹配。

CHARSET: utf8: 仅适用于MySQL,utf8和utf8mb4默认都是utf8。utf8mb4的话,mysql innodb版本需要大于5.6 。gitea本身无法检查这个版本。
PATH: data/gitea.db: 仅适于SQLite3,数据库的文件路径
LOG_SQL: true: 将执行的SQL写入日志
DB_RETRIES: 10: ORM初始化或者重试连接的次数
DB_RETRY_BACKOFF: 3s: 如果失败,在尝试另一个ORM初始化/DB连接尝试之前要等待的时间。
MAX_OPEN_CONNS 0: 数据库最大开放连接–默认为0,意味着没有限制。
MAX_IDLE_CONNS 2: 连接池上的最大空闲数据库连接,默认为2—-上限为MAX_OPEN_CONNS。
CONN_MAX_LIFETIME 0 or 3s: 设置一个DB连接可以被重复使用的最大时间 - 默认值为0,意味着没有限制
MAX_IDLE_CONNS & CONN_MAX_LIFETIME and their relation to port exhaustion.

Indexer (indexer)
ISSUE_INDEXER_TYPE: bleve: 问题索引器类型,目前支持的类型: bleve、db 或 elasticsearch。
ISSUE_INDEXER_CONN_STR: ``: 发行索引器连接字符串,当ISSUE_INDEXER_TYPE为 elasticsearch时可用,例如:http://elastic:changeme@localhost:9200
ISSUE_INDEXER_NAME: gitea_issues: Issue indexer名称,当ISSUE_INDEXER_TYPE为 elasticsearch时可用。
ISSUE_INDEXER_PATH: indexers/issues.bleve: 用于问题搜索的索引文件;当 ISSUE_INDEXER_TYPE 为 bleve 和 elasticsearch 时可用。
接下来的4个配置值已被废弃,应该在queue.issue_indexer中设置,但为了向后兼容,保留了这4个配置值。
ISSUE_INDEXER_QUEUE_TYPE: levelqueue: 发行索引器队列,目前支持:channel、levelqueue、redis。
ISSUE_INDEXER_QUEUE_DIR: indexers/issues.queue: 当ISSUE_INDEXER_QUEUE_TYPE为levelqueue时,这将是队列的保存路径。
ISSUE_INDEXER_QUEUE_CONN_STR: addrs=127.0.0.1:6379 db=0: 当ISSUE_INDEXER_QUEUE_TYPE为redis时,将存储redis连接字符串。
ISSUE_INDEXER_QUEUE_BATCH_NUMBER: 20: 批量队列号 。
REPO_INDEXER_ENABLED: false: 启用代码搜索(占用了大量的磁盘空间,大约是版本库大小的6倍)。
REPO_INDEXER_PATH: indexers/repos.bleve: 用于代码搜索的索引文件。
REPO_INDEXER_INCLUDE: empty: 一个以逗号分隔的 glob 模式列表 (见 https://github.com/gobwas/glob),以包含在索引中。使用.txt来匹配任何具有.txt扩展名的文件。空列表意味着包含所有文件。 REPO_INDEXER_EXCLUDE: empty: 一个以逗号分隔的 glob 模式列表 (见 https://github.com/gobwas/glob) 从索引中排除。匹配此列表的文件将不被索引,即使它们在 REPO_INDEXER_INCLUDE 中匹配,也不会被索引。 REPO_INDEXER_EXCLUDE_VENDORED: true: 从索引中排除了本地存储的包文件。 UPDATE_BUFFER_LEN: 20: 索引请求的缓冲区长度。 MAX_FILE_SIZE: 1048576: 文件最大尺寸 STARTUP_TIMEOUT: 30s`: 如果索引器的启动时间超过这个超时时间–失败。(这个超时时间将被添加到上面的子进程的锤子时间中–因为在前一个父进程被关闭之前,bleve不会启动)。) 设置为0,则永远不会超时

Queue (queue and queue.)
TYPE: persistable-channel: 一般队列类型,目前支持:persistable-channel, channel, channel, level, redis, dummy
DATADIR: queues/: Base DataDir,用于存储持久性队列和级别队列。可在queue.name部分设置inidividual队列的DATADIR,但默认为DATADIR/name。
LENGTH: 20: Maximal queue size before channel queues block
BATCH_LENGTH:20: 在传送到处理程序之前的批量数据数量
CONN_STR: addrs=127.0.0.1:6379 db=0: Redis队列类型的连接字符串.
QUEUE_NAME: _queue: 默认的redis队列名称的后缀。单个队列将默认为QUEUE_NAME,但可以在特定的queue.name部分中覆盖。
SET_NAME: _unique: 将添加到默认的redis集名称中的后缀,用于唯一的队列。单个队列将默认为nameQUEUE_NAMESET_NAME,但可以在特定的queue.name部分重写。
WRAP_IF_NECESSARY: true: 如果选择的队列还没有准备好要创建,将用一个可超时队列来包装队列–(只与级别队列有关)
MAX_ATTEMPTS: 10: 创建包装队列的最大尝试次数
TIMEOUT: GRACEFUL_HAMMER_TIME + 30s: 如果创建包装队列需要的时间比这个时间长,则会超时创建。
队列默认带有一个动态缩放工作池。下面的设置可以配置这一点。
WORKERS: 1: 队列的初始worker人数。
MAX_WORKERS: 10: 队列中最大的worker协程数量。
BLOCK_TIMEOUT: 1s: 如果这段时间的队列被阻塞,那么,在进行中的时候,将增加一倍的block_timeout,然后再增加一倍的worker数量。
BOOST_TIMEOUT: 5m: Boost workers过了这么长时间就会超时。
BOOST_WORKERS: 5: This many workers will be added to the worker pool if there is a boost.

Admin (admin)
DEFAULT_EMAIL_NOTIFICATIONS: enabled: 默认配置为用户的电子邮件通知(用户可配置)。选项:启用、提示、禁用(enabled, onmention, disabled)

Security (security)
INSTALL_LOCK: false: 禁止访问安装页面。
SECRET_KEY: <random at every install>: 全局密钥。这一点应予改变。
LOGIN_REMEMBER_DAYS: 7: Cookie寿命,以天为单位。
COOKIE_USERNAME: gitea_awesome: 用来存储当前用户名的cookie名称。
COOKIE_REMEMBER_NAME: gitea_incredible: 用于存储认证信息的cookie名称。
REVERSE_PROXY_AUTHENTICATION_USER: X-WEBAUTH-USER: 用于反向代理认证的header名称。
REVERSE_PROXY_AUTHENTICATION_EMAIL: X-WEBAUTH-EMAIL: 提供的电子邮件中的反向代理认证的head名。
DISABLE_GIT_HOOKS: false: 设置为true,以防止所有用户(包括管理员)创建自定义git钩子。
ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET: true: 设置为 false,允许本地用户在不设置 Gitea 环境的情况下推送到 gitea-repositories。不建议这样做,如果你想让本地用户推送到gitea仓库,应该适当设置环境。
IMPORT_LOCAL_PATHS: false: 设置为false,防止所有用户(包括管理员)在服务器上导入本地路径。
INTERNAL_TOKEN: <random at every install if no uri set>: 用于验证Gitea二进制内部通信的token。
INTERNAL_TOKEN_URI: : 这个配置选项可以用来给Gitea提供一个包含内部令牌的文件路径,而不是在配置中定义内部令牌(示例值:file:/etc/gitea/internal_token)。
PASSWORD_HASH_ALGO: pbkdf2: 要使用的散列算法 [pbkdf2, argon2, scrypt, bcrypt].
CSRF_COOKIE_HTTP_ONLY: true: 设置为false,允许JavaScript读取CSRF cookie。
PASSWORD_COMPLEXITY: lower,upper,digit,spec: 逗号分隔的字符类列表,需要通过最低复杂度。如果留空或没有指定有效值,将使用默认值。可能的值是:
lower - 使用一个或多个小写拉丁字母
upper - 使用一个或多个大写写拉丁字母
digit - 使用一个或多个数字
spec - 使用一个或多个用特殊字符 !"#$%&'()+,-./:;<=>?@[\]^_{|}~
off - 不检查密码复杂度

OpenID (openid)
ENABLE_OPENID_SIGNIN: false: 允许通过OpenID进行认证。
ENABLE_OPENID_SIGNUP: ! DISABLE_REGISTRATION: 允许通过OpenID注册。
WHITELISTED_URIS: <empty>: 如果非空,则列出与OpenID URI相匹配的POSIX regex模式的列表。
BLACKLISTED_URIS: <empty>: 如果非空,则列出与OpenID URI相匹配的POSIX regex模式的列表被阻塞。

Service (service)
ACTIVE_CODE_LIVE_MINUTES: 180: 确认账户/电子邮件注册的时间限制(分钟)。
RESET_PASSWD_CODE_LIVE_MINUTES: 180: 以确认忘记密码重置过程的时间限制(分钟)。
REGISTER_EMAIL_CONFIRM: false: 启用此功能要求邮件确认注册。需要启用邮件功能。
DISABLE_REGISTRATION: false: 禁止注册,之后只有管理员才能为用户创建账户。
REQUIRE_EXTERNAL_REGISTRATION_PASSWORD: false: 启用此功能可以强制外部创建账户(通过 GitHub、OpenID Connect 等)创建密码。警告: 启用此功能会降低安全性,所以只有在你知道自己在做什么的情况下才可以启用。
REQUIRE_SIGNIN_VIEW: false: 启用此功能可强制用户登录查看任何页面或使用API。
ENABLE_NOTIFY_MAIL: false: 启用此功能可以在仓库发生事情时,例如创建问题等,向仓库的管理员发送电子邮件。需要启用Mailer。
ENABLE_BASIC_AUTHENTICATION: true: 禁用此功能可以禁止使用HTTP BASIC和用户的密码进行验证。请注意,如果您禁用此功能,您将无法使用密码访问令牌API端点。此外,这只禁止使用密码进行BASIC验证,而不是令牌或 基本的OAuth
ENABLE_REVERSE_PROXY_AUTHENTICATION: false: 启用此功能可以进行反向代理认证。
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION: false: 启用此功能,允许自动注册以进行反向认证。
ENABLE_REVERSE_PROXY_EMAIL: false: 启用此功能,允许使用提供的电子邮件自动注册,而不是生成的电子邮件。
ENABLE_CAPTCHA: false: 启用此功能可以使用验证码验证注册。
REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA: false: 启用这个功能可以强制验证验证码,即使是外部账户(如GitHub、OpenID Connect等)。你必须同时启用_CAPTCHA。
CAPTCHA_TYPE: image: [image, recaptcha]
RECAPTCHA_SECRET: ””: Go to https://www.google.com/recaptcha/admin 获取秘钥
RECAPTCHA_SITEKEY: ””: Go to https://www.google.com/recaptcha/admin 获取sitekey
RECAPTCHA_URL: https://www.google.com/recaptcha/: 设置recaptcha的网址–允许使用recaptcha网络。
DEFAULT_ENABLE_DEPENDENCIES: true: 启用此功能,默认情况下会启用依赖关系。
ALLOW_CROSS_REPOSITORY_DEPENDENCIES : true 启用此功能,允许依赖从任何用户被授权访问的仓库中的Issues
ENABLE_USER_HEATMAP: true: 启用此功能可以在用户配置文件中显示热图。
EMAIL_DOMAIN_WHITELIST: <empty>: 如果非空,域名列表中的邮件地址只能用于注册。
SHOW_REGISTRATION_BUTTON:! =DISABLE_REGISTRATION:显示注册按钮
SHOW_MILESTONES_DASHBOARD_PAGE: true: 开启以显示里程碑统计页面- 用户所有的里程碑的视图
AUTO_WATCH_NEW_REPOS: true: 启用以允许所有组织用户当仓库创建的时候自动关注
AUTO_WATCH_ON_CHANGES: false: 开启的时候,当用户第一次提交到仓库的时候,自动关注
DEFAULT_ORG_VISIBILITY: public: 设置组织的可视模式,可选 “public”, “limited” or “private”.
DEFAULT_ORG_MEMBER_VISIBLE: false:启动的话,当用户加入组织,可以看到其他人。
ALLOW_ONLY_EXTERNAL_REGISTRATION: false :启用的话,强制只能容第三方服务注册
NO_REPLY_ADDRESS: DOMAIN 如果用户将KeepEmailPrivate设置为true,那么在git日志中的邮箱地址的域部分的默认值。用户的电子邮件地址将被替换为小写的用户名、"@“和NO_REPLY_ADDRESS的组合。

Webhook (webhook)
QUEUE_LENGTH: 1000: 钩子任务队列长度。编辑此值时请谨慎使用。
DELIVER_TIMEOUT: 5: 递送超时(秒),当调用钩子时。
SKIP_TLS_VERIFY: false: 允许不安全的认证。
PAGING_NUM: 10: 在一个页面中显示的web 钩子历史事件的数量。
PROXY_URL: : 代理服务器的URL,支持http://,https///,socks://,空的会按照环境http_proxy/https_proxy的环境来设置。
PROXY_HOSTS: ```*: 需要代理的主机名称的逗号分隔列表。接受Glob模式();使用`来匹配所有主机。

Mailer (mailer)
ENABLED: false: 启用使用邮件服务。
DISABLE_HELO: <empty>: 禁止HELO操作。
HELO_HOSTNAME: <empty>: 自定义主机名,用于HELO操作。
HOST: <empty>: SMTP邮件主机地址和端口(例如:smtp.gitea.io:587)。
FROM: <empty>: 邮件来自地址,RFC 5322。这可以只是一个电子邮件地址,也可以是 “姓名 “[email protected] 格式。
USER: <empty>: 邮件用户的用户名(通常是发件人的电子邮件地址)。
PASSWD: <empty>: 邮件用户的密码。如果您在密码中使用特殊字符,请使用``。
SKIP_VERIFY: <empty>: 不要验证自签的证书。
Note: Gitea只支持STARTTLS的SMTP。
SUBJECT_PREFIX: <empty>: 前缀要放在电子邮件主题行之前。
MAILER_TYPE: smtp: [smtp, sendmail, dummy]
*smtp* 使用SMTP发送邮件
*sendmail* 使用操作系统的sendmail命令来代替SMTP。这在linux系统中很常见。
*dummy* 将电子邮件发送至日志中作为测试阶段。
請注意,除了ENABLED, FROM, SUBJECT_PREFIX和SENDMAIL_PATH之外,启用sendmail会忽略所有其他的邮件设置。
除了ENABLED、SUBJECT_PREFIX和FROM之外,启用dummy将忽略所有的设置。
SENDMAIL_PATH: sendmail: sendmail在操作提供上的路径(可以是命令或者是全路径)
IS_TLS_ENABLED : false : SMTP是否使用TLS

Cache (cache)
ENABLED: true: 开启缓存
ADAPTER: memory: 缓存引擎适配器,可以是memory,redis,或者memcache
INTERVAL: 60: 垃圾收集间隔(秒),仅用于memory
HOST: <empty>: 连接redis或者memcache的字符串
Redis: network=tcp,addr=127.0.0.1:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
Memcache: 127.0.0.1:9090;127.0.0.1:9091
ITEM_TTL: 16h: 当数据不使用后在缓存中保存的时间,设置为0禁止缓存

Cache - LastCommitCache settings (cache.last_commit)
ENABLED: true: 开启缓存
ITEM_TTL: 8760h: 当数据不使用后在缓存中保存的时间,设置为0禁止缓存
COMMITS_COUNT: 1000: 仅当仓库提交数大于此值的时候使用缓存

Session (session)
PROVIDER: memory: session引擎提供【memory, file, redis, mysql, couchbase, memcache, nodb, postgres】
PROVIDER_CONFIG: data/sessions: 对于文件来说,是根路径。对其他来说,是连接字符串
COOKIE_SECURE: false: 开启后强制使用https
COOKIE_NAME: i_like_gitea: cookie存储session id 的名字
GC_INTERVAL_TIME: 86400: 垃圾回收间隔-秒

Picture (picture)
GRAVATAR_SOURCE: gravatar: 可以是gravatar, duoshuo 或者其他类似 http://cn.gravatar.com/avatar/.
DISABLE_GRAVATAR: false: 启用以使用本地头像
ENABLE_FEDERATED_AVATAR: false: 启用以支持federated avatars (see http://www.libravatar.org).
AVATAR_UPLOAD_PATH: data/avatars: 保存用户头像图片文件的地址
REPOSITORY_AVATAR_UPLOAD_PATH:data/repo-avatars: 存储仓库头像图片的地址
REPOSITORY_AVATAR_FALLBACK: none: 仓库头像丢失后的处理办法
none = 不显示头像
random = 创建随机头像
image = 使用默认图片 (由REPOSITORY_AVATAR_DEFAULT_IMAGE设置)
REPOSITORY_AVATAR_FALLBACK_IMAGE: /img/repo_default.png: 仓库默认头像 (如果REPOSITORY_AVATAR_FALLBACK设置为图片,但是没有文件上传)
AVATAR_MAX_WIDTH: 4096: 头像最大宽度
AVATAR_MAX_HEIGHT: 3072: 头像最大高度
AVATAR_MAX_FILE_SIZE: 1048576 (1Mb): 头像文件的最大大小

Attachment (attachment)
ENABLED: true: 允许上传附件
PATH: data/attachments: 存储附件的路径
ALLOWED_TYPES: see app.ini.sample: 允许的MIME类型, 如 image/jpeg|image/png. Use / for all types.
MAX_SIZE: 4: 最大的文件大小.
MAX_FILES: 5: 单次最大上传文件数

Log (log)
ROOT_PATH: <empty>: 日志文件的根路径
MODE: console: 日志模式,可以有多种,使用逗号分隔,可以单独设置每种日志模式[log.modename]。容忍的文件模式路径为
LEVEL: Info: 日志级别 [Trace, Debug, Info, Warn, Error, Critical, Fatal, None]
STACKTRACE_LEVEL: None: 用于记录创建堆栈跟踪的默认日志级别 [Trace, Debug, Info, Warn, Error, Critical, Fatal, None]
REDIRECT_MACARON_LOG: false: 将Macaron日志重定向到它自己的日志记录器或默认日志记录器
MACARON: file: macaron日志记录器的模式, 使用逗号来进行分隔. 每个模式的设置可以在子设置里设置 [log.modename.macaron]. 默认文件模式记录到$ROOT_PATH/macaron.log. (如果你这么设置,它将会记录到默认的gitea日志记录器)
ROUTER_LOG_LEVEL: Info: 路由使用的日志级别 (如果您正在设置访问日志,建议将其设置为Debug.)
ROUTER: console: 路由器应该使用的日志的模式或名称。 (如果你这么设置,它将会记录到默认的gitea日志记录器) 注意:必须重定向t_macaron_log并将DISABLE_ROUTER_LOG设置为false才能使此选项生效。
在每个模式下配置每个模式日志子部分[log.modename.router]。
ENABLE_ACCESS_LOG: false: 以NCSA公共日志格式创建access.log,或按照以下模板创建
ACCESS: file: 对于访问日志记录器,使用逗号分隔值。在每个模式中配置每个模式日志子部分[log.modename.access]。默认情况下,文件模式将记录到$ROOT_PATH/access.log。(如果将其设置为,它将登录到默认的gitea日志记录器。)
ACCESS_LOG_TEMPLATE: {{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}": 设置用于创建访问日志的模板。
以下值可用:
Ctx: macaron的请求的上下文context。
Identity:登录用户名, 如果未登录,则为”-"。
Start: 请求开始时间
ResponseWriter: 请求的responseWriter
您必须非常小心地确保该模板在panic/recovery脚本之外运行时不会抛出错误或引发恐慌。
ENABLE_XORM_LOG: true: 设置是否执行XORM日志记录。请注意,可以通过在[database]部分将LOG_SQL设置为false来禁用SQL语句日志记录。

Log subsections (log.name, log.name.*)
LEVEL: log.LEVEL: 设置子日志记录器的级别,默认为全局的日志级别
STACKTRACE_LEVEL: log.STACKTRACE_LEVEL: Sets the log level at which to log stack traces.
MODE: name: 设置此子记录器的模式——默认为提供的子程序名。这允许您在不同的级别拥有两个不同的文件日志记录器。
EXPRESSION: ””: 匹配函数名、文件或消息的正则表达式。默认为空。只有与表达式匹配的日志消息才会保存在日志记录器中。
FLAGS: stdflags: 一个逗号分隔的字符串,代表日志标志。默认为 stdflags,表示前缀: 2009/01/23 01:23:23:23 …a/b/c/c/d.go:23:runtime.Caller() [I]: message.none 表示不给日志行加前缀。更多信息请参见modules/log/base.go。
PREFIX: ””: 该记录仪中每条记录行的附加前缀。默认为空。
COLORIZE: false: 默认情况下,对日志行进行着色

Console log mode (log.console, log.console.*, or MODE=console)
对于控制台记录器COLORIZE将默认为true,如果不在windows上,或者终端被确定为能够着色,那么COLORIZE将默认为true。
STDERR: false: 是否用 Stderr 来代替 Stdout。

File log mode (log.file, log.file.* or MODE=file)
FILE_NAME: 设置此记录仪的文件名。默认值如上所述。如果是相对的,将相对于ROOT_PATH
LOG_ROTATE: true: 分割日志文件。
MAX_SIZE_SHIFT: 28: 单个文件的最大大小偏移,28代表256Mb。
DAILY_ROTATE: true: 每天分割日志文件
MAX_DAYS: 7: n天后删除日志
COMPRESS: true: 默认使用gzip压缩旧的日志文件
COMPRESSION_LEVEL: -1: 压缩级别

Conn log mode (log.conn, log.conn.* or MODE=conn)
RECONNECT_ON_MSG: false: 每一条信息都重连主机
RECONNECT: false: 当连接失效时自动重连
PROTOCOL: tcp: 设置协议 ,可选 “tcp”, “unix” or “udp”.
ADDR: :7020: 设置连接地址.

SMTP log mode (log.smtp, log.smtp.* or MODE=smtp)
USER: 用户电子邮件名
PASSWD: smtp服务器密码
HOST: 127.0.0.1:25: 要连接的smtp服务器
RECEIVERS: 发送的电子邮件地址
SUBJECT: 标题

Cron (cron)
ENABLED: true: 运行定时任务
RUN_AT_START: false: 当服务启动时就运行定时任务

Cron - Cleanup old repository archives (cron.archive_cleanup)
ENABLED: true: 开启服务
RUN_AT_START: true: 服务启动时运行
SCHEDULE: @every 24h: 定时任务时刻表 如. @every 1h.
OLDER_THAN: 24h: Archives created more than OLDER_THAN ago are subject to deletion, e.g. 12h.

Cron - Update Mirrors (cron.update_mirrors)
SCHEDULE: @every 10m: 更新镜像定时任务 e.g. @every 3h.

Cron - Repository Health Check (cron.repo_health_check)
SCHEDULE: @every 24h: 仓库健康检查定时任务
TIMEOUT: 60s: 健康检查超时时间
ARGS: <empty>: git fsck的参数 如 –unreachable –tags. 详细见 http://git-scm.com/docs/git-fsck

Cron - Repository Statistics Check (cron.check_repo_stats)
RUN_AT_START: true: 开始时执行仓库数据检查
SCHEDULE: @every 24h: 仓库数据检查时刻表

Cron - Update Migration Poster ID (cron.update_migration_post_id)
SCHEDULE: @every 24h :Interval as a duration between each synchronization, it will always attempt synchronization when the instance starts.

Git (git)
PATH: ””: 可执行文件的路径,如果为空,gitea会搜索系统环境变量路径
MAX_GIT_DIFF_LINES: 100: 在对比(diff)视图中一个文件显示的最大行数
MAX_GIT_DIFF_LINE_CHARACTERS: 5000: 在diff视图中每行最大字符数
MAX_GIT_DIFF_FILES: 100: 在diff视图中最大文件数
GC_ARGS: <empty>: git gc的参数, 如 –aggressive –auto. 详细请查询 http://git-scm.com/docs/git-gc/
ENABLE_AUTO_GIT_WIRE_PROTOCOL: true: 如果使用git wire协议版本2,当git版本>=2.18时使用git wire协议版本2,默认为true,当你总是想要git wire协议版本1时设置为false
PULL_REQUEST_PUSH_MESSAGE: true: 响应推送到一个非默认分支的推送,并提供一个用于创建Pull Request的URL(如果版本库已启用的话)。
VERBOSE_PUSH: true: 在处理过程中打印推送的状态信息。
VERBOSE_PUSH_DELAY: 5s: 只有当推送的时间超过这个延迟时,才会打印出动词信息。

Git - Timeout settings (git.timeout)
DEFAUlT: 360: Git操作的默认超时秒数。
MIGRATE: 600: 迁移外部存储库的超时秒数。
MIRROR: 300: 镜像外部存储库的超时秒数。
CLONE: 300: 从内部仓库克隆的Git超时秒数。
PULL: q: Git从内部资源库中拉取的超时秒数。
GC: 60: Git 仓库的 GC 超时秒。

Metrics (metrics)
ENABLED: false: 为prometheus启用/metrics端点。
TOKEN: <empty>: 你需要指定令牌,如果你想在授权中包含度量衡器,你需要指定该令牌。 同样的令牌需要在prometheus参数bearing_token或bearing_token_file中使用。

API (api)
ENABLE_SWAGGER: true: 启用/api/swagger, /api/v1/swagger . True or false; 默认是true.
MAX_RESPONSE_ITEMS: 50: 一个页面中的最大项目数。
DEFAULT_PAGING_NUM: 30: API的默认分页数量。
DEFAULT_GIT_TREES_PER_PAGE: 1000: git tree API中每页的默认和最大项数。
DEFAULT_MAX_BLOB_SIZE: 10485760: blob API可以返回的默认最大blob大小。

OAuth2 (oauth2)
ENABLE: true: 启用OAuth2提供服务.
ACCESS_TOKEN_EXPIRATION_TIME: 3600: OAuth2访问令牌的寿命,单位:秒
REFRESH_TOKEN_EXPIRATION_TIME: 730: OAuth2刷新令牌的寿命,以小时为单位
INVALIDATE_REFRESH_TOKEN: false: 检查刷新令牌是否已被使用
JWT_SECRET: <empty>: OAuth2的认证秘密,用于访问和刷新令牌,将其改为唯一的字符串。

i18n (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,suomi,Türkçe,čeština,српски,svenska,한국어: 与地点对应的可见名称

i18n - Datepicker Language (i18n.datelang)
日期选择器插件使用的语言映射关系:

en-US: en
zh-CN: zh
zh-HK: zh-HK
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
U2F (U2F)
APP_ID: ROOT_URL: 声明应用程序的面。需要HTTPS。Declares the facet of the application. Requires HTTPS.
TRUSTED_FACETS: 列表中的附加面都是值得信赖的。并非所有浏览器都支持此功能。

Markup (markup)
Gitea可以使用外部工具支持Markup。下面的例子将添加一个名为 asciidoc 的标记。

[markup.asciidoc]
ENABLED = true
FILE_EXTENSIONS = .adoc,.asciidoc
RENDER_COMMAND "asciidoc --out-file=- -"
IS_INPUT_FILE false
ENABLED: false 启用标记支持;设置为 “true “以启用此渲染器。
FILE_EXTENSIONS: 应由外部命令渲染的文件扩展名列表。多个扩展名需要用逗号作为分割器。
RENDER_COMMAND: 外部命令来渲染所有匹配的扩展。
IS_INPUT_FILE: false 输入不是标准的输入,而是文件param后面的RENDER_COMMAND。
有两个特殊的环境变量被传递给渲染命令。- GITEA_PREFIX_SRC,它包含了当前src路径树中的URL前缀。要作为链接的前缀。- GITEA_PREFIX_RAW,它包含了当前原始路径树中的URL前缀。作为图像路径的前缀。

Gitea支持自定义渲染的HTML的清理策略。下面的例子将支持来自pandoc的KaTeX输出。

[markup.sanitizer]
; Pandoc用 “math “类将TeX段渲染成s,可选取
含有 “inline “或 “display “类,视上下文而定。
ELEMENT = span
ALLOW_ATTR = class
REGEXP = ^\s*((math(\s+|$)|inline(\s+|$)|display(\s+|$)))+
ELEMENT: 本政策适用的要素: 必须是非空的。
ALLOW_ATTR: 该策略允许的属性。必须是非空的。
REGEXP: 与该属性的内容相匹配的重构函数。必须存在,但对于该属性的无条件白名单化,可以是空的。
您可以多次重新定义ELEMENT、ALLOW_ATTR和REGEXP;每次定义这三者都是一个策略条目。

Time (time)
FORMAT: 时间显示格式. RFC1123 or 2006-01-02 15:04:05
DEFAULT_UI_LOCATION: UI上的默认的时区,这样我们就可以在UI上显示正确的用户时间。
即Shanghai/Asia

Task (task)
任务队列配置已被移至queue.task,但为了向下兼容,以下配置值被保留了下来x。
QUEUE_TYPE: channel: 任务队列类型,可以是通道或Redis。
QUEUE_LENGTH: 1000: 任务队列长度,只有当QUEUE_TYPE为通道时可用。
QUEUE_CONN_STR: addrs=127.0.0.1:6379 db=0: 任务队列连接字符串,只有当QUEUE_TYPE为redis时才可用。如果redis需要密码,请使用addrs=127.0.0.1:6379 password=123 db=0。

Migrations (migrations)
MAX_ATTEMPTS: 3: 迁移时每个http/https请求的最大尝试次数。
RETRY_BACKOFF: 3: 每重试一次http/https请求的退网时间(秒)。

Other (other)
SHOW_FOOTER_BRANDING: false: 在页脚显示Gitea品牌。
SHOW_FOOTER_VERSION: true: 在页脚显示Gitea版本信息。
SHOW_FOOTER_TEMPLATE_LOAD_TIME: true: 在页脚显示模板执行时间。
字节笔记本扫描二维码查看更多内容