下一代的社区系统,为未来而构建
💡 简介
Symphony([ˈsɪmfəni],n.交响乐)是一个现代化的社区平台,因为它:
实现了面向内容讨论的论坛
实现了面向知识问答的社区
包含了面向用户分享、交友、游戏的社交网络
100% 开源
⚡ 动机
很多社区论坛系统:
界面风格老式,没有跟上时代发展的步伐
缺少创新、好玩的特性,缺少现代化的交互元素和用户体验
缺乏考虑实际运营需求,管理功能过于单一
细节不够精致、缺乏长期维护
🗃 案例
社区版:
商业版:
✨ 特性
🎨 界面
以下截图来自 Sym 商业版。
首页
列表
帖子
发帖
用户 - PC 端
多主题
🛠️ 安装
先在 MySQL 中手动建库(库名 symphony,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci),然后按照如下方式之一启动服务。
war 包启动
下载最新的 Sym 包解压,进入解压目录执行:
Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.symphony.Starter
Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.symphony.Starter
如果要将 war 包部署到 Servlet 容器中启动请参考安装指南。
Docker 部署
获取最新镜像:
docker pull b3log/symphony
启动容器:
docker run --detach --name sym --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/symphony?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
b3log/symphony --listen_port=8080 --server_scheme=http --server_host=localhost
为了简单,使用了主机网络模式来连接主机上的 MySQL。
启动参数说明:
--listen_port:进程监听端口
--server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
--server_host:最终访问域名或公网 IP,不要带端口号
完整启动参数的说明可以使用 -h 来查看。
📜 文档
📄 授权
社区版:使用 AGPLv3 开源,如果你选择使用社区版,则必须完全遵守 AGPLv3 的相关条款
商业版:提供完整源码以便二开,报价 ¥20000
云服务:提供开箱即用的云端服务,每年 ¥5000
关于商业版和社区版的对比请看这里,企业网站、经营性网站、以营利为目的或实现盈利的网站请购买商业版。
欢迎联系 QQ 845765 或邮箱 d@b3log.org 进行细节咨询。
🏘️ 社区
🙏 鸣谢
jQuery:前端 JavaScript 工具库
Vditor: 浏览器端的 Markdown 编辑器
pjax:pushState + ajax = pjax
MathJax:前端数学公式渲染引擎
Sass:前端 CSS 处理工具
jsoup:Java HTML 解析器
flexmark:Java Markdown 处理库
Jodd:Java 工具库集
Latke:以 JSON 为主的 Java Web 框架
安全方面特别感谢:
👍 开源项目推荐
如果你需要搭建一个个人博客系统,可以考虑使用 Solo
如果你需要搭建一个多用户博客平台,可以考虑使用 Pipe
欢迎加入我们的小众开源社区,详情请看这里