enigma-bbs/docs/installation/manual.md

69 lines
2.9 KiB
Markdown
Raw Normal View History

---
layout: page
title: Manual Installation
---
2020-06-13 12:07:19 +00:00
For Linux environments it's recommended you run the [install script](install-script.md). If you like to
do things manually, read on...
## Prerequisites
2020-08-22 19:31:21 +00:00
* [Node.js](https://nodejs.org/) version **v12.x LTS or higher** (Other versions may work but are not supported).
2020-11-21 19:19:18 +00:00
* :bulb: It is **highly** recommended to use [Node Version Manager (NVM)](https://github.com/creationix/nvm) to manage your Node.js installation if you're on a Linux/Unix environment.
2020-06-13 12:07:19 +00:00
2020-08-22 19:26:24 +00:00
* [Python](https://www.python.org/downloads/) for compiling Node.js packages with native extensions via `node-gyp`.
2020-06-13 12:07:19 +00:00
* A compiler such as Clang or GCC for Linux/UNIX systems or a recent copy of Visual Studio
([Visual Studio Express](https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx) editions
are OK) for Windows users. Note that you **should only need the Visual C++ component**.
2020-08-22 19:26:24 +00:00
* [Git](https://git-scm.com/downloads) to check out the ENiGMA source code.
2020-06-13 12:07:19 +00:00
## Node.js
2018-11-23 18:05:51 +00:00
### With NVM
2018-12-11 05:29:28 +00:00
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](https://github.com/creationix/nvm). The nvm install may look _something_ like this:
```bash
2018-11-23 18:05:51 +00:00
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
```
2018-12-11 05:29:28 +00:00
:information_source: Do not cut+paste the above command! Visit the [NVM](https://github.com/creationix/nvm) page and run the latest version!
2018-11-23 18:05:51 +00:00
Next, install Node.js with NVM:
```bash
2020-08-22 19:26:24 +00:00
nvm install 12
nvm use 12
nvm alias default 12
2018-11-23 18:05:51 +00:00
```
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](https://github.com/coreybutler/nvm-windows), ...) or [just download the installer](https://nodejs.org/en/download/).
2020-06-13 12:07:19 +00:00
## ENiGMA BBS
```bash
git clone https://github.com/NuSkooler/enigma-bbs.git
```
## Install Node Packages
```bash
cd enigma-bbs
2018-11-23 18:05:51 +00:00
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`.
2020-11-22 20:44:05 +00:00
:information_source: Please see [External Binaries](../configuration/external-binaries.md) for information on setting these up.
2020-11-22 20:44:05 +00:00
:information_source: Additional information in [Archivers](../configuration/archivers.md) and [File Transfer Protocols](../configuration/file-transfer-protocols.md)
2020-08-22 19:26:24 +00:00
## Config Files
2020-11-22 20:43:04 +00:00
You'll need a basic configuration to get started. The main system configuration is handled via `config/config.hjson`. This is an [HJSON](http://hjson.org/) file (compliant JSON is also OK). See [Configuration](../configuration/) for more information.
2020-06-13 12:07:19 +00:00
Use `oputil.js` to generate your **initial** configuration:
```bash
./oputil.js config new
```
Follow the prompts!