使用 Docker 安装(Install with Docker)
使用 Docker 部署 Gitea Enterprise,同时复用官方的容器工具链。
前置要求
-
Docker Engine 20.10+ 或某个 Kubernetes 发行版。
-
可选:Docker Compose v2,用于声明式配置。
-
根据预期用户规模选择推荐硬件配置:
团队规模(约) 内存 CPU 核心数 SSD 容量 ~10 用户 2-4 GB 2-4 核 50-100 GB ~100 用户 4-8 GB 4-8 核 200-500 GB ~1000 用户 16-32 GB 8-16 核 2-5 TB -
用于
/data的持久化卷,以及您所需的任何外部数据库。 -
Git 已内置于 Enterprise 镜像中,因此可以立即提供仓库服务。
-
(可选)用于启用高级功能的 Enterprise 许可证。参见许可证激活以申请试用,并在部署后上传许可证。
1. 选择镜像版本
Enterprise 镜像发布于 commitgo/gitea-ee。选择您要部署的标签(例如 24.6.0)。
IMAGE=commitgo/gitea-ee:24.6.0
2. 单主机容器
docker run -d \
--name gitea \
--restart always \
-p 3000:3000 \
-p 222:22 \
-v gitea-data:/data \
-e GITEA__server__DOMAIN=gitea.example.com \
-e GITEA__server__SSH_DOMAIN=gitea.example.com \
${IMAGE}
可以通过环境变量(GITEA__section__key=value)传入额外配置,或挂载 /data/gitea/conf/app.ini。
3. Docker Compose 示例
services:
db:
image: mariadb:11
restart: always
environment:
- MARIADB_ROOT_PASSWORD=change-me-now
- MARIADB_DATABASE=gitea
- MARIADB_USER=gitea
- MARIADB_PASSWORD=gitea-secret
volumes:
- gitea-mysql:/var/lib/mysql
gitea:
image: commitgo/gitea-ee:24.6.0
depends_on:
- db
restart: always
environment:
- GITEA__server__DOMAIN=gitea.example.com
- GITEA__server__SSH_PORT=222
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea-secret
volumes:
- gitea-data:/data
ports:
- "3000:3000"
- "222:22"
volumes:
gitea-data:
gitea-mysql:
保存为 docker-compose.yml,然后运行 docker compose up -d。请将密码替换为来自密钥库的机密信息,并在生产环境中固定 MariaDB 镜像标签。
PostgreSQL Compose 变体
如果您更倾向于使用 PostgreSQL,可以替换数据库服务:
services:
postgres:
image: postgres:16
restart: always
environment:
- POSTGRES_DB=gitea
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea-secret
volumes:
- gitea-postgres:/var/lib/postgresql/data
gitea:
image: commitgo/gitea-ee:24.6.0
depends_on:
- postgres
environment:
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=postgres:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea-secret
# ...其他变量与前面示例相同
volumes:
gitea-data:
gitea-postgres:
将特定环境的配置保存在 Compose 覆盖文件或密钥文件中,使凭据不进入源代码版本管理。
4. 升级现有容器
- 停止正在运行的容器并备份数据卷。
- 将镜像引用更新为目标 Enterprise 标签。
- 重新启动容器。Enterprise 二进制文件复用相同的入口点和
/data目录结构。
services:
gitea:
- image: commitgo/gitea-ee:24.5.0
+ image: commitgo/gitea-ee:24.6.0
容器重启后,按照许可证激活启用 Enterprise 功能。
5. 安装后配置
- 使用环境变量或在容器内编辑
/data/gitea/conf/app.ini,应用高级设置(身份验证提供商、邮件、仓库存储)。 - 完整的选项列表请参阅上游的 Configuration Cheat Sheet,修改后重启容器以使更改生效。
6. 维护建议
- 遵循上游的备份与更新建议。
- 在正式上线前,先在预发布环境中测试新标签。
- 升级后,重新查看许可证激活以确认 Enterprise 许可证状态。
- 当需要扩展至单个容器之外时,请根据您的可用性需求,为数据库、对象存储和负载均衡器规划额外的节点。
Gitea Enterprise 在各版本间使用相同的入口点,因此生态工具无需更改即可继续正常工作。有关 Kubernetes 的具体说明,请参阅在 Kubernetes 上安装。