跳到主要内容
版本:26.4.1

使用 Docker 安装(Install with Docker)

使用 Docker 部署 Gitea Enterprise,同时复用官方的容器工具链。

前置要求

  • Docker Engine 20.10+ 或某个 Kubernetes 发行版。

  • 可选:Docker Compose v2,用于声明式配置。

  • 根据预期用户规模选择推荐硬件配置:

    团队规模(约)内存CPU 核心数SSD 容量
    ~10 用户2-4 GB2-4 核50-100 GB
    ~100 用户4-8 GB4-8 核200-500 GB
    ~1000 用户16-32 GB8-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. 升级现有容器

  1. 停止正在运行的容器并备份数据卷。
  2. 将镜像引用更新为目标 Enterprise 标签。
  3. 重新启动容器。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 上安装