由于gitlab太重了,需要4G内存才能安装,在家里建代码库优先考虑轻量的方案gitea,gitea最早的历史源于gogs,由于开发人员意见分歧,部分人员独立创建了gitea。
orangepi上常见的安装方式为docker/直接部署
参考
https://docs.gitea.io/en-us/install-with-docker/
https://github.com/strobh/docker-rpi-gitea
https://hub.docker.com/r/patrickthedev/gitea-rpi
docker安装有个缺点,宿主机的22端口需要做修改,因为gitea需要占用22端口
这里还是推荐宿主机直接安装
安装sqlite数据库
sudo apt update
sudo apt install sqlite3
#创建一个新的系统用户,将通过键入以下命令来运行Gitea应用程序:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
# 该命令将创建一个名为git的新用户和组,并将主目录设置为/home/git,输出将如下所示:
Adding system user `git' (UID 109) ...
Adding new group `git' (GID 116) ...
Adding new user `git' (UID 109) with group `git' ...
Creating home directory `/home/git' ..
先su root 切到root用户执行
下载
wget https://dl.gitea.com/gitea/1.19.0/gitea-1.19.0-linux-arm-6
#改名
mv gitea-1.19.0-linux-arm-6 gitea
#放到bin目录
cp gitea /usr/local/bin
#加可执行权限
chmod +x /usr/local/bin/gitea
创建目录结构
mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
chown git: /var/lib/gitea/{data,indexers,log}
chmod 750 /var/lib/gitea/{data,indexers,log}
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
开机自启
wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/
# 完成后,启用并启动Gitea服务:
systemctl daemon-reload
systemctl enable --now gitea
这里可能部分地方下载不下来,找个能下载的拷贝到/etc/systemd/system/目录后执行后续命令
访问,然后进行具体配置
http://YOUR_DOMAIN_IR_IP:3000
sd卡上的数据我们默认情况下认为存在丢失风险,所以我们需要手动备份,备份命令如下
su git
cd /usr/local/bin/
./gitea dump --config /etc/gitea/app.ini
sz gitea-dump-1680872771.zip
如果提示权限问题,执行如下命令
su root
chown -R git /usr/local/bin/
恢复参考官方文档:使用:备份与恢复 - Docs