NodeBB

基于 Node.js 的论坛软件,为现代网络而建。(Node.js based forum software built for the modern web)

Github stars Tracking Chart

NodeBB

NodeBB 论坛软件 由Node.js 支持,并建立在 Redis 或 MongoDB 数据库上。它利用网络套接字进行即时交互和实时通知。 NodeBB 具有很多现成的功能,例如社交网络集成和流媒体讨论,同时仍然确保与旧版浏览器兼容。

通过使用第三方插件启用其他功能。

截图

NodeBB 的主题引擎非常灵活,不会限制您的设计选择。(截图恕删略)

我们极简主义的“人物角色”主题让你马上开始,无需编码经验。

如何关注/贡献?

  • 如果您是开发人员,请随时查看源代码并提交 pull 请求。我们还有大量的插件,这将是学习代码库的一个很好的起点。
  • 如果您是设计师,请 NodeBB 需要主题! NodeBB 的主题系统允许扩展基本模板以及通过 LESS 或 CSS 进行样式设计。 NodeBB 的基本主题使用 Bootstrap 3 ,但主题可以选择完全使用不同的框架。
  • 如果您了解英语以外的其他语言,则可以帮助我们翻译 NodeBB。我们使用 Transifex 进行国际化。
  • 请不要忘记likefollowstar our repo!加入我们不断发展的社区,跟上最新的 NodeBB 发展。

要求

NodeBB 需要安装以下软件:

  • 至少6个或更多版本的Node.js(安装/升级说明
  • Redis 2.8.9 或更高版本 MongoDB 2.6 或更高版本
  • nginx,版本 1.3.13 或更高版本(仅当打算使用nginx 将请求代理到 NodeBB时)

安装

请参阅平台特定的安装文档

保护 NodeBB

确保您的 NodeBB 和数据库服务器的安全非常重要。记住这些要点:

  1. 虽然有些发行版以更严格的配置设置 Redis,但默认情况下,Redis 会侦听所有接口,这在服务器向公众开放时尤其危险。一些建议:
    • 将 bind_address 设置为 127.0.0.1 ,以便仅限访问本地计算机
    • 使用 requirepass 来保护 Redis 的密码(最好是长密码)
    • 熟悉 Redis Security
  2. 使用 iptables 来保护您的服务器免受意外打开的端口影响。在Ubuntu中, ufw 提供了一个友好的界面来处理 iptables 。
    • e.g。如果您的 NodeBB 是代理服务器,则除80(可能为22,用于SSH访问)之外,不应打开任何端口

升级 NodeBB

详细的升级说明在升级 NodeBB 中列出

许可证

NodeBB 获得 GNU 通用公共许可证 v3(GPL-3)( http: //www.gnu.org/copyleft/gpl.html )。

对于在非自由/限制性环境中使用 NodeBB 的分许可协议感兴趣?请通过sales@nodebb.org联系我们。

(The first version translated by vz on 2020.08.29)

Overview

Name With OwnerNodeBB/NodeBB
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 8)
PlatformLinux, Mac, Windows, BSD, SmartOS
License:GNU General Public License v3.0
Release Count417
Last Release Namev3.7.5 (Posted on 2024-05-03 14:18:21)
First Release Namev0.0.3 (Posted on 2013-07-16 16:25:25)
Created At2013-04-22 16:49:40
Pushed At2024-05-06 15:14:17
Last Commit At2024-05-03 14:18:22
Stargazers Count13.9k
Watchers Count372
Fork Count2.7k
Commits Count27.2k
Has Issues Enabled
Issues Count7921
Issue Open Count145
Pull Requests Count3705
Pull Requests Open Count27
Pull Requests Close Count810
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Build Status
Coverage Status
Dependency Status
Code Climate

NodeBB Forum Software is powered by Node.js and built on either a Redis or MongoDB database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.

Additional functionality is enabled through the use of third-party plugins.

Screenshots

NodeBB's theming engine is highly flexible and does not restrict your design choices. Check out some themed installs in these screenshots below:








Our minimalist "Persona" theme gets you going right away, no coding experience required.


How can I follow along/contribute?

  • If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of plugins which would be a great starting point for learning the codebase.
  • If you are a designer, NodeBB needs themes! NodeBB's theming system allows extension of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes Bootstrap 3 but themes can choose to use a different framework altogether.
  • If you know languages other than English you can help us translate NodeBB. We use Transifex for internationalization.
  • Please don't forget to like, follow, and star our repo! Join our growing community to keep up to date with the latest NodeBB development.

Requirements

NodeBB requires the following software to be installed:

  • A version of Node.js at least 8 or greater (installation/upgrade instructions)
  • Redis, version 2.8.9 or greater or MongoDB, version 2.6 or greater
  • nginx, version 1.3.13 or greater (only if intending to use nginx to proxy requests to a NodeBB)

Installation

Please refer to platform-specific installation documentation

Securing NodeBB

It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:

  1. While some distributions set up Redis with a more restrictive configuration, Redis by default listens to all interfaces, which is especially dangerous when a server is open to the public. Some suggestions:
    • Set bind_address to 127.0.0.1 so as to restrict access to the local machine only
    • Use requirepass to secure Redis behind a password (preferably a long one)
    • Familiarise yourself with Redis Security
  2. Use iptables to secure your server from unintended open ports. In Ubuntu, ufw provides a friendlier interface to working with iptables.
    • e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)

Upgrading NodeBB

Detailed upgrade instructions are listed in Upgrading NodeBB

License

NodeBB is licensed under the GNU General Public License v3 (GPL-3) (http://www.gnu.org/copyleft/gpl.html).

Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at sales@nodebb.org.

To the top