2.9 KiB
layout | title |
---|---|
page | Manual Installation |
For Linux environments it's recommended you run the install script. If you like to do things manually, read on...
Prerequisites
-
Node.js version v12.x LTS or higher (Other versions may work but are not supported).
- 💡 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
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/creationix/nvm/v0.33.11/install.sh | bash
ℹ️ Do not cut+paste the above command! Visit the NVM page and run the latest version!
Next, install Node.js with NVM:
nvm install 12
nvm use 12
nvm alias default 12
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.
ENiGMA BBS
git clone https://github.com/NuSkooler/enigma-bbs.git
Install Node Packages
cd enigma-bbs
npm install # yarn also works
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
.
ℹ️ Please see External Binaries for information on setting these up.
ℹ️ Additional information in Archivers and File Transfer Protocols
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 (compiliant JSON is also OK). See Configuration for more information.
Use oputil.js
to generate your initial configuration:
./oputil.js config new
Follow the prompts!