使用 Docker 安装 Gitea 的过程非常简单的,堪比“一键式”安装 。Gitea 安装使用系列教程将会从多种方式进行全方位的实操演示 。
视频演示中使用腾讯云实验环境安装 Docker 并快速启动 Gitea环境准备服务器配置OSVersionCPURAMDebian Linux
bullseye
2 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
),统一支持 SQLite、MySQL、PostgreSQL 和 SQL Server 作为数据库后端 。每个版本的镜像同时支持两种主流的处理器体系结构 amd64
和 arm64/v8
。镜像标签
- 最新的稳定版
latest
- 固定在某个稳定版
1.17.2
,1.17
,1
- 最新的开发版,随 Gitea 代码合并同步更新
dev
在选用 rootless 镜像时,加上镜像标签
-rootless
。支持的镜像标签如下:latest-rootless
,1-rootless
1.17.2-rootless
dev-rootless
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 程序挂载权限正确的数据目录 , 我们在前面的步骤中预先创建了data
和config
目录 。
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"
几个重要的参数说明: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
推荐阅读
- 小红书教你做菜要钱吗 小红书教你做菜
- 手相女右手解析 教你如何看懂女人的手相
- 龙骨花的养殖方法 4个要点教你最简单的养护龙骨花方法
- 教你三步看懂电路图 电流遇到分支怎么走
- 教你怎么舌吻
- 画好眼影有步骤 玩转粉色系有技巧
- 荞麦仁怎么吃比较好 荞麦仁怎么吃
- 如何销售定制家具 教你如何销售家具
- 哺乳期发烧38.5度不吃药 如何退烧 哺乳期发烧,教你不吃药治疗法!
- 女人养肾抗衰老 教你6大好方法