Nobbic helps you nicely fit NodeBB, database and other stuff into a single pod with containers controlled by podman
.
While it's quite easy to start the NodeBB docker container alone, things complicate quickly when one wants to start also database container, NGINX proxy container, etc... all the while trying out different versions of software. It's not difficult, but it takes time (and a lot of reading) if it's not something you do everyday already.
Best of all is that after NodeBB is installed and running, it can be controlled with usual podman
commands.
Nobbic does not usurp ownership of anything. It just helps to set things up and running, and then may help with backing them up, upgrading and restoring, but only if you want to - it's all optional.
All it requires to start is the bash
shell and the podman
installed and running on a Linux operating system.
Podman should be at least v2.2.1 and configured for running rootless.
If you're not running Linux at the moment, or just do not want to change anything in how it's set up, simplest way to test whole thing is to install Alpine Linux (with podman) in a virtual machine (like QEMU).
Depending on which database and additional software you will use, prepare between 360 MB (with Redis), 500 MB (with PostgreSQL) and 800 MB (with MongoDB) hard drive space at minimum. You will also need 2 GB or more of RAM available.
It was tested with various versions of NodeBB between (and including) v1.12.1 and v1.18.3. Depending on NodeBB version, it was tested with Node.js versions from 8 to 15, and various versions and combinations of databases supported by NodeBB (MongoDB, PostgreSQL and Redis).
For a full list of software, read docs/Compatibility.markdown.
You can download ZIP archive with this project from GitHub
and unzip it to selected directory, or clone repository if you already have git
installed:
git clone https://github.com/ahwayakchih/nobbic.git
Once you have directory with files in it, open command line and change to that directory, for example:
cd nobbic
Once in its directory, you can use it from command line, for example:
./nobbic help
You can add nobbic's full path to the PATH
environment variable, or keep prefixing commands with path to its location, e.g., ./nobbic
or ~/nobbic/nobic
, etc...
For clarity, example commands following in this and other documents found in "docs" subdirectory will not be prefixed, as if nobbic was added to the PATH
.
To quickly proceed to creating and starting NodeBB, try:
APP_ADD_REDIS=1 nobbic start my-new-forum
That will start latest released NodeBB version, with latest version of Redis database, and make it accessible through "http://localhost:8080" URL.
It will take some time to download and prepare all the stuff for the first time (somewhere between 15-30 minutes, but it all depends on network, available processor(s) and RAM). Every next try that uses the same Node.js version, should build much faster. Simply starting the same pod, once it was created, will be nearly as fast as if NodeBB was started directly, without any containers.
Read docs/Usage.markdown to see full list of supported actions.
This is not a finished project yet (it may never be, since it depends on other projects that are being worked on also).
Read TODO.markdown to see a list of changes that are already planned.
Because it's a NodeBB In a Container ;).