Gitea 是轻量自托管 Git 代码托管系统,对标 GitLab,内存占用小,支持代码仓库、Issue、PR、Wiki、CI Actions、团队权限管理,适合内网军工 / 项目团队部署使用。
Windows 本地搭建 Gitea
两种方案:Docker Desktop(推荐,简单)、Windows 二进制直接运行(不用 docker)。 环境:Win10/Win11。
用途:本地个人代码仓库、内网小组共享;不建议直接裸暴露公网。
方案 1:Docker Desktop 方式(推荐)
1 前置
- 安装 Docker Desktop for Windows,开启 WSL2 后端。
- 启动 Docker Desktop。
新建文件夹,例如D:\gitea,在里面新建docker-compose.yml
version: "3.8" services: gitea: image: gitea/gitea:1.22 container_name: gitea restart: always environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=Gitea@Win123 volumes: - ./data:/data ports: - "3000:3000" - "2222:22" depends_on: - db db: image: postgres:15-alpine container_name: gitea-pg restart: always environment: - POSTGRES_DB=gitea - POSTGRES_USER=gitea - POSTGRES_PASSWORD=Gitea@Win123 volumes: - ./pg_data:/var/lib/postgresql/dataPowerShell 进入D:\gitea
docker compose up -d等待容器启动完成,浏览器访问:http://127.0.0.1:3000
Web 初始化页面关键配置
- 数据库:PostgreSQL,主机填
db:5432,账号密码和 yml 保持一致 - 站点 URL:本地用
http://127.0.0.1:3000/;如果局域网其他电脑要访问,填本机局域网 IP,例如http://192.168.1.100:3000/ - 设置第一个管理员账号,不要留空
- SSH 端口容器内部 22,宿主机映射 2222,ssh 克隆地址带端口
git@127.0.0.1:2222:xxx/xxx.git点安装 Gitea。
局域网其他机器访问:Windows 防火墙放行 3000、2222 端口。
常用运维(PowerShell)
# 停止 docker compose down # 查看日志 docker logs gitea # 重置管理员密码 docker exec -it gitea gitea admin change-password --username admin --password New@123456 # 升级 docker compose pull docker compose up -d方案 2:Windows 二进制包(不装 Docker)
适合不想装 WSL/Docker 的场景。
- 去 Gitea 官网下载 Windows 版本二进制:
gitea‑1.22.x‑windows‑amd64.exe - 新建目录
D:\gitea_win,把 exe 放进去。 - 在这个目录打开 cmd/PowerShell,执行:
gitea-1.22.x-windows-amd64.exe web第一次运行自动生成目录结构、custom/conf/app.ini。 浏览器打开http://127.0.0.1:3000,进入安装页面。
数据库选项:本地玩可以选 SQLite;多人使用建议本地装 PostgreSQL。
做成 Windows 后台服务(开机自启)
以管理员打开 PowerShell
.\gitea-1.22.x-windows-amd64.exe install --service-name gitea之后在 Windows 服务里找到 gitea,设置自动启动。
停止服务:
sc stop gitea本地使用常见坑
- 局域网别的电脑打不开页面Windows 防火墙阻止,需要入站规则放行 3000/tcp、2222/tcp;站点 URL 必须填写本机局域网 IP,不能写 127.0.0.1。
- SSH 克隆带端口 2222
git clone ssh://git@192.168.1.100:2222/用户名/仓库名.git- 备份
- Docker 版:直接备份 D:\gitea 整个文件夹;数据库可导出:
docker exec gitea-pg pg_dump -U gitea gitea > gitea_back.sql- 二进制版:备份整个 gitea_win 目录。
- 关闭注册:登录管理员账号,管理面板 -> 站点管理,关闭用户注册,手动添加账号。
最小测试版 compose(SQLite,不需要 postgres,快速体验)
version: "3.8" services: gitea: image: gitea/gitea:1.22 container_name: gitea restart: always environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=sqlite3 - GITEA__database__PATH=/data/gitea.db volumes: - ./data:/data ports: - "3000:3000"SQLite 只适合个人少量使用,多人并发会卡顿。