私有化部署 Gitea 仓库是一个常见的操作,适合在企业或团队内部搭建代码托管服务。下面是 Gitea 的私有化部署完整流程,包括基本安装、配置以及常见运维注意事项。
目录
🛠️ 一、部署环境准备
1. 系统要求
支持的系统:Linux(推荐)、macOS、Windows
必要依赖:
Git
数据库(MySQL / PostgreSQL / SQLite / MSSQL)
Web服务器(可选,如 Nginx)
2. 安装依赖(以 Ubuntu 为例)
sudo apt update
sudo apt install git sqlite3 -y
(如果使用 MySQL 或 PostgreSQL,请安装对应数据库)
🚀 二、安装 Gitea
方式 1:使用官方二进制(推荐)
# 创建运行用户
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
# 下载并安装 Gitea
wget -O gitea https://dl.gitea.io/gitea/latest/gitea-linux-amd64
chmod +x gitea
sudo mv gitea /usr/local/bin/gitea
🧱 三、初始化配置
1. 创建必要目录
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
2. 配置 systemd 服务
创建 /etc/systemd/system/gitea.service
:
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
[Service]
Restart=always
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
[Install]
WantedBy=multi-user.target
启动服务:
sudo systemctl daemon-reexec
sudo systemctl enable --now gitea
🌐 四、Web 初始化配置
访问 http://<服务器IP>:3000
,进行首次初始化:
数据库类型:SQLite / MySQL / PostgreSQL
应用设置:Gitea 根URL、仓库路径、管理员账户
服务设置:SSH端口、HTTP端口、邮件等
完成后会自动生成配置文件 /etc/gitea/app.ini
。
🔐 五、私有化设置建议
访问控制:设置注册权限为“仅管理员允许创建账号”
仓库默认权限:私有
配置反向代理(可选):使用 Nginx 监听 80/443 提供域名服务
HTTPS(推荐):使用 Let's Encrypt 或自签名证书
备份策略:定期备份
/var/lib/gitea/
和数据库数据
🌱 六、使用 Docker(可选)
Gitea 也支持 Docker 部署:
docker run -d --name=gitea \
-p 3000:3000 -p 222:22 \
-v /srv/gitea:/data \
gitea/gitea:latest
🧩 七、常见补充
管理界面:
http://<IP>:3000/admin
配置文件路径:
/etc/gitea/app.ini
数据存储路径:
/var/lib/gitea/