异世界红茶馆的源码
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
renovate[bot] 804542e403
chore(deps): update dependency lint-staged to v12.4.1 (#10527)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
3 years ago
.github test: remove node18 until nodemailer is fixed 3 years ago
.husky
.tx feat: add Albanian localisation 🎉 3 years ago
build
install chore(deps): update dependency lint-staged to v12.4.1 (#10527) 3 years ago
logs
public fix: typo in hook name 3 years ago
src feat: make it simpler to use redis sentinels 3 years ago
test fix: upload test for latest sharp 3 years ago
.codeclimate.yml style: give me an A! 💯 3 years ago
.editorconfig
.eslintignore
.eslintrc
.gitattributes
.gitignore chore: add test.sh to gitignore 3 years ago
.mocharc.yml
CHANGELOG.md chore: update changelog for v1.19.6 3 years ago
Dockerfile Allow NodeBB setup with env vars (#9850) 3 years ago
Gruntfile.js
LICENSE
README.md docs: use social media card in readme header 3 years ago
app.js refactor: update dates 3 years ago
commitlint.config.js
docker-compose.yml
loader.js refactor: remove console.log 3 years ago
nodebb
nodebb.bat
renovate.json chore: fix #9213 3 years ago
require-main.js

README.md

NodeBB

Workflow Coverage Status Code Climate

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:

  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.