Coder Social home page Coder Social logo

ahwayakchih / nobbic Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 577 KB

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

License: GNU General Public License v3.0

Shell 78.83% JavaScript 21.17%
containers podman nodebb

nobbic's Introduction

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 ;).

nobbic's People

Contributors

ahwayakchih avatar enoughtoo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

nhlpl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.