05.Docker部署-Gitea(私有的Git仓库托管平台)
Gitea 是一个开源的、自托管的 Git 版本控制服务,类似于 GitHub 或 GitLab,但更轻量和易于部署。它允许用户在自己的服务器上创建和管理 Git 仓库,支持包括代码托管、项目管理、问题追踪等功能,适用于个人或团队开发使用。
Gitea 的特点:¶
- 轻量级:Gitea 是一个轻量级的 Git 服务器,比起 GitLab 或 GitHub 更节省资源,适合资源有限的环境或自托管服务器。
- 自托管:用户可以将 Gitea 部署在自己的服务器上,完全控制数据和访问权限。
- 简单安装:Gitea 的安装和配置非常简单,无论是通过二进制文件、Docker 还是源代码,都可以轻松部署。
- Git 兼容性:支持标准的 Git 操作,可以与 Git 客户端无缝集成。
- Web 界面:Gitea 提供了一个直观的 Web 界面,用户可以通过浏览器管理 Git 仓库、查看提交历史、创建分支、发起合并请求等。
- 问题追踪:可以为项目创建和跟踪问题(issues)。
- 代码评审:支持合并请求(pull requests)和代码评审功能,促进团队协作。
- 组织与团队管理:支持组织管理,允许创建团队并为团队成员分配访问权限。
- Webhooks:支持集成其他服务,通过 Webhooks 实现自动化操作。
- 集成 CI/CD:虽然 Gitea 本身不提供 CI/CD 功能,但它支持与外部 CI/CD 工具(如 Jenkins)集成。
- 通知系统:可以通过邮件或 Webhook 接收事件通知,保持团队成员对项目进展的了解。
Docker-Compose¶
version: "3"
services:
server:
image: gitea/gitea:latest
container_name: gitea
# 创建前,先用sudo useradd git 新增一个名为git的账户,不然运行不成功
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
deploy:
resources:
limits:
memory: 400M # 设置最大内存 最少有400M以上,不如启动不成功,平时占用可能就200多M,安装的时候占用多
cpus: "0.5" # 限制容器使用 1 个 CPU 核心
reservations:
memory: 100M # 设置预留内存
cpus: "0.5" # 设置 CPU 预留(预留 0.5 个 CPU 核心
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "10022:22"
networks:
- web_net
networks:
web_net:
external: true
Nginx 反向代理实现类似 GitHub Pages 的静态网页托管功能¶
待写