mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add default storage configurations (#12813)
Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
		@@ -220,16 +220,6 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
 | 
			
		||||
- `LANDING_PAGE`: **home**: Landing page for unauthenticated users \[home, explore, organizations, login\].
 | 
			
		||||
 | 
			
		||||
- `LFS_START_SERVER`: **false**: Enables git-lfs support.
 | 
			
		||||
- `LFS_STORE_TYPE`: **local**: Storage type for lfs, `local` for local disk or `minio` for s3 compatible object storage service.
 | 
			
		||||
- `LFS_SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
 | 
			
		||||
- `LFS_CONTENT_PATH`: **./data/lfs**: Where to store LFS files, only available when `LFS_STORE_TYPE` is `local`.
 | 
			
		||||
- `LFS_MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when `LFS_STORE_TYPE` is `minio`
 | 
			
		||||
- `LFS_MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when `LFS_STORE_TYPE` is `minio`
 | 
			
		||||
- `LFS_MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when `LFS_STORE_TYPE is` `minio`
 | 
			
		||||
- `LFS_MINIO_BUCKET`: **gitea**: Minio bucket to store the lfs only available when `LFS_STORE_TYPE` is `minio`
 | 
			
		||||
- `LFS_MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when `LFS_STORE_TYPE` is `minio`
 | 
			
		||||
- `LFS_MINIO_BASE_PATH`: **lfs/**: Minio base path on the bucket only available when `LFS_STORE_TYPE` is `minio`
 | 
			
		||||
- `LFS_MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `LFS_STORE_TYPE` is `minio`
 | 
			
		||||
- `LFS_JWT_SECRET`: **\<empty\>**: LFS authentication secret, change this a unique string.
 | 
			
		||||
- `LFS_HTTP_AUTH_EXPIRY`: **20m**: LFS authentication validity period in time.Duration, pushes taking longer than this may fail.
 | 
			
		||||
- `LFS_MAX_FILE_SIZE`: **0**: Maximum allowed LFS file size in bytes (Set to 0 for no limit).
 | 
			
		||||
@@ -501,16 +491,16 @@ relation to port exhaustion.
 | 
			
		||||
   Use `*/*` for all types.
 | 
			
		||||
- `MAX_SIZE`: **4**: Maximum size (MB).
 | 
			
		||||
- `MAX_FILES`: **5**: Maximum number of attachments that can be uploaded at once.
 | 
			
		||||
- `STORE_TYPE`: **local**: Storage type for attachments, `local` for local disk or `minio` for s3 compatible object storage service, default is `local`.
 | 
			
		||||
- `STORAGE_TYPE`: **local**: Storage type for attachments, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]`
 | 
			
		||||
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
 | 
			
		||||
- `PATH`: **data/attachments**: Path to store attachments only available when STORE_TYPE is `local`
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when STORE_TYPE is `minio`
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when STORE_TYPE is `minio`
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when STORE_TYPE is `minio`
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the attachments only available when STORE_TYPE is `minio`
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when STORE_TYPE is `minio`
 | 
			
		||||
- `MINIO_BASE_PATH`: **attachments/**: Minio base path on the bucket only available when STORE_TYPE is `minio`
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when STORE_TYPE is `minio`
 | 
			
		||||
- `PATH`: **data/attachments**: Path to store attachments only available when STORAGE_TYPE is `local`
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the attachments only available when STORAGE_TYPE is `minio`
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when STORAGE_TYPE is `minio`
 | 
			
		||||
- `MINIO_BASE_PATH`: **attachments/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio`
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when STORAGE_TYPE is `minio`
 | 
			
		||||
 | 
			
		||||
## Log (`log`)
 | 
			
		||||
 | 
			
		||||
@@ -714,6 +704,56 @@ Task queue configuration has been moved to `queue.task`. However, the below conf
 | 
			
		||||
- `MAX_ATTEMPTS`: **3**: Max attempts per http/https request on migrations.
 | 
			
		||||
- `RETRY_BACKOFF`: **3**: Backoff time per http/https request retry (seconds)
 | 
			
		||||
 | 
			
		||||
## LFS (`lfs`)
 | 
			
		||||
 | 
			
		||||
Storage configuration for lfs data. It will be derived from default `[storage]` or
 | 
			
		||||
`[storage.xxx]` when set `STORAGE_TYPE` to `xxx`. When derived, the default of `PATH` 
 | 
			
		||||
is `data/lfs` and the default of `MINIO_BASE_PATH` is `lfs/`.
 | 
			
		||||
 | 
			
		||||
- `STORAGE_TYPE`: **local**: Storage type for lfs, `local` for local disk or `minio` for s3 compatible object storage service or other name defined with `[storage.xxx]`
 | 
			
		||||
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
 | 
			
		||||
- `CONTENT_PATH`: **./data/lfs**: Where to store LFS files, only available when `STORAGE_TYPE` is `local`.
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when `STORAGE_TYPE is` `minio`
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the lfs only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_BASE_PATH`: **lfs/**: Minio base path on the bucket only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
 | 
			
		||||
## Storage (`storage`)
 | 
			
		||||
 | 
			
		||||
Default storage configuration for attachments, lfs, avatars and etc.
 | 
			
		||||
 | 
			
		||||
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when `STORAGE_TYPE is` `minio`
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the data only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio`
 | 
			
		||||
 | 
			
		||||
And you can also define a customize storage like below:
 | 
			
		||||
 | 
			
		||||
```ini
 | 
			
		||||
[storage.my_minio]
 | 
			
		||||
STORAGE_TYPE = minio
 | 
			
		||||
; Minio endpoint to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_ENDPOINT = localhost:9000
 | 
			
		||||
; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_ACCESS_KEY_ID =
 | 
			
		||||
; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_SECRET_ACCESS_KEY =
 | 
			
		||||
; Minio bucket to store the attachments only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_BUCKET = gitea
 | 
			
		||||
; Minio location to create bucket only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_LOCATION = us-east-1
 | 
			
		||||
; Minio enabled ssl only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_USE_SSL = false
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
And used by `[attachment]`, `[lfs]` and etc. as `STORAGE_TYPE`.
 | 
			
		||||
 | 
			
		||||
## Other (`other`)
 | 
			
		||||
 | 
			
		||||
- `SHOW_FOOTER_BRANDING`: **false**: Show Gitea branding in the footer.
 | 
			
		||||
 
 | 
			
		||||
@@ -72,16 +72,6 @@ menu:
 | 
			
		||||
- `LANDING_PAGE`: 未登录用户的默认页面,可选 `home` 或 `explore`。
 | 
			
		||||
 | 
			
		||||
- `LFS_START_SERVER`: 是否启用 git-lfs 支持. 可以为 `true` 或 `false`, 默认是 `false`。
 | 
			
		||||
- `LFS_STORE_TYPE`: **local**: LFS 的存储类型,`local` 将存储到磁盘,`minio` 将存储到 s3 兼容的对象服务。
 | 
			
		||||
- `LFS_SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 Minio/S3 是支持的。
 | 
			
		||||
- `LFS_CONTENT_PATH`: 存放 lfs 命令上传的文件的地方,默认是 `data/lfs`。
 | 
			
		||||
- `LFS_MINIO_ENDPOINT`: **localhost:9000**: Minio 地址,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_MINIO_ACCESS_KEY_ID`: Minio accessKeyID,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_MINIO_BUCKET`: **gitea**: Minio bucket,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_MINIO_LOCATION`: **us-east-1**: Minio location ,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_MINIO_BASE_PATH`: **lfs/**: Minio base path ,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_MINIO_USE_SSL`: **false**: Minio 是否启用 ssl ,仅当 `LFS_STORE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `LFS_JWT_SECRET`: LFS 认证密钥,改成自己的。
 | 
			
		||||
 | 
			
		||||
## Database (`database`)
 | 
			
		||||
@@ -198,15 +188,15 @@ menu:
 | 
			
		||||
- `ALLOWED_TYPES`: 允许上传的附件类型。比如:`image/jpeg|image/png`,用 `*/*` 表示允许任何类型。
 | 
			
		||||
- `MAX_SIZE`: 附件最大限制,单位 MB,比如: `4`。
 | 
			
		||||
- `MAX_FILES`: 一次最多上传的附件数量,比如: `5`。
 | 
			
		||||
- `STORE_TYPE`: **local**: 附件存储类型,`local` 将存储到本地文件夹, `minio` 将存储到 s3 兼容的对象存储服务中。
 | 
			
		||||
- `PATH`: **data/attachments**: 附件存储路径,仅当 `STORE_TYPE` 为 `local` 时有效。
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio 终端,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID ,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the attachments,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_BASE_PATH`: **attachments/**: Minio base path on the bucket,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl,仅当 `STORE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `STORAGE_TYPE`: **local**: 附件存储类型,`local` 将存储到本地文件夹, `minio` 将存储到 s3 兼容的对象存储服务中。
 | 
			
		||||
- `PATH`: **data/attachments**: 附件存储路径,仅当 `STORAGE_TYPE` 为 `local` 时有效。
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio 终端,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID ,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the attachments,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_BASE_PATH`: **attachments/**: Minio base path on the bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
 | 
			
		||||
关于 `ALLOWED_TYPES`, 在 (*)unix 系统中可以使用`file -I <filename>` 来快速获得对应的 `MIME type`。
 | 
			
		||||
 | 
			
		||||
@@ -310,6 +300,55 @@ IS_INPUT_FILE = false
 | 
			
		||||
- `MAX_ATTEMPTS`: **3**: 在迁移过程中的 http/https 请求重试次数。
 | 
			
		||||
- `RETRY_BACKOFF`: **3**: 等待下一次重试的时间,单位秒。
 | 
			
		||||
 | 
			
		||||
## LFS (`lfs`)
 | 
			
		||||
 | 
			
		||||
LFS 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配置将从 `[storage]` 继承。如果不为 `local` 或者 `minio` 而为 `xxx`, 则从 `[storage.xxx]` 继承。当继承时, `PATH` 默认为 `data/lfs`,`MINIO_BASE_PATH` 默认为 `lfs/`。
 | 
			
		||||
 | 
			
		||||
- `STORAGE_TYPE`: **local**: LFS 的存储类型,`local` 将存储到磁盘,`minio` 将存储到 s3 兼容的对象服务。
 | 
			
		||||
- `SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 Minio/S3 是支持的。
 | 
			
		||||
- `CONTENT_PATH`: 存放 lfs 命令上传的文件的地方,默认是 `data/lfs`。
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio 地址,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location ,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `MINIO_BASE_PATH`: **lfs/**: Minio base path ,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio 是否启用 ssl ,仅当 `LFS_STORAGE_TYPE` 为 `minio` 时有效。
 | 
			
		||||
 | 
			
		||||
## Storage (`storage`)
 | 
			
		||||
 | 
			
		||||
Attachments, lfs, avatars and etc 的默认存储配置。
 | 
			
		||||
 | 
			
		||||
- `STORAGE_TYPE`: **local**: 附件存储类型,`local` 将存储到本地文件夹, `minio` 将存储到 s3 兼容的对象存储服务中。
 | 
			
		||||
- `SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 Minio/S3 是支持的。
 | 
			
		||||
- `MINIO_ENDPOINT`: **localhost:9000**: Minio 终端,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID ,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the attachments,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
- `MINIO_USE_SSL`: **false**: Minio enabled ssl,仅当 `STORAGE_TYPE` 是 `minio` 时有效。
 | 
			
		||||
 | 
			
		||||
你也可以自定义一个存储的名字如下:
 | 
			
		||||
 | 
			
		||||
```ini
 | 
			
		||||
[storage.my_minio]
 | 
			
		||||
STORAGE_TYPE = minio
 | 
			
		||||
; Minio endpoint to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_ENDPOINT = localhost:9000
 | 
			
		||||
; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_ACCESS_KEY_ID =
 | 
			
		||||
; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_SECRET_ACCESS_KEY =
 | 
			
		||||
; Minio bucket to store the attachments only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_BUCKET = gitea
 | 
			
		||||
; Minio location to create bucket only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_LOCATION = us-east-1
 | 
			
		||||
; Minio enabled ssl only available when STORAGE_TYPE is `minio`
 | 
			
		||||
MINIO_USE_SSL = false
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
然后你在 `[attachment]`, `[lfs]` 等中可以把这个名字用作 `STORAGE_TYPE` 的值。
 | 
			
		||||
 | 
			
		||||
## Other (`other`)
 | 
			
		||||
 | 
			
		||||
- `SHOW_FOOTER_BRANDING`: 为真则在页面底部显示Gitea的字样。
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user