From 3e8cd729bab30abe787f895459e3935527a1e991 Mon Sep 17 00:00:00 2001 From: butubb <1422726308@qq.com> Date: Sat, 28 Mar 2026 16:50:54 +0800 Subject: [PATCH] 1 --- content/posts/gitea 自部署使用体验.md | 269 ++++++-------------------- layouts/partials/footer.html | 25 +++ 2 files changed, 80 insertions(+), 214 deletions(-) diff --git a/content/posts/gitea 自部署使用体验.md b/content/posts/gitea 自部署使用体验.md index 6bd886d..a702deb 100644 --- a/content/posts/gitea 自部署使用体验.md +++ b/content/posts/gitea 自部署使用体验.md @@ -39,113 +39,72 @@ Gitea 采用微内核 + 插件扩展的轻量架构,核心组件如下: ### 架构图(Mermaid) ```mermaid -graph TB - subgraph "客户端层" - A[Web浏览器] - B[Git客户端] - C[API客户端] +graph TD + %% 客户端层 + Client_Web[Web浏览器] + Client_Git[Git客户端] + Client_API[API客户端] + + %% 负载层 + Proxy[Nginx / 反向代理] + + %% 核心服务层 + subgraph Gitea核心服务 + Web[Web服务 / Gin] + API[RESTful API] + Git[Git协议处理器] + Auth[认证授权 / Session / OAuth] end - subgraph "负载均衡/反向代理" - D[Nginx/Apache] + %% 业务逻辑层 + subgraph 业务逻辑层 + Repo[仓库管理] + User[用户与组织] + ACL[权限控制 RBAC] + Hook[WebHook] + Mail[邮件服务] end - subgraph "Gitea核心服务" - E[Web服务
Gin框架] - F[API服务
RESTful] - G[Git服务
SSH/HTTP] - H[认证授权
Session/OAuth] + %% 存储层 + subgraph 数据存储层 + DB[(数据库
SQLite/MySQL)] + FS[(Git仓库文件)] + LFS[(LFS对象)] + Cache[(Redis缓存)] end - subgraph "业务逻辑层" - I[仓库管理] - J[用户管理] - K[组织管理] - L[权限控制
RBAC] - M[WebHook] - N[邮件服务] - end + %% 扩展 + Runner[[Gitea Runner
CI/CD]] + Pack[[包管理
npm/docker]] - subgraph "数据存储层" - O[数据库
SQLite/MySQL/PostgreSQL] - P[Git仓库
文件系统] - Q[LFS对象存储] - R[缓存
Redis/Memcached] - end + %% 关系连线 + Client_Web --> Proxy + Client_Git --> Proxy + Client_API --> Proxy - subgraph "后台任务" - S[定时任务
Cron] - T[队列处理
WebHook/邮件] - U[索引构建] - V[镜像同步] - end + Proxy --> Web + Proxy --> API + Proxy --> Git - subgraph "可选扩展" - W[Gitea Runner
CI/CD] - X[包管理
npm/docker/maven] - Y[代码搜索
Bleve] - end + Web --> Auth + API --> Auth + Git --> Auth - A --> D - B --> D - C --> D - - D --> E - D --> F - D --> G - - E --> H - F --> H - G --> H - - H --> I - H --> J - H --> K - H --> L - - I --> O - I --> P - J --> O - K --> O - L --> O - - I --> Q - M --> T - N --> T - - S --> V - U --> R - T --> N - - W --> P - X --> Q - Y --> R + Auth --> Repo + Auth --> User + Auth --> ACL - style A fill:#e1f5fe - style B fill:#e1f5fe - style C fill:#e1f5fe - style D fill:#fff3e0 - style E fill:#f3e5f5 - style F fill:#f3e5f5 - style G fill:#f3e5f5 - style H fill:#f3e5f5 - style I fill:#e8f5e9 - style J fill:#e8f5e9 - style K fill:#e8f5e9 - style L fill:#e8f5e9 - style M fill:#e8f5e9 - style N fill:#e8f5e9 - style O fill:#ffebee - style P fill:#ffebee - style Q fill:#ffebee - style R fill:#ffebee - style S fill:#fce4ec - style T fill:#fce4ec - style U fill:#fce4ec - style V fill:#fce4ec - style W fill:#e0f2f1 - style X fill:#e0f2f1 - style Y fill:#e0f2f1 + Repo --> DB + Repo --> FS + Repo --> LFS + User --> DB + ACL --> DB + + Repo --> Hook + Hook --> Mail + + Runner -.-> API + Pack -.-> FS ``` ### 架构说明 @@ -162,124 +121,6 @@ graph TB 这种架构设计使得 Gitea 具有轻量级、高可用和易扩展的特点。 -```mermaid -graph TB - subgraph "客户端层" - A[Web浏览器] - B[Git客户端] - C[API客户端] - end - - subgraph "负载均衡层" - D[Nginx/反向代理] - end - - subgraph "Gitea核心服务" - E[Web服务
Gin框架] - F[REST API] - G[Git协议处理器] - H[认证授权
RBAC] - I[中间件
CSRF/Session] - end - - subgraph "业务逻辑层" - J[仓库管理] - K[用户/组织管理] - L[问题跟踪] - M[PR/MR流程] - N[WebHook系统] - O[通知系统] - end - - subgraph "数据存储层" - P[Git仓库
文件系统] - Q[SQLite/MySQL
PostgreSQL] - R[LFS对象存储] - S[会话存储] - T[缓存Redis] - end - - subgraph "后台服务" - U[定时任务
镜像同步] - V[队列服务
异步任务] - W[邮件服务] - X[索引构建] - end - - subgraph "扩展组件" - Y[Gitea Runner
CI/CD] - Z[包管理
npm/maven] - AA[容器注册表] - end - - A --> D - B --> D - C --> D - - D --> E - D --> F - D --> G - - E --> H - F --> H - G --> H - - H --> I - I --> J - I --> K - I --> L - I --> M - I --> N - I --> O - - J --> P - K --> Q - L --> Q - M --> P - N --> V - O --> W - - V --> U - V --> X - V --> W - - J --> Y - J --> Z - J --> AA - - P --> R - Q --> S - Q --> T - - style A fill:#e1f5fe - style B fill:#e1f5fe - style C fill:#e1f5fe - style D fill:#fff3e0 - style E fill:#f3e5f5 - style F fill:#f3e5f5 - style G fill:#f3e5f5 - style H fill:#f3e5f5 - style I fill:#f3e5f5 - style J fill:#e8f5e8 - style K fill:#e8f5e8 - style L fill:#e8f5e8 - style M fill:#e8f5e8 - style N fill:#e8f5e8 - style O fill:#e8f5e8 - style P fill:#fce4ec - style Q fill:#fce4ec - style R fill:#fce4ec - style S fill:#fce4ec - style T fill:#fce4ec - style U fill:#fff9c4 - style V fill:#fff9c4 - style W fill:#fff9c4 - style X fill:#fff9c4 - style Y fill:#e0f2f1 - style Z fill:#e0f2f1 - style AA fill:#e0f2f1 -``` - ### 架构特点说明 **1. 轻量级设计** diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index bfea1e8..b508ff6 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -36,6 +36,29 @@ {{- partial "extend_footer.html" . }} + + {{- end }} + +