gogs可以认为是轻型的gitlab,资源占用小,512M的小鸡就能流畅运行
安装gogs
https://packager.io/gh/gogs/gogs
选择系统版本,比如debian10 :
wget -qO- https://dl.packager.io/srv/gogs/gogs/key | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/gogs.list \
https://dl.packager.io/srv/gogs/gogs/master/installer/debian/10.repo
sudo apt-get update
sudo apt-get install gogs
上面说明提示用nginx和mysql,但是我这里是用caddy和mariaDB
安装db:mariaDB
apt install mariadb-server
配置db(注意替换密码和域名)
USE mysql;
CREATE USER 'gogs'@'localhost' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'gogs'@'localhost';
UPDATE user SET plugin='mysql_native_password' WHERE User='gogs';
FLUSH PRIVILEGES;
exit;
service mysql restart
nstall -y --force-yes mysql-server
mysql -uroot -p${MYSQL_PASSWORD} -e "create database if not exists gogs;"
安装 web server:caddy
caddy简单配置可自动获取 ATS 证书,需要暂时使用80 端口
curl https://getcaddy.com | bash -s personal
sudo mkdir /etc/caddy
sudo touch /etc/caddy/Caddyfile
sudo chown -R root:root /etc/caddy
sudo mkdir /etc/ssl/caddy
sudo chown -R root:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy
)
配置caddy 转发 ,和自动获取证书。
注意把example.com替换自己域名。
emacs /etc/caddy/Caddyfile
example.com
{
#gogs
#log ./caddy.log
tls tanpengcd@gmail.com #改成你自己的邮箱
proxy / localhost:6000 {
transparent
}
}
重启caddy
service caddy restart
service caddy status
防火墙(可选)和安全策略
开启80/443/22端口(根据需求)
这里以firewall-cmd 为例
systemctl enable firewalld
systemctl start firewalld
#firewalld的当前默认区域设置为drop
firewall-cmd --set-default-zone=drop
#添加端口
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=22/tcp
#重载服务,有的服务器会断开ssh
firewall-cmd --reload
# 查看端口
firewall-cmd --list-all
重新载入
firewall-cmd --reload
访问网页继续配置
http://${HOSTNAME}
安装完后会生成配置文件的。
配置文件的路径/opt/gogs/
,
具体自定义配置详情参考 https://gogs.io/docs/installation/configuration_and_run
几个注意点⚠️:
数据库用户和运行用户都填写gogs
数据库用户密码:这个改为上面设置的密码
域名:改为自己域名
SSH 端口号:默认为22,你如果不用ssh直接删除留空
HTTP 端口号:默认是6000端口不要改,因为前面已经把把端80/443 proxy到6000了。
应用 URL:改为如https://git.h6.work/,因为caddy已经开启tls了,所以用https。
遇到的问题
- 提示 数据库设置不正确:Error 1698: Access denied for user 'root'@'localhost'
https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost
参考资料
https://packager.io/gh/gogs/gogs/builds/49/install/debian-10
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-debian-10
gitlab
硬件要求(最低)
- 1 核心CPU最多支持100个用户
- 安装使用GitLab需要至少4GB可用内存(RAM + Swap)
- 1GB 物理内存 + 3GB 交换分区 是最低的要求
详情 https://docs.gitlab.com.cn/ce/install/requirements.html#part-6542a9e251e
配置内存 swap
http://blog.csdn.net/ithomer/article/details/53942718
安装
如需要设置 域名 需要 配置 /etc/gitlab/gitlab.rb
具体操作:
https://about.gitlab.com/downloads/