私有git服务器搭建——gitea
前言:Gitea 是一个开源社区驱动的轻量级代码托管解决方案,相比较gitlab更加轻量化,对于个人服务器压力也小。对于个人而言,gitea是更加友好的。中文网站:https://gitea.io/zh-cn/ 文档:https://docs.gitea.io/zh-cn/
记录一下使用docker搭建过程:
一、安装启动gitea
新建gitea文件夹
#切换到opt目录
cd /opt
#创建gitea文件夹
mkdir gitea
#切换到gitea目录
cd /opt/gitea
使用docker-compose安装
vim docker-compose.yaml
配置如下:我把3000端口改成8848,因为3000被其他容器占用:
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.18.5
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "8848:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql/data
启动gitea
docker-compose up -d
宝塔面板中docker管理器可以看见正常运行了
二、设置gitea
放行端口
访问之前,先将你的防火墙放行gitea端口 ,比如我需放行8848,如果设置反向代理则不需要放行。
设置Nginx反向代理
我这里使用是宝塔面板的反代,也可以使用更加方便的
设置站点,通配符记得添加解析,二级域名随便写:
创建反向代理
部署ssl证书
我这里使用的是encrypt颁发的 ,一般有效期一个季度,到时候自动续签就行:
访问gitea
配置修改
可以参考一下我的
设置管理员
添加仓库
成功访问:
创建一个仓库:
后续就不阐述了,命令行都有写:
三、设置ssh密钥
本机没有公钥的话,需要生成
#自己电脑ssh目录
cd ~/.ssh
#创建 一路回车
ssh-keygen -t rsa -C xyk126@foxmail.com
#查看公钥
cat id_rsa.pub
有的话,本地打开ssh文件夹
记事本打开,复制里面的密钥
添加ssh公钥
回到gitea网页管理界面,点击头像那边个人配置就能在导航条中找到SSH密钥:
这样就可以正常关联推送,但每次注意ssh推送需要密码,因为默认走服务器22端口,登录服务器则需要密码。
可以更改gitea容器中app.ini ssh port
路径:/opt/gitea/gitea/gitea/conf 这个文件夹中修改222
记得防火墙再开放222端口,不然ssh连接不到你的服务器;
再重新启动一下gitea容器即可:
这样ssh配置完成,就完成gitea私有的git服务器搭建了🎉