{"repo":"grtsinry43/grtblog","free":true,"listed":false,"github":"https://github.com/grtsinry43/grtblog","clone":"git clone https://github.com/grtsinry43/grtblog.git","description":"不仅是博客，也是全新的内容基础设施。由 SvelteKit 与 Go 驱动，静态先行、实时交互的现代化博客系统","language":"Go","stars":72,"topics":["blog","cms","go","self-hosted","svelte","website"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"grtblog 现代化博客系统 — 静态先行、实时注水、联合社交 GrtBlog 是一个面向创作者的博客系统，以纯静态 HTML 分发实现极致首屏速度，通过 WebSocket 实现毫秒级实时更新，并内置联合社交协议让博客不再是孤岛。 旧版已归档至 https://github.com/grtsinry43/grtblog-legacy 特性 - 极速加载 — 页面以纯静态 HTML 分发，首屏 架构 三个平面： 平面 组件 职责 ------ ------ ------ 控制平面 Go (Fiber) API、ISR 调度、WebSocket Hub、联合协议、认证鉴权 渲染平面 SvelteKit SSR 渲染工厂，由 Go 后端驱动生成静态 HTML 数据平面 Nginx 静态文件分发、反向代理、降级只读网关 ISR (Incremental Static Regeneration)： 内容变更时，Go 后端计算受影响路径 → 请求 SvelteKit 渲染 → 原子写入静态文件 → WebSocket 广播实时更新。 技术栈 层 技术 ---- ------ 后端 Go 1.24+, Fiber, GORM, Goose, Casbin, JWT 前台 SvelteKit, Svelte 5 (Runes), Tailwind CSS v4, TanStack Query 后台 Vue 3.5, Naive UI, Tailwind CSS, Pinia, Vite 数据库 PostgreSQL 17 缓存 Redis 7 部署 Docker Compose, Nginx, GitHub Actions, GHCR / Docker Hub / CNB 快速开始 使用预构建镜像部署（推荐） 一键安装（推荐）： 脚本会自动检测环境、选择镜像源、生成密钥、下载配置并启动服务。 手动安装 首次启动会自动拉取镜像、运行数据库迁移。 - 博客首页: http://your-server-ip - 管理后台: http://your-server-ip/admin/ 完整站点备份位于管理后台“设置 → 备份与恢复”：可手动或定时导出数据库、配置、内容、互动记录与上传文件，生成可下载的 tar.gz 。恢复会覆盖整个网站并自动重启服务；全新安装也可以在初始化页直接上传完整备份。 本地构建部署 详细部署说明见 部署文档。 升级 Nginx 无需重启，自动发现新容器。 本地开发 详细开发说明见 CONTRIBUTING.md。 项目结构 文档 文档 说明 ------ ------ 项目介绍 核心特性与定位 快速部署 部署步骤与配置 写作指南 内容创作与管理 个性化配置 站点设置 架构总览 系统设计与 ISR 机制 后端架构 Go 服务端 DDD 架构 前端架构 SvelteKit 前台设计 管理后台 Vue 3 Admin 开发 数据迁移（v1 - v2） 已提供 API 迁移脚本： scripts/migrate-v1-to-v2.mjs 使用说明见： scripts/migrate-v1-to-v2.md Star History 致谢 本项目的许多设计灵感与交互理念来源于 Innei 的 Shiro，包括布局、文章手记、创作律动等模块的视觉风格与体验设计均深受其启发，万分感谢 Innei 大佬为开源社区带来的优秀作品！ 本项目包含第三方开源软件，详见 THIRD PARTY NOTICES.md。 License MIT","default_branch":null,"files":null,"tree":[],"storefront":"/r/grtsinry43","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/grtsinry43/grtblog/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}