光阴似箭呀,似乎已有许久未写文章了,这敲键盘的手都生疏了,只能一字一字的敲打的,虽然这个过程很慢,但是不影响我的思路,在学习任何东西的时候我都会心里想着一段话,那句:万丈高楼平地起,没有任何是一开始就会的 , 你也不例外,总有一个循序渐进的过程,开始都是一样的,启程之后只是速度不同罢了,月有阴晴圆缺,人有悲欢离合,很多时候情绪也会影响我们。
前段时间,在下班后的一个晚上,想着学习一下,突然想到之前学习过的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 -p3000:3000 -p222: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
- 将下面的
docker-compose.yml
文件内容复制到一个新文件中。 - 根据需要修改端口映射、环境变量和卷挂载路径。
- 在对应目录中运行
docker-compose up -d
启动服务。
访问 ip+3000端口
2. GitBucket
- 简介: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 -p8080: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
- 简介:Gogs 是另一个轻量级的自托管 Git 服务,设计初衷是运行在最低限度的硬件配置上。
- 资源要求:非常轻量,通常占用非常少的内存和 CPU 资源。
Gogs是另一个轻量级的工具, 用于构建自托管的软件开发工具。 Gogs是使Gitea存在的工具。 Gogs用Go编写。 与Gitea一样,Gogs只需要更少的资源来运行。 您甚至可以在便宜的树莓派上运行此工具。 根据其官方网站上的介绍,一些Gogs用户甚至在其NAS设备上运行Gogs实例。 Gogs使用Git作为版本控制系统。 该工具提供的其他一些功能包括代码审查,Wiki和错误跟踪器。 Gogs已获得MIT许可。 作者:开源大世界
- Docker 安装:
docker run -d--name=gogs -p3000:3000 -p22: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 -p80:80 -p443:443 -p22: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 -p8080: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
和相关配置文件。
版权归原作者 刘架构 所有, 如有侵权,请联系我们删除。