* 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:
21
docs/installation/docker.md
Normal file
21
docs/installation/docker.md
Normal 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
|
||||
16
docs/installation/install-script.md
Normal file
16
docs/installation/install-script.md
Normal 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.
|
||||
13
docs/installation/installation-methods.md
Normal file
13
docs/installation/installation-methods.md
Normal 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 |
|
||||
|
||||
74
docs/installation/manual.md
Normal file
74
docs/installation/manual.md
Normal 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!
|
||||
6
docs/installation/network.md
Normal file
6
docs/installation/network.md
Normal 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!
|
||||
32
docs/installation/os-hardware.md
Normal file
32
docs/installation/os-hardware.md
Normal 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!
|
||||
12
docs/installation/production.md
Normal file
12
docs/installation/production.md
Normal 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!
|
||||
44
docs/installation/testing.md
Normal file
44
docs/installation/testing.md
Normal 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)
|
||||
Reference in New Issue
Block a user