🌒

Hi Folks.

Gogs|版本管理

如同其官网所说一款极易搭建的自助 Git 服务。它能够执行搭建git版本控制,并且在任何 Go 语言 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。有些用户甚至还将 Gogs 运行在 NAS 设备上。

TL;DR

1
2
3
$ docker pull gogs/gogs
$ docker pull mysql
$ docker network create storage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker run -d \
--name mysql \
--env MYSQL_ROOT_PASSWORD=root123 \
--network=storage \
-p 3307:3306 \
--restart=always \
-v ~/Documents/docker/mysql/data:/var/lib/mysql \
mysql

docker run -d \
--name gogs \
--network=storage \
-p 10022:22 \
-p 3000:3000 \
-v ~/Documents/docker/gogs:/data \
gogs/gogs

介绍

Gogs拥有git技术链中的绝大多数功能,例如分支、Pull Request、工单、WIKi、分子保护、成员权限、组织、标签、Star、Fork、Watching……

凭借Golang的性能优势,执行速度和资源开销这块有着明显得优势,轻量级的特点能够在绝大多数设备中跑起来。


安装

Gogs有很多种安装方式,例如:二进制安装、包管理安装、包管理安装、源码安装、Docker安装。本文介绍如何使用docker安装,也是我最为喜欢的方式。

  1. 获取镜像:

    1
    2
    3
    4
    # 获取gogs镜像
    $ docker pull gogs/gogs
    # 获取mysql镜像
    $ docker pull mysql
  2. 创建网络(Bridge类型):

    1
    $ docker network create storage
  3. 启动Mysql

    创建Mysql容器,指定root密码、网络、持久化目录、端口(也可以无需指定,看你是否有暴露到宿主机的需求)

    1
    2
    3
    4
    5
    6
    7
    8
    docker run -d \
    --name mysql \
    --env MYSQL_ROOT_PASSWORD=root123 \
    --network=storage \
    -p 3307:3306 \
    --restart=always \
    -v ~/Documents/docker/mysql/data:/var/lib/mysql \
    mysql
  4. 启动gogs

    创建gogs容器,指定网络、和持久化目录,暴露3000和22端口到宿主机的3000和10022上(宿主端口自便)。

    1
    2
    3
    4
    5
    6
    7
    docker run -d \
    --name gogs \
    --network=storage \
    -p 10022:22 \
    -p 3000:3000 \
    -v ~/Documents/docker/gogs:/data \
    gogs/gogs
  5. 配置gogs:

    image-20240327141426902
    确保gogs和mysql同属于一个网络stoage下,使用容器名称:端口号的形式连接到mysql服务,在mysql中实现创建好数据库gogs设置utf8mb4_general_ci字符集。在配置页中输入创建好的数据库、用户名、密码,完成数据库的设置。

    在可选设置中的管理员账号设置中创建一个管理员账号

    image-20240327141625267

    剩下的配置自行发挥即可,完成配置后点击立即安装。至此便完成了gogs的搭建。


👋 ;

, , , — 2024年3月27日