使用docker搭建私有git服务(gogs+https)

2022-12-28 12:52:55 浏览数 (3)

为什么有了github还要有自己的平台?

  • 代码审计安全(不会随便被删除)
  • 自己团队需要
  • 速度更快

为什么选择gogs?

请移步官网学习,配置文件请参考配置文件手册,配置样例请访问app.ini。

准备

  • docker运行环境
  • 有公网IP的服务器(老高的服务器使用的搬瓦工)
  • git域名已做好解析

配置文件

docker-compose.yml

代码语言:javascript复制
version: '3'
services:
  caddy:
    container_name: caddy
    image: abiosoft/caddy
    volumes:
      - "./Caddyfile:/etc/Caddyfile"
      - "./caddy:/root/.caddy"
    restart: always
    environment:
      - ACME_AGREE=true
    ports:
      - "443:443"
      - "80:80"
  gogs:
    container_name: gogs
    image: gogs/gogs
    volumes:
      - ./gogs:/data
    ports:
      - "3000"
      - "22:22"
    restart: always

Caddyfile

有两处改动

代码语言:javascript复制
改---> git.xxx.com {
    proxy / http://gogs:3000
    tls xx@xx.com <---改
    log / stdout {combined}
    errors stderr
}

运行

代码语言:javascript复制
docker-compose up -d

然后访问 https://git.xxx.com ,进行初始化配置

这就完了?

针对老高的使用其实已经写完了。首先呢,老高是自用的,搭建在搬瓦工的服务器上,所以需要尽可能的节省内存,所以选择使用sqlite,而不是MySQL或者其他数据库,不过如果需要为团队搭建git服务,那么就需要考虑加入数据库服务了。再考虑到文件安全问题,我们需要定期备份gogs文件夹,和数据库文件(如果是sqlite,就不需要了)。

好吧,稍后还是把MySQL版本贴上来吧!

0 人点赞