I don't think this is realistic until core switches to typescript.
NodeBB CentOS Dockerfile
I'm working on making a NodeBB CentOS based Docker image, you can find it on github. Since Docker works differently, we can't do a normal
./nodebb setup, so instead, nodebb and redis will be run in seperate containers. Other than that, the Dockerfiles would just need to be adopted for the specific releases - ex different os, different db
You can take a look at the Docker docs here: http://docs.docker.com
Edit: I have added instructions, waiting on @julian to make an official repository so I can commit the dockerfiles, the addition of Docker images will make it easier for first timers to setup docker.
Thanks @xaoseric, looking forward to your contributions as part of the (unofficial) release team
If anybody else has experience with Docker and Ubuntu (or other OSes, as well), let me know and I'll add you to the team as well. Then you'll get commit rights to the repo containing the docker files.
Shard last edited by
This is yet another thing on my to do list.
This brings up another question. Most of the talk I have seen about clustering with NodeBB are processes on a single thread rather than an HA/LB type config.
Does anyone use multiple webheads on a NodebB datastore?
Typical scaling of NodeBB is multiple processes managed as a cluster by
loader.js. Node.js manages its own internal thread pool, so we don't touch threads.
Horizontal scaling is the next step, though we really haven't found need to pursue that quite yet.
Edit: That said, getting HAProxy running in front of multiple boxes should be trivial #famouslastwords
/-- NGINX -- NodeBB (4-8 threads) --\ / \ HAProxy -- NGINX -- NodeBB (4-8 threads) ---> -- Redis Store + Mongo DB \ / \-- NGINX -- NodeBB (4-8 threads) --/
The Dockerfiles are now in the official repository and are automatically built in the Docker Hub Registry. You can find instructions on GitHub and the Docker Hub Registry, I will be adding documentation to the docs tomorrow so instructions will be in the docs as well.
The goal of offering the Dockerfiles is to make the installation process for NodeBB easier while still allowing an experienced Docker dev to customize the experience.
May be beneficial to have separate channels for stable builds and development builds (
@julian that is a good idea. The default master branch will fetch the contents from the current stable branch such as v0.5.x, and the dev branch will fetch the content from the master branch, just append -dev for the development branch. They are currently building in Docker Hub Registry and should be good to go shortly
And for Dev:
And for Dev:
Bravo good sir.