• Win 下 Docker 安装 Gitea 实践


    在这里插入图片描述

    简介

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证.

    中文首页: https://gitea.io/zh-cn/

    Gitea 文档: https://docs.gitea.io/zh-cn/

    官方安装教程见: install-with-docker

    本文记述使用 docker 安装的方法。

    Docker 安装 Gitea

    该实践采用Docker-Compose 容器编排技术。
    整个服务分为网络、Gitea 服务端和数据存储端三个组件。
    其中网络组件使用 Docker 创建一个虚拟网络 gitea,Gitea 组件运行Gitea 服务;数据存储组件使用 MySQL。Gitea 服务组件与MySQL通过网络组件gitea 使用。

    Docker-Compose 文件

    在合适的目录(我的目录为:D:\apps-data\docker\git-lib)创建 docker-compose.yml 文件。 docker-compose.yml 文件内容如下:

    version: "3"
    
    networks:
      gitea:
        external: false
    
    services:
      server:
        image: gitea/gitea:latest
        container_name: gitea-server
        environment:
          - USER_UID=1000
          - USER_GID=1000
          - DB_TYPE=mysql
          - DB_HOST=db:3306
          - DB_NAME=gitea
          - DB_USER=gitea
          - DB_PASSWD=gitea
        # restart: always
        networks:
          - gitea
        volumes:
          - D:/apps-data/docker/git-lib/data:/data
          - D:/apps-data/docker/git-lib/etc/timezone:/etc/timezone:ro
          - D:/apps-data/docker/git-lib/etc/localtime:/etc/localtime:ro
        ports:
          - "3000:3000"
          - "2222:22"
        depends_on:
          - db
    
      db:
        image: mysql:8
        container_name: gitea-mysql-server
        # restart: always
        environment:
          - MYSQL_ROOT_PASSWORD=gitea
          - MYSQL_USER=gitea
          - MYSQL_PASSWORD=gitea
          - MYSQL_DATABASE=gitea
        networks:
          - gitea
        ports:
          - "3307:3306"
          - "33070:33060"
        volumes:
          - D:/apps-data/docker/git-lib/mysql:/var/lib/mysql
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    docker-compose.yml 文件中依次编排了网络gitea,gitea 服务 gitea-server 和数据库服务 gitea-mysql-server

    启动

    打开 CMD 或者 PowerShell ,进入 docker-compose.yml 所在的文件夹(D:\apps-data\docker\git-lib)。

    运行如下命令:

    docker-compose up -d 
    
    • 1

    运行结果如下:
    在这里插入图片描述
    注意 镜像 gitea 和 mysql:8 是提前拉取到本地的,如过没有提前拉取,看到的信息将会增加拉取过程。

    访问

    如上服务启动成功后,即可访问gitea,默认地可以使用 localhost:3000 或 本地IP:3000的方式访问。
    在这里插入图片描述

    新部署的服务,第一次访问时,gitea 会提示进行初始化配置,具体配置见下章节。

    初始化配置

    初始化配置分为数据库设置、一般设置和可选设置三部分。

    数据库设置

    在这里插入图片描述
    Gitea 支持的数据库类型有 MySQL、PostgreSQL、MSSQL、SQLLite3等多种数据库。本实践使用MySQL 数据库,因此选用 MySQL ,其他项配置值与 docer-compose.yml 中数据库配置保持一直即可。

    ** 注:** 数据库主机配置db:3306 , 此处是指 gitea-server 访问数据时会通过它们之间的网络直接使用 3306 访问,不必通过数据库服务暴露的 3307 来访问。

    一般设置

    一般设置用于设置 Gitea 服务端容器相关信息,可配置项如下所示。
    在这里插入图片描述

    • 站点名称: 可随意命名,如 Gitea-XZBD
    • 服务器域名:默认为localhost,也可以是其他域名。公网环境下建议使用公网域名或着主机IP。如设置为:192.168.1.5
    • SSH 服务端口:默认是 22 , 建议配置为 docker-compose.yml 中暴露的端口,如: 2222。
    • HTTP 服务端口: 默认是 3000, 建议配置为 docker-compose.yml 中暴露的端口,如: 3000(注意是暴露的端口)。
    • 基础 URL:服务器域名 和 HTTP 服务端口 真实值组合,格式为:http://服务器域名:HTTP 服务端口。如: http://192.168.1.5:3000

    其他选项建议配置为默认。

    配置完成后的信息如下:
    在这里插入图片描述

    可选设置

    可选设置包含 电子邮箱设置、服务器和第三方服务设置、管理员账号设置三部分。配置界面如下:
    在这里插入图片描述
    其中管理员账号设置可选,若没有配置,安装完成后,第一个注册的账号就是管理员长账号。

    立即安装

    初始化配置完成后,点击 立即安装 ,等待安装完成。

    安装完成后,页面会跳转到登录页面,页面如下
    在这里插入图片描述

    使用

    以上即完成了 Gitea 的安装,本章节记述了 Gitea 的基本使用。

    注册

    前面安装过程中,没有设置管理员账号,安装完成后,还没有一个 Gitea 账号,因此要首先注册一个账号。

    注意:第一个注册的账号将被设置为管理员账号

    点击注册 或 ** 还没帐户?马上注册。** 跳转到注册页面,页面如下图所示。
    在这里插入图片描述
    注册成功后,Gitea 会自动登录,并跳转到用户的首页,如下
    在这里插入图片描述

    登录

    退出后,访问登录页面。输入密码和用户名即可登录。

    创建项目、组织

    登录成功后,即可创建项目或组织。这部分内容与Github或GitLib一致,不再详细记述。

    总结

    本文介绍了 使用 Docker 部署 Gitea 的一个实践过程,其中选用了MySQL数据库,同时使用了 Docker-Compose 容器编排技术。

  • 相关阅读:
    机器学习(一)数据的预处理
    万字带你走过数据库的这激荡的三年
    gradle 使用 ext
    【C语言】文件的操作与文件函数的使用(详细讲解)
    程序员写出代码版《本草纲目》毽子操,刘畊宏回复:很cool
    AtCoder Beginner Contest 257
    事件介绍、两种事件注册的介绍、onload事件、onclick事件、onblur事件、onchange事件、onsubmit事件
    安装Ubuntu提示:系统找不到指定的文件。
    Stm32_标准库_7_光敏传感器
    CMake高级用法实例分析(学习paddle官方的CMakeLists)
  • 原文地址:https://blog.csdn.net/m0_47406832/article/details/126828433