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

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

视频演示中使用腾讯云实验环境安装 Docker 并快速启动 Gitea
环境准备服务器配置OSVersionCPURAMDebian Linuxbullseye2 Core4GB本文所采用的服务器配置如下,建议内存最少在 1GB 以上 。OS 版本可以是 Debian、Ubuntu、Fedora 以及 CentOS , 本文优先使用 Debian,其他系统发行版的会在后续文章中酌情演示 。
Docker 运行环境最新的 Docker Engine 和 Docker Desktop 集成了 docker compose 命令行工具 。更多信息请参阅:
  • Docker Engine 安装指南:https://docs.docker.com/engine/install/
  • Docker Engine 一键安装脚本: curl -fsSL https://get.docker.com | bash
  • 解决 docker 命令执行权限问题:https://docs.docker.com/go/daemon-access/
  • 检查 docker 运行环境:docker info
选择镜像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 configchown 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-rootlesscontainer_name: gitearestart: alwaysvolumes:- ./data:/var/lib/gitea- ./config:/etc/gitea- /etc/timezone:/etc/timezone:ro- /etc/localtime:/etc/localtime:roports:- "3000:3000"- "2222:2222"几个重要的参数说明: