Devops

Configure Gitea Actions Cache Port and UFW Rules

问题背景

Gitea Actions 默认使用动态端口启动 runner cache 服务,每次重启后端口会变化,导致防火墙规则难以固定。本文介绍如何固定缓存端口并配置 UFW 规则。

固定 Cache Port

编辑 Gitea 配置文件 custom/app.ini

[actions]
CACHE_PORT = 30001

重启 Gitea 后生效。

使用官方 Registry v2 搭建 Docker Mirror 私有镜像仓库

在国内网络环境下,直接从 Docker Hub 拉取镜像经常遇到超时或被限流的问题。搭建一个本地 Docker Mirror 代理仓库可以有效解决这个痛点。本文介绍如何使用官方 Registry v2 搭建私有镜像代理仓库。

为什么要搭 Docker Mirror

1. Docker Hub 公网限速

Docker Hub 对匿名用户的拉取限速为 100 次/6 小时,免费账户为 200 次/6 小时。在 CI/CD 流水线或多人团队环境下,这个限额很容易触达。通过自建 Mirror 代理,所有节点的拉取请求汇聚到 Mirror 节点,Mirror 对上游只产生一次请求,有效规避限额。

2. 缓存加速 Build

在 CI/CD 构建中,每次 docker build 都需要拉取基础镜像。即使代码没有变化,基础镜像也会被反复从公网拉取,浪费时间。Mirror 缓存了基础镜像后:

  • 首次构建:从上游拉取并缓存
  • 后续构建:直接从 Mirror 拉取,速度提升 5-10 倍
  • 多节点并行构建:共享同一个 Mirror,只消耗一次外网流量