Skip to content

Docker

NodeBB includes a bundled Dockerfile and configuration for use with Docker-compatible container systems.

The configuration (and this documentation) is community-maintained, and those looking for support should create a new topic on the community forum.

Docker Compose usage

An example instance of NodeBB can also be rapidly started using Docker Compose provided in this repo. At least Docker Compose version 3.8 is required.

Choosing your database

You will need to choose the type of database first. In this repo you can choose the following three profiles

  • mongo
  • postgres
  • redis

For MongoDB, PostgreSQL (legacy), Redis support respectively. This will be supplied along with the main Docker Compose launch command as extra file source. Let's call this {DATABASE} shall we?

Starting NodeBB

To start the example, you just need to run the command in the following style

$ docker-compose --profile {DATABASE} up

After few minutes or so you should be able to see (console output may be clobbered):

nodebb_1  | Config file not found at /opt/config/config.json
nodebb_1  | Starting installer
nodebb_1  | 2022-07-10T15:05:35.085Z [23] - info: Launching web installer on port 4567
nodebb_1  | 2022-07-10T15:05:47.697Z [23] - info: Web installer listening on http://0.0.0.0:4567

Now open your browser and access to http://localhost:4567.

The default database host is the name of your database, so type in redis if you used Redis, mongo using MongoDB, etc.

Your stateful files (build artifacts, node_modules, database data) will be stored at .docker at the current working directory, but you are adviced to not rely on the default Docker Compose setup and instead make up your own.

Additional information for MongoDB

For MongoDB, please notice that you need to use admin as database at the moment, since for some reason the latest version of the official MongoDB docker did not take in account for MONGO_INITDB_DATABASE, so the default admin database is still used.