diff --git a/doc/administration/config-cheat-sheet.en-us.md b/doc/administration/config-cheat-sheet.en-us.md index e3612f37..7b94c7a4 100644 --- a/doc/administration/config-cheat-sheet.en-us.md +++ b/doc/administration/config-cheat-sheet.en-us.md @@ -1254,8 +1254,9 @@ is `data/lfs` and the default of `MINIO_BASE_PATH` is `lfs/`. ## Storage (`storage`) -Default storage configuration for attachments, lfs, avatars and etc. +Default storage configuration for attachments, lfs, avatars, repo-avatars, repo-archive, packages, actions_log, actions_artifact. +- `STORAGE_TYPE`: **local**: Storage type, `local` for local disk or `minio` for s3 compatible object storage service. - `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` @@ -1265,9 +1266,56 @@ Default storage configuration for attachments, lfs, avatars and etc. - `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio` - `MINIO_INSECURE_SKIP_VERIFY`: **false**: Minio skip SSL verification available when STORAGE_TYPE is `minio` -And you can also define a customize storage like below: +The recommanded storage configuration for minio like below: ```ini +[storage] +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 +; Minio skip SSL verification available when STORAGE_TYPE is `minio` +MINIO_INSECURE_SKIP_VERIFY = false +SERVE_DIRECT = true +``` + +Defaultly every storage has their default base path like below + +| storage | default base path | +| ----------------- | ------------------ | +| attachments | attachments/ | +| lfs | lfs/ | +| avatars | avatars/ | +| repo-avatars | repo-avatars/ | +| repo-archive | repo-archive/ | +| packages | packages/ | +| actions_log | actions_log/ | +| actions_artifacts | actions_artifacts/ | + +And bucket, basepath or `SERVE_DIRECT` could be special or overrided, if you want to use a different you can: + +```ini +[storage.actions_log] +MINIO_BUCKET = gitea_actions_log +SERVE_DIRECT = true +MINIO_BASE_PATH = my_actions_log/ ; default is actions_log/ if blank +``` + +If you want to customerize a different storage for `lfs` if above default storage defined + +```ini +[lfs] +STORAGE_TYPE = my_minio + [storage.my_minio] STORAGE_TYPE = minio ; Minio endpoint to connect only available when STORAGE_TYPE is `minio` @@ -1286,8 +1334,6 @@ MINIO_USE_SSL = false MINIO_INSECURE_SKIP_VERIFY = false ``` -And used by `[attachment]`, `[lfs]` and etc. as `STORAGE_TYPE`. - ## Repository Archive Storage (`storage.repo-archive`) Configuration for repository archive storage. It will inherit from default `[storage]` or @@ -1306,6 +1352,11 @@ is `data/repo-archive` and the default of `MINIO_BASE_PATH` is `repo-archive/`. - `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio` - `MINIO_INSECURE_SKIP_VERIFY`: **false**: Minio skip SSL verification available when STORAGE_TYPE is `minio` +## Repository Archives (`repo-archive`) + +- `STORAGE_TYPE`: **local**: Storage type for actions logs, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]` +- `MINIO_BASE_PATH`: **repo-archive/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio` + ## Proxy (`proxy`) - `PROXY_ENABLED`: **false**: Enable the proxy if true, all requests to external via HTTP will be affected, if false, no proxy will be used even environment http_proxy/https_proxy @@ -1324,6 +1375,8 @@ PROXY_HOSTS = *.github.com - `ENABLED`: **false**: Enable/Disable actions capabilities - `DEFAULT_ACTIONS_URL`: **https://gitea.com**: Default address to get action plugins, e.g. the default value means downloading from "" for "uses: actions/checkout@v3" +- `STORAGE_TYPE`: **local**: Storage type for actions logs, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]` +- `MINIO_BASE_PATH`: **actions_log/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio` `DEFAULT_ACTIONS_URL` indicates where should we find the relative path action plugin. i.e. when use an action in a workflow file like diff --git a/doc/administration/config-cheat-sheet.zh-cn.md b/doc/administration/config-cheat-sheet.zh-cn.md index 233d252a..d0af323d 100644 --- a/doc/administration/config-cheat-sheet.zh-cn.md +++ b/doc/administration/config-cheat-sheet.zh-cn.md @@ -414,7 +414,7 @@ LFS 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配置将从 `[stora ## Storage (`storage`) -Attachments, lfs, avatars and etc 的默认存储配置。 +Attachments, lfs, avatars, repo-avatars, repo-archive, packages, actions_log, actions_artifact 的默认存储配置。 - `STORAGE_TYPE`: **local**: 附件存储类型,`local` 将存储到本地文件夹, `minio` 将存储到 s3 兼容的对象存储服务中。 - `SERVE_DIRECT`: **false**: 允许直接重定向到存储系统。当前,仅 Minio/S3 是支持的。 @@ -425,9 +425,59 @@ Attachments, lfs, avatars and etc 的默认存储配置。 - `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 - `MINIO_USE_SSL`: **false**: Minio enabled ssl,仅当 `STORAGE_TYPE` 是 `minio` 时有效。 -你也可以自定义一个存储的名字如下: +以下为推荐的 recommanded storage configuration for minio like below: ```ini +[storage] +STORAGE_TYPE = minio +; uncomment when STORAGE_TYPE = local +; PATH = storage root path +; 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 +; Minio skip SSL verification available when STORAGE_TYPE is `minio` +MINIO_INSECURE_SKIP_VERIFY = false +SERVE_DIRECT = true +``` + +默认的,每一个存储都会有各自默认的 BasePath 在同一个minio中,默认值如下: + +| storage | default base path | +| ----------------- | ------------------ | +| attachments | attachments/ | +| lfs | lfs/ | +| avatars | avatars/ | +| repo-avatars | repo-avatars/ | +| repo-archive | repo-archive/ | +| packages | packages/ | +| actions_log | actions_log/ | +| actions_artifacts | actions_artifacts/ | + +同时 bucket, basepath or `SERVE_DIRECT` 是可以被覆写的,像如下所示: + +```ini +[storage.actions_log] +MINIO_BUCKET = gitea_actions_log +SERVE_DIRECT = true +MINIO_BASE_PATH = my_actions_log/ ; default is actions_log/ if blank +``` + +当然你也可以完全自定义,像如下 + +```ini +[lfs] +STORAGE_TYPE = my_minio +MINIO_BASE_PATH = my_lfs_basepath + [storage.my_minio] STORAGE_TYPE = minio ; Minio endpoint to connect only available when STORAGE_TYPE is `minio` @@ -444,10 +494,9 @@ MINIO_LOCATION = us-east-1 MINIO_USE_SSL = false ; Minio skip SSL verification available when STORAGE_TYPE is `minio` MINIO_INSECURE_SKIP_VERIFY = false +SERVE_DIRECT = true ``` -然后你在 `[attachment]`, `[lfs]` 等中可以把这个名字用作 `STORAGE_TYPE` 的值。 - ## Repository Archive Storage (`storage.repo-archive`) Repository archive 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配置将从 `[storage]` 继承。如果不为 `local` 或者 `minio` 而为 `xxx`, 则从 `[storage.xxx]` 继承。当继承时, `PATH` 默认为 `data/repo-archive`,`MINIO_BASE_PATH` 默认为 `repo-archive/`。