gitea是轻量级自托管git平台,支持二进制、systemd和docker三种部署方式:先建git用户并下载二进制文件;再配systemd服务实现开机自启;或用docker容器化部署;最后通过web向导初始化并修改app.ini配置域名、url等参数。

如果您希望在Linux服务器上部署一个轻量级、自托管的Git代码托管平台,Gitea是一个资源占用低、安装灵活的选择。以下是基于主流Linux发行版安装Gitea的具体操作流程:
一、使用二进制方式安装Gitea
该方法适用于所有Linux发行版,无需编译,直接下载预编译二进制文件并配置运行,适合快速部署且对系统依赖最小。
1、创建专用用户以保障安全:sudo adduser --shell /bin/bash --gecos 'Gitea' --disabled-password --home /home/git git
2、切换至git用户并进入其主目录:sudo -u git -H bash -c "cd /home/git"
3、下载最新稳定版Gitea二进制文件(以v1.22.1为例):sudo -u git -H wget -O gitea https://dl.gitea.io/gitea/1.22.1/gitea-1.22.1-linux-amd64
4、赋予可执行权限:sudo -u git -H chmod +x gitea
5、创建必要目录结构:sudo -u git -H mkdir -p /home/git/{custom,data,log}
二、使用systemd托管Gitea服务
通过systemd管理Gitea进程可实现开机自启、日志集成与状态监控,是生产环境推荐的运行方式。
1、创建systemd服务文件:sudo tee /etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/home/git
ExecStart=/home/git/gitea web -c /home/git/custom/conf/app.ini
Restart=always
Environment=HOME=/home/git USER=git
[Install]
WantedBy=multi-user.target
EOF
2、重载systemd配置:sudo systemctl daemon-reload
3、启用并启动服务:sudo systemctl enable --now gitea
三、使用Docker快速部署Gitea
该方式将Gitea及其依赖封装于容器中,避免与宿主机环境冲突,特别适合测试或资源隔离要求高的场景。
1、确保Docker已安装并运行:sudo systemctl is-active docker
2、拉取官方Gitea镜像:sudo docker pull gitea/gitea:latest
3、创建持久化目录:sudo mkdir -p /var/lib/gitea/{custom,data,log}
4、运行Gitea容器(映射端口3000和22):sudo docker run -d --name=gitea -p 3000:3000 -p 2222:22 -v /var/lib/gitea:/data -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro --restart always gitea/gitea:latest
四、初始化Gitea配置文件
Gitea首次启动时会生成默认配置,但需手动调整数据库路径、域名、SSH端口等关键参数以适配实际环境。
1、确认Gitea已运行并访问http://服务器IP:3000/install完成Web向导配置
2、若使用SQLite(默认),确保/home/git/data/gitea.db所在分区有足够空间且git用户具有读写权限
3、编辑配置文件/home/git/custom/conf/app.ini,修改以下字段:DOMAIN = your-domain.com、ROOT_URL = https://your-domain.com/、SSH_PORT = 22
4、重启Gitea服务使配置生效:sudo systemctl restart gitea










