7ba70d1561
* chore: up deps * chore: up composer * fix(deps): bump 2factor to v7 * chore: up harmony * chore: up harmony * fix: missing await * feat: allow middlewares to pass in template values via res.locals * feat: buildAccountData middleware automatically added ot all account routes * fix: properly allow values in res.locals.templateValues to be added to the template data * refactor: user/blocks * refactor(accounts): categories and consent * feat: automatically 404 if exposeUid or exposeGroupName come up empty * refactor: remove calls to getUserDataByUserSlug for most account routes, since it is populated via middleware now * fix: allow exposeUid and exposeGroupName to work with slugs with mixed capitalization * fix: move reputation removal check to accountHelpers method * test: skip i18n tests if ref branch when present is not develop * fix(deps): bump theme versions * fix(deps): bump ntfy and 2factor * chore: up harmony * fix: add missing return * fix: #11191, only focus on search input on md environments and up * feat: allow file uploads on mobile chat closes https://github.com/NodeBB/NodeBB/issues/11217 * chore: up themes * chore: add lang string * fix(deps): bump ntfy to 1.0.15 * refactor: use new if/each syntax * chore: up composer * fix: regression from user helper refactor * chore: up harmony * chore: up composer * chore: up harmony * chore: up harmony * chore: up harmony * chore: fix composer version * feat: add increment helper * chore: up harmony * fix: #11228 no timestamps in future ⌛ * chore: up harmony * check config.theme as well fire action:posts.loaded after processing dom * chore: up harmony * chore: up harmony * chore: up harmony * chore: up themes * chore: up harmony * remove extra class * refactor: move these to core from harmony * chore: up widgets * chore: up widgets * height auto * fix: closes #11238 * dont focus inputs, annoying on mobile * fix: dont focus twice, only focus on chat input on desktop dont wrap widget footer in row * chore: up harmony * chore: up harmony * update chat window * chore: up themes * fix cache buster for skins * chat fixes * chore: up harmony * chore: up composer * refactor: change hook logs to debug * fix: scroll to post right after adding to dom * fix: hash scrolling and highlighting correct post * test: re-enable read API schema tests * fix: add back schema changes for 179faa2270f2ad955dcc4a7b04755acce59e6ffd and c3920ccb10d8ead2dcd9914bb1784bed3f6adfd4 * fix: schema changes from |
2 years ago | |
---|---|---|
.github | 2 years ago | |
.husky | 4 years ago | |
.tx | 2 years ago | |
build | 7 years ago | |
install | 2 years ago | |
logs | 11 years ago | |
public | 2 years ago | |
src | 2 years ago | |
test | 2 years ago | |
.codeclimate.yml | 3 years ago | |
.editorconfig | 10 years ago | |
.eslintignore | 2 years ago | |
.eslintrc | 3 years ago | |
.gitattributes | 10 years ago | |
.gitignore | 3 years ago | |
.mocharc.yml | 5 years ago | |
CHANGELOG.md | 2 years ago | |
Dockerfile | 3 years ago | |
Gruntfile.js | 2 years ago | |
LICENSE | 12 years ago | |
README.md | 2 years ago | |
app.js | 3 years ago | |
commitlint.config.js | 4 years ago | |
docker-compose.yml | 5 years ago | |
loader.js | 3 years ago | |
nodebb | 7 years ago | |
nodebb.bat | 6 years ago | |
renovate.json | 3 years ago | |
require-main.js | 6 years ago | |
webpack.common.js | 2 years ago | |
webpack.dev.js | 2 years ago | |
webpack.installer.js | 3 years ago | |
webpack.prod.js | 2 years ago |
README.md
NodeBB Forum Software 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 | Documentation
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 12 or greater (installation/upgrade instructions)
- MongoDB, version 3.6 or greater or Redis, version 2.8.9 or greater
- If you are using clustering 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
Securing NodeBB
It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:
- 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
to127.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
- Set
- Use
iptables
to secure your server from unintended open ports. In Ubuntu,ufw
provides a friendlier interface to working withiptables
.- 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.
More Information/Links
- Demo
- Developer Community
- Documentation & Installation Instructions
- Help translate NodeBB
- NodeBB Blog
- Premium Hosting for NodeBB
- Unofficial IRC community – channel
#nodebb
on Libera.chat - Follow us on Twitter
- Like us on Facebook