跳到主要内容

主机资讯与使用指南

Gitea Docker 部署:代码仓库、域名与 SSH 克隆

使用 Gitea Docker 镜像建立个人 Git 服务,配置持久化、HTTPS、SSH 端口与首次安装。

网页与 Git SSH 分别配置

Gitea 网页用于管理项目,Git 可以通过 HTTPS 或 SSH 推送。本文采用 rootful 镜像与 SQLite,适合个人起步;需要共享数据库时按官方 Compose 示例扩展。

准备 git.example.com 域名,宿主机 Caddy 接收 80、443,Gitea SSH 映射到 2222,避免占用服务器自身的 22。

建立数据目录与配置

mkdir -p "$HOME/gitea/data"
cd "$HOME/gitea"
sudo chown -R 1000:1000 data

新的 data 目录归属与示例 USER_UID、USER_GID 匹配。已有目录不能随意递归改变归属,先看原安装的用户。将配置保存为 compose.yml。

services:
  gitea:
    image: docker.gitea.com/gitea:latest
    restart: unless-stopped
    environment:
      USER_UID: "1000"
      USER_GID: "1000"
      GITEA__server__ROOT_URL: https://git.example.com/
      GITEA__server__SSH_DOMAIN: git.example.com
      GITEA__server__SSH_PORT: "2222"
    ports:
      - "127.0.0.1:3001:3000"
      - "2222:22"
    volumes:
      - ./data:/data

启动并建立网站入口

docker compose config --quiet
docker compose up -d
docker compose ps
docker compose logs --tail=100 gitea
git.example.com {
    reverse_proxy 127.0.0.1:3001
}

把域名改成自己的,完成 DNS 与 HTTPS。浏览器进入安装页面,数据库选择 SQLite,路径保持位于持久化的 /data 中,并在安装页面建立管理员。

SSH 克隆与注册设置

需要 SSH 克隆时,在云防火墙和系统规则中开放 TCP 2222,并在 Gitea 用户设置中添加自己的 SSH 公钥。复制仓库页面显示的克隆地址,它应包含设置的域名和端口。

个人服务初始化完成后,关闭公开注册或使用邀请。管理员与普通用户分开,私有仓库的访问权限按项目设置。

保存仓库与数据库

/data 保存仓库、配置和此示例的 SQLite 数据库。备份时按 Gitea 官方 dump 流程,或停止服务后保存完整数据,避免复制正在写入的 SQLite 文件。

记录实际镜像版本,后续固定稳定标签。rootful 与 rootless 镜像的数据和路径不兼容,升级时不要只改镜像名切换安装类型。

相关阅读