Skip to content

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

The script will install nvm, Node.js 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.

Once it finishes, test your installation.

When it installs ENiGMA½, the script asks:

Install the enig-term web terminal? [y/N]

enig-term is a browser terminal that ENiGMA½ serves at /_enig/ws-term/. The answer defaults to no. Answer y and the script downloads the latest enig-term release from GitHub, checks it against the release’s SHA256SUMS, and unpacks it into ws-term in your install directory, which is all it takes to turn the route on. If the download fails, does not match its checksum, or curl/wget, tar or sha256sum/shasum is missing, it says so, installs nothing, and the rest of the installation carries on.

Answer ahead of time, or when there is no terminal to ask on, with environment variables:

VariableEffect
ENIGMA_INSTALL_ENIG_TERMyes installs enig-term without asking, no skips it. With no terminal to ask on, the default is no.
ENIGMA_ENIG_TERM_VERSIONInstalls that release, such as 0.1.0, instead of the latest.
curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | ENIGMA_INSTALL_ENIG_TERM=yes bash

Afterwards, enig-term needs the web server enabled and a secure WebSocket (wss://) that browsers can reach. Behind a TLS proxy, set the public endpoint in config.hjson:

contentServers: {
web: {
wsTerm: {
endpoint: "wss://bbs.example.com:44512"
}
}
}

Then browse to https://bbs.example.com/_enig/ws-term/. See enig-term Web Terminal for the rest of its settings.

You might also check out some external guides: