• 手把手教你玩转 Gitea|使用 Docker 安装 Gitea


    使用 Docker 安装 Gitea 的过程非常简单的,堪比“一键式”安装。Gitea 安装使用系列教程将会从多种方式进行全方位的实操演示。

    📺视频演示中使用腾讯云实验环境安装 Docker 并快速启动 Gitea

    环境准备

    服务器配置

    OS Version CPU RAM
    Debian Linux bullseye 2 Core 4GB

    本文所采用的服务器配置如下,建议内存最少在 1GB 以上。OS 版本可以是 Debian、Ubuntu、Fedora 以及 CentOS,本文优先使用 Debian,其他系统发行版的会在后续文章中酌情演示。

    Docker 运行环境

    最新的 Docker Engine 和 Docker Desktop 集成了 docker compose 命令行工具。更多信息请参阅:

    选择镜像

    Gitea 提供了标准的容器镜像(gitea/gitea),统一支持 SQLite、MySQL、PostgreSQL 和 SQL Server 作为数据库后端。每个版本的镜像同时支持两种主流的处理器体系结构 amd64arm64/v8

    镜像标签

    • 最新的稳定版
      latest
    • 固定在某个稳定版
      1.17.2, 1.17, 1
    • 最新的开发版,随 Gitea 代码合并同步更新
      dev

    Rootless 镜像

    Rootless 镜像使用 Gitea 内建的 Go SSH 提供 Git 服务,代替了 OpenSSH。

    在选用 rootless 镜像时,加上镜像标签 -rootless。支持的镜像标签如下:

    • latest-rootless, 1-rootless
    • 1.17.2-rootless
    • dev-rootless

    安装 Gitea

    环境变量

    在集群模式安装 Gitea 时,您可以通过环境变量为 Gitea 容器指定一些共享的初始值,例如 UID/GID、数据库连接参数、共享密钥等。诸如数据库和 Gitea 的一些功能配置选项最终都会在安装引导界面结束后写入到 app.ini 文件并保存。因此,如果是作为单实例部署的 Gitea,您无需关心如何设置这些环境变量,稍后的初始化安装过程会为您自动生成这些配置。初始化完成后,您可以在多个 Gitea 实例间共享同一份配置文件和数据缓存来实现服务器集群。

    阅读更多:https://docs.gitea.io/en-us/install-with-docker/

    启动 Gitea

    创建工作目录

    首先创建一个 gitea 工作目录,后续工作都在这个目录下完成。

    mkdir ~/gitea && cd ~/gitea
    
    # 预先创建 data 和 config 目录,稍后用于数据挂载
    mkdir data config
    chown 1000:1000 data config
    

    创建 docker-compose.yml

    使用下面的模板创建 docker-compose.yml,这里使用到的镜像是 gitea/gitea:1.17.2-rootless

    rooless 版本的镜像默认使用 UID/GID 1000:1000 作为程序运行的用户组,为了保证 gitea 程序挂载权限正确的数据目录,我们在前面的步骤中预先创建了 dataconfig 目录。

    version: "3"
    
    services:
      server:
        image: gitea/gitea:1.17.2-rootless
        container_name: gitea
        restart: always
        volumes:
          - ./data:/var/lib/gitea
          - ./config:/etc/gitea
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          - "3000:3000"
          - "2222:2222"
    

    几个重要的参数说明:

    • volumes: 数据挂载
      • ./data:/data,将主机当前目录下的 data 目录挂载到容器内的 /var/lib/gitea 目录。/data 是 Gitea 标准容器的数据存储点,包含了 Git 仓库、SQLite 数据库文件、缓存文件等。
      • ./config:/etc/gitea 挂载 Gitea 的 app.ini 配置文件所在的目录。
      • /etc/timezone:/etc/timezone:ro 用于指定时区
      • /etc/localtime:/etc/localtime:ro 同上,用于指定本地时间
    • ports: 端口映射
      • 3000:3000 HTTP 端口,从左到右的顺序是从主机映射到 Docker 容器。在此,您可以通过 http://127.0.0.1:3000 直接访问到 Gitea 的 Web 界面,或通过反向代理引擎提供更具有扩展性的 SSL 集成,例如 Nginx。
      • 2222:2222 SSH 端口。这里主机侧暴露的端口为 2222 避免了与默认 SSH 服务端口冲突。禁用 SSH 时删除端口转发即可。如果您希望将主机完全作为 Gitea 服务器,可以将主机配置文件 /etc/ssh/sshd_config 中的端口 Port 22 更改为其他值,使得 Docker 可以使用 Gitea 内建的 Go SSH 或 OpenSSH 占用 22 端口作为 Git 服务。

    启动 Gitea 实例

    使用 docker compose 命令拉取镜像并启动 Gitea 实例:

    docker compose up -d
    

    docker compose ps 查看容器:

    NAME     COMMAND                   SERVICE    STATUS     PORTS
    gitea    "/usr/local/bin/dock…"    server     running    2222/tcp, 0.0.0.0:3000->3000/tcp
    

    docker compose logs -f 查看容器日志:

    $ docker compose logs -f
    gitea  | 2022/09/26 14:50:31 cmd/web.go:106:runWeb() [I] Starting Gitea on PID: 1
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:21:PreloadSettings() [I] AppPath: /usr/local/bin/gitea
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:22:PreloadSettings() [I] AppWorkPath: /var/lib/gitea
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:23:PreloadSettings() [I] Custom path: /var/lib/gitea/custom
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:24:PreloadSettings() [I] Log path: /var/lib/gitea/data/log
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:25:PreloadSettings() [I] Configuration file: /etc/gitea/app.ini
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:26:PreloadSettings() [I] Prepare to run install page
    gitea  | 2022/09/26 14:50:31 ...s/install/setting.go:29:PreloadSettings() [I] SQLite3 is supported
    gitea  | 2022/09/26 14:50:31 cmd/web.go:217:listen() [I] [63314bb7-6] Listen: http://0.0.0.0:3000
    gitea  | 2022/09/26 14:50:31 cmd/web.go:221:listen() [I] [63314bb7-6] AppURL(ROOT_URL): http://localhost:3000/
    

    当看到上述日志的时候可以认为实例已经启动了,在浏览器中输入 http://localhost:3000/ 即可登陆 Gitea 实例进行初始化设置。

    登录 Gitea

    首次安装 Gitea 后,在浏览器中输入 http://localhost:3000/ 访问初始化页面,按需设置服务器信息。第一个注册的用户账号为管理账号。

    image

    至此已经用 Docker 的方式来成功安装和运行了 Gitea 实例,接下来就可以使用了,诸如代码托管、团队人员管理、配置持续集成工具 DroneJenkins 等。

  • 相关阅读:
    408 | 【2017年】计算机统考真题 自用回顾知识点整理
    ADworld reverse wp easyre-153
    微信小程序 java-php大学校园学生社团系统python
    Camtasia Studio 2024软件最新版下载【安装详细图文教程】
    聊聊并发编程——并发容器和阻塞队列
    mybatis判断用insert还是update
    M1 安装CentOS 8安装完成后无法联网怎么办?
    ShardingSphere基本介绍及核心概念
    Spring AOP如何基于AspectJ XML开发呢?
    JavaScript-mooc(纯分享)
  • 原文地址:https://www.cnblogs.com/Gitea/p/docker.html