https://github.com/NodeBB/NodeBB
Node.js based forum software built for the modern web
https://github.com/NodeBB/NodeBB
community forum javascript mongodb node nodebb nodejs postgresql redis socket-io websockets
Last synced: about 1 month ago
JSON representation
Node.js based forum software built for the modern web
- Host: GitHub
- URL: https://github.com/NodeBB/NodeBB
- Owner: NodeBB
- License: gpl-3.0
- Created: 2013-04-22T16:49:40.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T15:20:28.000Z (6 months ago)
- Last Synced: 2024-10-29T09:35:16.258Z (6 months ago)
- Topics: community, forum, javascript, mongodb, node, nodebb, nodejs, postgresql, redis, socket-io, websockets
- Language: JavaScript
- Homepage: https://nodebb.org
- Size: 88.3 MB
- Stars: 14,190
- Watchers: 366
- Forks: 2,791
- Open Issues: 176
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Security: .github/SECURITY.md
Awesome Lists containing this project
- awesome-mongodb - NodeBB - Node.js based forum software ("built for the modern web") (Applications / Web)
- awesome-nodejs-cn - nodeBB - 面向现代 web 的论坛平台 (包 / 论坛)
- awesome-nodejs - NodeBB - Node.js based forum software built for the modern web  (Repository / Forum)
- awesome-mongodb - NodeBB - Node.js based forum software ("built for the modern web") (Applications / Web)
- awesome-github-repos - NodeBB/NodeBB - Node.js based forum software built for the modern web (JavaScript)
- my-awesome - NodeBB - Node.js based forum software built for the modern web (JavaScript)
- awesome-repositories - NodeBB/NodeBB - Node.js based forum software built for the modern web (JavaScript)
- awesome-github-star - NodeBB
- awesome-nodejs - nodeBB - Forum platform for the modern web. (Packages / Forum)
- awesome-npm - NodeBB - Node 论坛系统 (1. 后端开发 / 1.7 站点)
- awesome-open-source-systems - NodeBB - Node.js based forum software built for the modern web. (Discussion Forums / Follow me)
- awesome-node - nodeBB - Forum platform for the modern web. (Packages / Forum)
- awesome-nodejs-cn - nodeBB - Node社区论坛. (目录 / 论坛)
- awesome-nodejs-cn - nodeBB - **star:14421** 现代网络论坛平台 ![star > 2000][Awesome] (包 / 论坛)
- awesome-homelab - NodeBB
- awesome-nodejs - NodeBB - Node.js based forum software built for the modern web - ★ 9341 (Forum)
- awesome-starred - NodeBB/NodeBB - Node.js based forum software built for the modern web (mongodb)
README
# 
[](https://github.com/NodeBB/NodeBB/actions/workflows/test.yaml)
[](https://coveralls.io/github/NodeBB/NodeBB?branch=master)
[](https://codeclimate.com/github/NodeBB/NodeBB)
[](https://discord.gg/p6YKPXu7er)[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format → categorical hierarchies, local user accounts, and asynchronous messaging.
NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.
### [Try it now](//try.nodebb.org) | [Documentation](//docs.nodebb.org)
## Screenshots
NodeBB's theming engine is highly flexible and does not restrict your design choices. Check out some themed installs in these screenshots below:
[](http://i.imgur.com/VCoOFyq.png)
[](http://i.imgur.com/FLOUuIq.png)
[](http://i.imgur.com/Ud1LrfI.png)
[](http://i.imgur.com/h6yZ66s.png)
[](http://i.imgur.com/o90kVPi.png)
[](http://i.imgur.com/AaRRrU2.png)
[](http://i.imgur.com/LmHtPho.png)
[](http://i.imgur.com/paiJPJk.jpg)Our minimalist "Harmony" 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](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extension of the base templates as well as styling via SCSS or CSS. NodeBB's base theme utilizes [Bootstrap 5](http://getbootstrap.com/) as a frontend toolkit.
* If you know languages other than English you can help us translate NodeBB. We use [Transifex](https://explore.transifex.com/nodebb/nodebb/) for internationalization.
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) 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 18 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* 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](https://docs.nodebb.org/installing/os).
If installing via the cloud (or using Docker), [please see cloud-based installation documentation](https://docs.nodebb.org/installing/cloud/).## 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](http://redis.io/topics/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](https://docs.nodebb.org/configuring/upgrade/)
## 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 [email protected].
## More Information/Links
* [Demo](https://try.nodebb.org)
* [Developer Community](http://community.nodebb.org)
* [Documentation & Installation Instructions](https://docs.nodebb.org)
* [Help translate NodeBB](https://explore.transifex.com/nodebb/nodebb/)
* [NodeBB Blog](https://nodebb.org/blog)
* [Premium Hosting for NodeBB](https://www.nodebb.org/ "NodeBB")
* Unofficial IRC community – channel `#nodebb` on Libera.chat
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")