私有git服务器搭建——gitea

私有git服务器搭建——gitea

Youkun 311 2023-02-19 2023-02-24

私有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管理器可以看见正常运行了

image-20230217101456198

二、设置gitea

放行端口

访问之前,先将你的防火墙放行gitea端口 ,比如我需放行8848,如果设置反向代理则不需要放行。

设置Nginx反向代理

我这里使用是宝塔面板的反代,也可以使用更加方便的

设置站点,通配符记得添加解析,二级域名随便写:

image-20230217110314821创建反向代理

部署ssl证书

我这里使用的是encrypt颁发的 ,一般有效期一个季度,到时候自动续签就行:

访问gitea

image-20230217110610261

配置修改

可以参考一下我的

image-20230218223451656

设置管理员

image-20230217111125489

添加仓库

成功访问:

image-20230218223820497创建一个仓库:

image-20230218224158709后续就不阐述了,命令行都有写:

image-20230218225521354

三、设置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

image-20230219145013806

记得防火墙再开放222端口,不然ssh连接不到你的服务器;

再重新启动一下gitea容器即可:

image-20230224144940398


这样ssh配置完成,就完成gitea私有的git服务器搭建了🎉