首页 公告 项目 RSS

迁移gitea的存储到minio

May 12, 2023 本文有 473 个字 需要花费 1 分钟阅读

简介

我的gitea其实就是我的docker registry,随着推送的镜像越来越多,gitea的packages数据也越来越大,所以考虑直接把packages中的数据全部迁移到minio中去,看了一下gitea是直接支持迁移的,cli代码如下

https://github.com/go-gitea/gitea/blob/release/v1.19/cmd/migrate_storage.go

顺便附上gitea的配置清单

https://docs.gitea.io/en-us/administration/config-cheat-sheet/

操作

看了下

目前在支持迁移的项目

  • attachments
  • avatars
  • repo-avatars
  • lfs
  • repo-archive
  • packages

因为gitea action刚开始出来,所以目前不支持迁移

  • actions_log

你可以使用下面命令去迁移你要迁移的项目

gitea migrate-storage -t <migrate_type> --minio-base-path <minio_bucket_path> --storage minio --minio-endpoint <minio_url> --minio-access-key-id <minio_key_id> --minio-secret-access-key <minio_key> --minio-bucket <minio_bucket> --minio-use-ssl true --minio-insecure-skip-verify true

我的话就所有能迁移的数据都迁移了,在迁移的过程中可能会出现一些问题,但是大部分都是可以解决的

迁移完成之后你要配置你的gitea后端存储为minio

[storage]
STORAGE_TYPE = minio
MINIO_ENDPOINT = xxx
MINIO_ACCESS_KEY_ID = xxx
MINIO_SECRET_ACCESS_KEY = xxx
MINIO_BUCKET = gitea
MINIO_USE_SSL = true
MINIO_INSECURE_SKIP_VERIFY = true

之后看了下,gitea支持使用redis作为缓存,那么顺便给gitea配置了redis缓存

[cache]                        
ENABLED = true
ADAPTER = redis
INTERVAL = 60                 
HOST = redis://:password@url:6379/4?pool_size=100&idle_timeout=180s
ITEM_TTL = 16h  

这里我配置了db4作为redis的缓存

然后又看了下gitea支持redis作为session的缓存,那么又顺便再配置下

[session]
PROVIDER = redis
PROVIDER_CONFIG = redis://:password@url:6379/4?pool_size=100&idle_timeout=180s
COOKIE_SECURE = true

欢迎关注我的博客www.bboy.app

Have Fun