Skip to content

Manual Installation

For Linux environments it’s recommended you run the install script. If you like to do things manually, read on…

  • Node.js version v22.x LTS or higher.

    • Tip: It is highly recommended to use Node Version Manager (NVM) to manage your Node.js installation if you’re on a Linux/Unix environment.
  • Python for compiling Node.js packages with native extensions via node-gyp.

  • A compiler such as Clang or GCC for Linux/UNIX systems or a recent copy of Visual Studio (Visual Studio Express editions are OK) for Windows users. Note that you should only need the Visual C++ component.

  • Git to check out the ENiGMA source code.

Node Version Manager (NVM) is an excellent way to install and manage Node.js versions on most UNIX-like environments. Get the latest version here. The nvm install may look something like this:

Terminal window
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

Next, install Node.js with NVM:

Terminal window
nvm install 22
nvm use 22
nvm alias default 22

If the above steps completed without errors, you should now have nvm, node, and npm installed and in your environment.

For Windows nvm-like systems exist (nvm-windows, …) or just download the installer.

Terminal window
git clone https://github.com/NuSkooler/enigma-bbs.git
Terminal window
cd enigma-bbs
npm install # yarn also works

ENiGMA BBS makes use of a few packages for archive and legacy protocol support. They’re not pre-requisites for running ENiGMA, but without them you’ll miss certain functionality. Once installed, they should be made available on your systems PATH.

You’ll need a basic configuration to get started. The main system configuration is handled via config/config.hjson. This is an HJSON file (compliant JSON is also OK). See Configuration for more information.

Use oputil.js to generate your initial configuration:

Terminal window
./oputil.js config new

Follow the prompts! Then test your installation.