Manual Installation
For Linux environments it’s recommended you run the install script. If you like to do things manually, read on…
Prerequisites
Section titled “Prerequisites”-
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.js
Section titled “Node.js”With NVM
Section titled “With NVM”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:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bashNext, install Node.js with NVM:
nvm install 22nvm use 22nvm alias default 22If 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.
ENiGMA BBS
Section titled “ENiGMA BBS”git clone https://github.com/NuSkooler/enigma-bbs.gitInstall Node Packages
Section titled “Install Node Packages”cd enigma-bbsnpm install # yarn also worksOther Recommended Packages
Section titled “Other Recommended Packages”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.
Config Files
Section titled “Config Files”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:
./oputil.js config newFollow the prompts! Then test your installation.