跳转至内容
  • 首页
  • 版块
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

GooseForum:Go + Vue 3 现代化开源论坛系统 - 部署与功能详解

已定时 已固定 已锁定 已移动 源码仓库
gooseforumgo论坛系统vue3开源论坛gooseforum部署轻量级论坛程序github
1 帖子 1 发布者 10 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • L 在线
    L 在线
    loveos
    编写于 最后由 loveos 编辑
    #1

    一、项目简介

    GooseForum 是一个现代化的技术交流社区平台,采用 Go + Vue 3 + TailwindCSS 技术栈开发。项目保持简单部署,同时通过服务端 payload 驱动 SPA 体验,并保留 no-js HTML 渲染用于 SEO 和降级访问。

    • GitHub 地址:https://github.com/leancodebox/GooseForum
    • 在线体验:https://gooseforum.online/
    • 开源协议:MIT License

    二、核心特性

    2.1 用户体系

    • 用户注册/登录 — 支持邮箱激活
    • 权限管理 — 基于角色的权限控制
    • 用户中心 — 个人资料管理、头像上传
    • 积分系统 — 签到、发帖、回复奖励
    • 管理后台 — 完整的后台管理功能

    2.2 内容管理

    • 文章发布 — Markdown 编辑器+预览
    • 评论系统 — 多级评论回复
    • 文章分类 — 灵活的分类管理
    • 实时通知 — WebSocket 驱动通知
    • 聊天系统 — 实时消息

    2.3 技术特性

    • 单文件部署 — 编译后单个可执行文件
    • SQLite/MySQL 支持 — 默认 SQLite,可选 MySQL
    • 自动备份 — 定时数据库备份
    • 响应式设计 — 完美支持移动端
    • 品牌定制 — 支持自定义 Logo/文字/图片
    • Payload 驱动 SPA — 服务端输出页面 payload,前端提供平滑站内切换
    • SEO 友好 — 轻量 no-js GoHTML 渲染,兼顾搜索引擎和降级访问

    三、快速开始

    3.1 方式一:下载预编译版本(推荐)

    1. 从 GitHub Releases 下载预编译版本

    2. 解压并启动:

    # 解压
    tar -zxvf GooseForum_Linux_x86_64.tar.gz
    
    # 赋予权限
    chmod +x ./GooseForum
    
    # 启动服务
    ./GooseForum serve
    
    1. 访问 http://localhost:5234

    💡 提示:首次启动后,第一个注册的账号将自动成为管理员

    3.2 使用 GoReleaser 构建

    # 安装 GoReleaser
    go install github.com/goreleaser/goreleaser@latest
    
    # 构建所有平台
    goreleaser build --snapshot --clean
    
    # 构建当前平台
    goreleaser build --snapshot --clean --single-target
    

    3.3 方式二:从源码构建

    环境要求:

    • Go 1.24+
    • Node.js 18+
    • pnpm

    构建步骤:

    # 克隆项目
    git clone https://github.com/leancodebox/GooseForum.git
    cd GooseForum
    
    # 构建前端
    cd resource && pnpm install && pnpm build && cd ..
    
    # 构建后端
    go mod tidy
    go build -ldflags="-w -s" .
    
    # 启动服务
    ./GooseForum serve
    

    3.4 开发模式

    # 后端热重载
    air
    
    # 主站和管理后台前端
    cd resource && pnpm dev
    

    四、配置说明

    GooseForum 启动时自动创建 config.toml:

    [app]
    env = "production"              # local 或 production
    
    [server]
    port = 5234                    # 服务端口
    url = "http://localhost"        # 站点 URL
    
    [db.default]
    connection = "sqlite"           # 数据库类型 (sqlite/mysql)
    path = "./storage/database/sqlite.db"
    

    📖 详细配置说明:配置文档


    五、技术架构

    5.1 后端技术栈

    • Go 1.24+ — 主要开发语言
    • Gin — Web 框架
    • GORM — ORM 框架
    • SQLite/MySQL — 数据库支持
    • JWT — 身份认证
    • Cobra — 命令行工具

    5.2 前端技术栈

    • Vue 3 — 主站和管理后台 UI 框架
    • TypeScript — 前端类型支持
    • Payload SPA Runtime — 通过 X-Goose-Page JSON payload 实现站内导航
    • TailwindCSS 4 — CSS 框架
    • GoHTML — 轻量 no-js/SEO 模板
    • Vite — 构建工具

    5.3 管理后台技术栈

    • Vue 3 + TypeScript — 管理后台应用
    • TailwindCSS 4 — 独立样式和设计变量
    • Reka UI / VueUse — 可访问性基础组件和交互工具
    • Unovis — 图表和统计可视化
    • SortableJS / vuedraggable — 运营列表拖拽排序

    六、项目结构

    GooseForum/
    ├── app/                # 后端代码
    │   ├── bundles/       # 工具包(JWT、缓存、事件)
    │   ├── console/        # CLI 命令
    │   ├── http/           # 控制器、中间件、路由
    │   ├── models/         # GORM 模型
    │   └── service/        # 业务服务
    ├── resource/          # 前端资源
    │   ├── src/
    │   │   ├── site/       # 主站 Vue 应用
    │   │   ├── admin/      # 管理后台 Vue 应用
    │   │   ├── runtime/    # 共享 payload 运行时
    │   │   ├── styles/     # 主站样式
    │   │   └── types/      # 共享前端类型
    │   ├── static/         # 静态资源
    │   └── templates/      # no-js/SEO GoHTML 模板
    ├── docs/               # 文档
    ├── main.go             # 程序入口
    └── config.toml         # 配置文件
    

    七、管理功能

    7.1 命令行管理

    # 设置管理员
    ./GooseForum set-user-admin <用户ID>
    
    # 设置用户邮箱
    ./GooseForum set-user-email <用户ID> <邮箱>
    
    # 重置用户密码
    ./GooseForum set-user-password <用户ID> <密码>
    

    7.2 管理后台功能

    • 用户管理 — 搜索、筛选、封禁、删除用户
    • 站点设置 — 基本信息、品牌设置、Footer、邮件、安全、发帖设置
    • 分类管理 — 创建、编辑、删除分类
    • 赞助商管理 — 赞助商等级和用户赞助记录
    • 仪表盘 — 流量统计、每日数据

    7.3 数据备份

    • 自动定时备份 SQLite 数据库
    • 可配置备份频率和保留数量
    • 备份文件存储在 ./storage/databasebackup/ 目录

    八、部署建议

    8.1 生产环境部署

    1. 使用反向代理(Nginx/Apache)
    2. 配置 HTTPS 证书
    3. 设置定时备份
    4. 监控日志文件

    8.2 Docker 部署

    FROM alpine:latest
    RUN apk --no-cache add ca-certificates
    WORKDIR /root/
    COPY GooseForum .
    CMD ["./GooseForum", "serve"]
    

    九、相关文档

    • 配置文档 — 详细的配置选项说明
    • Resource 前端设计
    • Resource UI 规范
    • 文章置顶方案
    • Resource 管理后台现状
    1 条回复 最后回复
    0

    你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

    厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

    有了你的建议,这篇帖子会更精彩哦 💗

    注册 登录
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 登录或注册以进行搜索。
    Powered by Cnp.Cc Categories
    • 第一个帖子
      最后一个帖子
    0
    • 首页
    • 版块
    • 标签
    • 热门
    • 世界
    • 用户
    • 群组