Skip to content
/ nobbic Public
forked from ahwayakchih/nobbic

🦾🍱 Nobbic helps you quickly setup a pod with NodeBB, database, NGINX, etc... containers.

License

Notifications You must be signed in to change notification settings

nhlpl/nobbic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nobbic

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.

Requirements

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.

Compatibility

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.

Installation

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.

Usage

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.

TODO

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.

Why "Nobbic"?

Because it's a NodeBB In a Container ;).

About

🦾🍱 Nobbic helps you quickly setup a pod with NodeBB, database, NGINX, etc... containers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 78.8%
  • JavaScript 21.2%