史上最简单详细的Git 代码托管平台搭建(Docker版)

光阴似箭呀,似乎已有许久未写文章了,这敲键盘的手都生疏了,只能一字一字的敲打的,虽然这个过程很慢,但是不影响我的思路,在学习任何东西的时候我都会心里想着一段话,那句:万丈高楼平地起,没有任何是一开始就会的 , 你也不例外,总有一个循序渐进的过程,开始都是一样的,启程之后只是速度不同罢了,月有阴晴圆缺,人有悲欢离合,很多时候情绪也会影响我们。

前段时间,在下班后的一个晚上,想着学习一下,突然想到之前学习过的git 平台,但是国内出名, 就只有码云,国外的就是Github,在公司大多都使用的是私有的就是Gitlab ,这已经广大程序员是老生常谈的话题,所以就想着能不能自己搭建一个代码托管平台,说干就干,下面我们使用Docker 搭建 6 种平台 ,一次性搭建个够!

1. Gitea

  • 简介:Gitea 是一个轻量级的 Git 代码托管平台,功能类似于 GitHub。它支持 Git 仓库管理、代码审查、问题跟踪、CI/CD 等功能。Gitea是一个基于Go语言开发的开源自助Git服务,它是Gogs的一个分支(或者说是一个社区驱动的Fork)。Gogs是一款轻量级的自助Git服务,最初由Unknwon开发,于2014年5月发布首个版本。然而,由于Gogs项目的一些社区成员对项目的发展方向和功能有不同的看法,并希望推动一些新的特性和改进,因此一些社区成员选择从Gogs分叉出一个新的项目,这就是Gitea。

Gitea的开发始于2016年11月,最初由社区的一些活跃成员发起并推动,他们致力于构建一个更加灵活、稳定和功能丰富的自助Git服务。Gitea的开发一直由社区的志愿者贡献代码和维护,因此它成为了一个受欢迎的开源项目,并在开源社区中得到了广泛的应用和认可。

  • 资源要求:Gitea 是非常轻量级的,通常运行在低至 512MB 内存的服务器上都能表现良好。
  • Docker 安装
docker run -d --name=gitea -p 3000:3000 -p 222:22 gitea/gitea:latest

version: '3'

services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - DB_TYPE=sqlite3
    volumes:
      - ./gitea:/data
    ports:
      - "3000:3000"
      - "222:22"
    restart: always

  1. 将下面的 docker-compose.yml 文件内容复制到一个新文件中。
  2. 根据需要修改端口映射、环境变量和卷挂载路径。
  3. 在对应目录中运行 docker-compose up -d 启动服务。

访问 ip+3000端口

image.png

2. GitBucket

image.png

  • 简介:GitBucket 是基于 Scala 构建的开源 Git 平台,支持 Git 仓库、Pull Requests、Wiki、Issues 等功能。
  • GitBucket 是另一个轻量级工具,可用于管理正在开发的软件的开发周期。 GitBucket用Scala编写,可在JVM(Java虚拟机)上工作。 GitBucket的界面与GitHub非常相似。 GitBucket本身也使用Git作为版本控制系统。 该工具提供的功能包括资源库查看器,Wiki和问题跟踪器。 GitBucket已获得Apache License 2.0许可。
  • 资源要求:相对较轻量,适合中小型团队使用。
  • Docker 安装
docker run -d --name gitbucket -p 8080:8080 gitbucket/gitbucket
  • docker-compose
version: '3'

services:
  gitbucket:
    image: gitbucket/gitbucket
    container_name: gitbucket
    volumes:
      - ./gitbucket:/gitbucket
    ports:
      - "8080:8080"
    restart: always


3. Gogs

image.png

  • 简介:Gogs 是另一个轻量级的自托管 Git 服务,设计初衷是运行在最低限度的硬件配置上。
  • 资源要求:非常轻量,通常占用非常少的内存和 CPU 资源。

Gogs是另一个轻量级的工具, 用于构建自托管的软件开发工具。 Gogs是使Gitea存在的工具。 Gogs用Go编写。 与Gitea一样,Gogs只需要更少的资源来运行。 您甚至可以在便宜的树莓派上运行此工具。 根据其官方网站上的介绍,一些Gogs用户甚至在其NAS设备上运行Gogs实例。 Gogs使用Git作为版本控制系统。 该工具提供的其他一些功能包括代码审查,Wiki和错误跟踪器。 Gogs已获得MIT许可。 作者:开源大世界

  • Docker 安装
docker run -d --name=gogs -p 3000:3000 -p 22:22 gogs/gogs
version: '3'

services:
  gogs:
    image: gogs/gogs
    container_name: gogs
    volumes:
      - ./gogs:/data
    ports:
      - "3000:3000"
      - "222:22"
    restart: always

4. Phabricator

  • 简介:Phabricator 是一款功能丰富的代码托管平台,尽管它提供了强大的功能集,但其资源占用相对较低。
  • 资源要求:相比 Gitea 和 Gogs 稍微重一些,但仍然比 GitLab 要轻量许多。
  • Docker 安装
docker run -d --name phabricator -p 80:80 -p 443:443 -p 22:22 hachque/phabricator
version: '3'

services:
  phabricator:
    image: hachque/phabricator
    container_name: phabricator
    ports:
      - "80:80"
      - "443:443"
      - "22:22"
    restart: always
    volumes:
      - ./phabricator:/var/www/phabricator

5. Code-Server

  • 简介:虽然 Code-Server 不是一个传统的代码托管平台,但它允许你在浏览器中运行 Visual Studio Code,非常适合进行远程代码编辑和管理。
  • 资源要求:比较轻量,尤其适合只需要远程代码编辑而不需要完整代码托管平台的场景。
  • Docker 安装
docker run -d --name code-server -p 8080:8080 codercom/code-server
version: '3'

services:
  code-server:
    image: codercom/code-server
    container_name: code-server
    environment:
      - PASSWORD=yourpassword
    volumes:
      - ./code-server:/home/coder/project
    ports:
      - "8080:8080"
    restart: always

6. SourceHut (sr.ht)

  • 简介:SourceHut 是一个非常轻量级、专注于简单和高效的代码托管平台,但需要手动配置。
  • 资源要求:非常轻量,适合对资源要求较为严格的环境。
  • Docker 安装:SourceHut 没有官方的 Docker 镜像,但可以通过 Dockerfile 自行构建。

这些平台都适合在资源有限的环境中使用,可以根据你的需求和服务器的配置选择合适的工具。

由于 SourceHut 没有官方的 Docker 镜像,若你希望自行构建一个 Docker 镜像,可以使用以下模板:

version: '3'

services:
  sourcehut:
    build: ./sourcehut
    container_name: sourcehut
    ports:
      - "80:80"
    volumes:
      - ./sourcehut:/data
    restart: always

你需要在 ./sourcehut 目录中提供自己的 Dockerfile 和相关配置文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值