需在宝塔面板启用Docker管理器后拉取gitea/gitea:latest镜像,创建映射3000和222端口、挂载/data与/log路径的容器,再配置Nginx反向代理至127.0.0.1:3000并添加X-Forwarded头,最后通过域名访问完成SQLite3初始化及SSH密钥验证。

如果您希望在宝塔面板环境中通过 Docker 快速搭建一个私有的代码托管平台,则需借助容器化技术绕过传统编译安装的复杂流程。以下是具体实施步骤:
一、确认宝塔面板已启用Docker管理器
宝塔面板需预先安装并启用 Docker 插件,否则无法直接管理容器服务。该插件提供图形化界面操作容器、镜像与网络,是后续部署的基础依赖。
1、登录宝塔面板后台,进入【软件商店】页面。
2、在搜索框中输入 Docker,查找名为“Docker管理器”的插件。
3、点击安装按钮,等待状态显示为“已安装”且服务运行中。
4、安装完成后,在左侧菜单栏确认出现【Docker】入口项。
二、拉取并运行Gitea官方Docker镜像
Gitea 是轻量级、可自托管的 Git 服务,兼容 GitHub 操作习惯,其官方镜像支持 ARM/x86 架构,适合在宝塔 Docker 管理器中一键部署。
1、进入【Docker】→【镜像管理】,点击【拉取镜像】。
2、在镜像名称栏输入 gitea/gitea:latest,点击拉取。
3、拉取完成后,进入【容器管理】→【创建容器】。
4、填写容器名称为 gitea-private,镜像选择刚拉取的 gitea/gitea:latest。
5、在端口映射中添加两条映射:3000:3000(Web 访问端口)、222:22(SSH 代码推送端口)。
6、在卷映射中添加两组路径映射:/www/wwwroot/gitea/data:/data 和 /www/wwwroot/gitea/log:/app/gitea/log,确保数据持久化。
7、勾选【自动重启】,点击【立即创建】启动容器。
三、配置Nginx反向代理以启用域名访问
直接通过服务器 IP 加端口访问 Gitea 不符合生产环境安全与可用性要求,需使用宝塔内置 Nginx 做反向代理,将域名请求转发至容器内 3000 端口。
1、在宝塔【网站】中添加新站点,绑定您的私有域名(如 git.example.com)。
2、进入该站点的【设置】→【反向代理】→【添加反向代理】。
3、代理名称填写 gitea-web,目标URL填写 http://127.0.0.1:3000。
4、提交后,点击【配置文件】,在 location / 块内手动追加以下两行:
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
四、初始化Gitea并完成首次配置
容器启动且反向代理生效后,首次访问域名将触发 Gitea 安装向导,需手动填写数据库及服务参数,所有配置将写入挂载的 /data 目录实现持久保存。
1、浏览器访问您绑定的域名(如 git.example.com),加载安装页面。
2、数据库设置中选择 SQLite3,路径填写 /data/gitea/gitea.db。
3、应用基本设置中,站点标题填写 我的私有代码库,仓库根目录填写 /data/gitea/repositories。
4、管理员账户设置中,输入邮箱、用户名与密码,邮箱必须真实有效(用于找回密码)。
5、点击【立即安装】,等待跳转至登录页。
五、启用SSH克隆并验证密钥对接
Gitea 默认启用 SSH 协议支持,但需确保宿主机的 SSH 端口未被占用,且容器映射的 222 端口已在服务器防火墙放行,方可实现 git clone git@git.example.com:user/repo.git 类型操作。
1、登录 Gitea 后台,进入【个人设置】→【SSH/GPG密钥】→【添加SSH密钥】。
2、将本地机器 ~/.ssh/id_rsa.pub 内容完整粘贴至文本框,标题可填 work-laptop。
3、返回任意仓库页面,点击【克隆】→【SSH】,复制类似 git@git.example.com:admin/test.git 的地址。
4、在本地终端执行 ssh -T git@git.example.com -p 222,确认输出包含 Hi there 提示信息。










