
giteacharts/giteaGitea是一款开源轻量级自托管一体化软件开发服务,旨在提供简单易用的Git服务及全流程开发工具集成。通过Docker镜像,用户可快速部署运行Gitea,无需复杂环境配置,适用于个人开发者、中小型团队或企业内部,满足从代码托管到持续集成的完整开发需求。
使用以下命令快速启动Gitea容器:
bashdocker run -d \ --name=gitea \ -p 3000:3000 \ # Web界面端口 -p 222:22 \ # SSH访问端口(用于Git SSH协议) -v /path/to/gitea/data:/data \ # 数据持久化目录 -e USER_UID=1000 \ # 运行用户UID(需与宿主机目录权限匹配) -e USER_GID=1000 \ # 运行用户GID(需与宿主机目录权限匹配) gitea/gitea:latest
创建docker-compose.yml文件实现更灵活配置:
yamlversion: '3' services: gitea: image: gitea/gitea:latest container_name: gitea restart: always ports: - "3000:3000" # Web访问端口 - "222:22" # SSH访问端口 volumes: - ./data:/data # 数据持久化目录 - /etc/timezone:/etc/timezone:ro # 时区同步 - /etc/localtime:/etc/localtime:ro # 时间同步 environment: - USER_UID=1000 - USER_GID=1000 - DB_TYPE=sqlite3 # 数据库类型(可选:mysql、postgres) - RUN_MODE=prod # 运行模式(prod:生产环境,dev:开发环境)
启动服务:
bashdocker-compose up -d
常用环境变量说明:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
USER_UID | 运行Gitea的用户UID | 1000 |
USER_GID | 运行Gitea的用户GID | 1000 |
DB_TYPE | 数据库类型(支持sqlite3、mysql、postgres) | sqlite3 |
DB_HOST | 数据库主机地址(非sqlite3时必填) | - |
DB_NAME | 数据库名称 | gitea |
DB_USER | 数据库用户名 | gitea |
DB_PASSWD | 数据库密码 | - |
RUN_MODE | 运行模式 | prod |
DOMAIN | 自定义域名 | localhost |
SSH_PORT | SSH服务端口 | 22 |
HTTP_PORT | HTTP服务端口 | 3000 |
ROOT_URL | 网站根URL | http://localhost:3000/ |
Gitea所有数据(仓库、数据库、配置、日志等)存储在/data目录,需通过卷挂载实现持久化:
bash# 宿主机目录挂载示例 mkdir -p /my/gitea/data docker run -d \ --name=gitea \ -p 3000:3000 \ -p 222:22 \ -v /my/gitea/data:/data \ gitea/gitea:latest
如需详细配置,可通过修改容器内/data/gitea/conf/app.ini文件实现,配置完成后重启容器:
bash# 进入容器修改配置 docker exec -it gitea /bin/bash vi /data/gitea/conf/app.ini # 重启容器使配置生效 docker restart gitea
更多配置选项可参考Gitea官方文档的配置章节。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务