* Docs theme to match ENiGMA website

* New docs layout ready for github pages serving
* Tonnes of new docs
* Update gitignore
* Probably other stuff too
This commit is contained in:
David Stephens
2018-01-31 23:35:54 +00:00
parent 06ea2d1600
commit 26849ba4fa
62 changed files with 1974 additions and 810 deletions

View File

@@ -0,0 +1,21 @@
---
layout: page
title: Docker
---
**You'll need Docker installed before going any further. How to do so are out of scope of these docs, but you can find full instructions
for every operating system on the [Docker website](https://docs.docker.com/engine/installation/).**
## Quick Start
Download and run the ENiGMA½ BBS image:
docker run -d \
-p 8888:8888 \
davestephens\enigma-bbs
As no config has been supplied the container will use a basic one so that it starts successfully. Note that as no persistence
directory has been supplied, once the container stops any changes made will be lost!
## Customised Docker Setup
TBC using Docker Compose

View File

@@ -0,0 +1,16 @@
---
layout: page
title: Install Script
---
Under most Linux/UNIX like environments (Linux, BSD, OS X, ...) new users can simply execute the
`install.sh` script to get everything up and running. Cut + paste the following into your terminal:
```
curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | bash
```
It is recommended you review the [installation script](https://github.com/NuSkooler/enigma-bbs/blob/master/misc/install.sh)
on GitHub before running it.
The script will install nvm, Node.js 6 and grab the latest ENiGMA BBS from GitHub. It will also guide you
through creating a basic configuration file, and recommend some packages to install.

View File

@@ -0,0 +1,13 @@
---
layout: page
title: Installation Methods
---
There are multiple ways of installing ENiGMA BBS, depending on your level of experience and desire to do
things manually versus have it automated for you.
| Method | Operating System Compatibility | Notes |
|----------------------------------------|------------------------------------------------|---------------------------------------------------------------------------------------------|
| [Installation Script](install-script) | Linux, BSD, OSX | Quick and easy installation under most Linux/UNIX like environments (Linux, BSD, OS X, ...) |
| [Docker Images](docker) | Linux, BSD, OSX, Windows | Easy upgrades, compatible with all operating systems, no dependencies to install |
| [Manual Installation](manual) | Linux, Windows (probably others but untested! | If you like doing things manually, or are running Windows |

View File

@@ -0,0 +1,74 @@
---
layout: page
title: Manual Installation
---
For Linux environments it's recommended you run the [install script](install-script.md). If you like to
do things manually, read on...
## Prerequisites
* [Node.js](https://nodejs.org/) version **v6.x or higher**
* :information_source: It is **highly** recommended to use [nvm](https://github.com/creationix/nvm) to manage your
Node.js installation if you're on a Linux/Unix environment.
* [Python](https://www.python.org/downloads/) 2.7.x for compiling Node.js packages with native extensions.
* 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**.
* [git](https://git-scm.com/downloads) to check out the ENiGMA source code.
## Node.js
If you're new to Node.js and/or do not care about Node itself and just want to get ENiGMA½ running
these steps should get you going on most \*nix type environments:
```bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
nvm install 6
nvm use 6
```
If the above 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/).
## ENiGMA BBS
```bash
git clone https://github.com/NuSkooler/enigma-bbs.git
```
## Install Node Packages
```bash
cd enigma-bbs
npm install
```
## Other Recommended Packages
ENiGMA BBS makes use of a few packages for unarchiving and modem 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 system path.
| Package | Description | Ubuntu Package | CentOS Package Name | Windows Package |
|------------|-----------------------------------|--------------------------------------------|---------------------------------------------------|------------------------------------------------------------------|
| arj | Unpacking arj archives | `arj` | n/a, binaries [here](http://arj.sourceforge.net/) | [ARJ](http://arj.sourceforge.net/) |
| 7zip | Unpacking zip, rar, lha archives | `p7zip-full` | `p7zip-full` | [7-zip](http://www.7-zip.org/) |
| lrzsz | sz/rz: X/Y/Z modem support | `lrzsz` | `lrzsz` | Unknown |
| sexyz | SexyZ modem support | [sexyz](https://l33t.codes/outgoing/sexyz) | [sexyz](https://l33t.codes/outgoing/sexyz) | Available with [Synchronet](http://wiki.synchro.net/install:win) |
- exiftool & other external tools
## 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](http://hjson.org/) file (compiliant JSON is also OK).
See [Configuration](../configuration/) for more information.
Use `oputil.js` to generate your **initial** configuration:
```bash
./oputil.js config new
```
Follow the prompts!

View File

@@ -0,0 +1,6 @@
---
layout: page
title: Network Setup
---
:zap: This page is to describe general information on how to set your router to forward traffic to ENiGMA. It
needs fleshing out, please submit a PR if you'd like to help!

View File

@@ -0,0 +1,32 @@
---
layout: page
title: OS & Hardware Specific Information
---
## Raspberry Pi
All Raspberry Pi models work great with ENiGMA½! Keep in mind compiling the dependencies with
`npm install` will take some time and *may* appear to hang. It's still working - just be patient and let it
complete.
### Basic Instructions
1. Download [Raspbian Stretch Lite](https://www.raspberrypi.org/downloads/raspbian/). Follow the instructions
on the [Raspbian site](https://www.raspberrypi.org/documentation/installation/installing-images/README.md) regarding how
to get it written to an SD card.
2. Run `sudo raspi-config`, then:
1. Set your timezone (option 4, option I2)
2. Enable SSH (option 5, option P2)
3. Expand the filesystem to use the entire SD card (option 7, option A1)
3. Update & upgrade all packages: `apt-get update && apt-get upgrade`
4. Install required packages: `sudo apt install lrzsz p7zip-full`
5. Follow the [installation instructions](/installation) to install ENiGMA½.
6. Profit!
## Windows
Needs more info, please submit a PR!

View File

@@ -0,0 +1,12 @@
---
layout: page
title: Production Installation
---
If you've become convinced you would like a "production" BBS running ENiGMA½ a more advanced installation
may be in order.
[PM2](https://github.com/Unitech/pm2) is an excellent choice for managing your running ENiGMA½ instances if
you've installed via the [install script](install-script) or [manual installation](manual) method.
Additionally, it is suggested that you run as a specific more locked down user (e.g. 'enigma').
If you're running ENiGMA via Docker, then process management is already handled for you!

View File

@@ -0,0 +1,44 @@
---
layout: page
title: Testing Your Installation
---
Once you've completed your chosen installation method, it's time to test!
_Note that if you've used the [Docker](docker) installation method, you've already done this._
```bash
./main.js
```
If everything went OK:
```bash
ENiGMA½ Copyright (c) 2014-2018 Bryan Ashby
_____________________ _____ ____________________ __________\_ /
\__ ____/\_ ____ \ /____/ / _____ __ \ / ______/ // /___jp!
// __|___// | \// |// | \// | | \// \ /___ /_____
/____ _____| __________ ___|__| ____| \ / _____ \
---- \______\ -- |______\ ------ /______/ ---- |______\ - |______\ /__/ // ___/
/__ _\
<*> ENiGMA½ // HTTPS://GITHUB.COM/NUSKOOLER/ENIGMA-BBS <*> /__/
-------------------------------------------------------------------------------
System started!
```
Grab your favourite telnet client, connect to localhost:8888 and test out your installation.
## Points of Interest
* The default port for Telnet is 8888 and 8889 for SSH.
* Note that on *nix systems port such as telnet/23 are privileged (e.g. require root). See
[this SO article](http://stackoverflow.com/questions/16573668/best-practices-when-running-node-js-with-port-80-ubuntu-linode) for some tips on using these ports on your system if desired.
* The first user you create when logging in will be automatically be added to the `sysops` group.
## Telnet Software
If you don't have any telnet software, these are compatible with ENiGMA½:
* [SyncTERM](http://syncterm.bbsdev.net/)
* [EtherTerm](https://github.com/M-griffin/EtherTerm)
* [NetRunner](http://mysticbbs.com/downloads.html)