Docker container that runs ENiGMA½ BBS Software. All required packages for ENiGMA½ to run successfully are included, and pm2-docker is used to manage the Node.js process.
This container image is available from the Docker Hub.
Assuming that you have Docker installed, run the following command:
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. ENiGMA½ listens via telnet on port 8888. Connect and try it out!
So you've decided ENiGMA½ (and Docker) is for you, and you want a "proper" setup. There are a few things you need to do:
Create a directory on your Docker host machine to store ENiGMA½ data, e.g. ~/my_sweet_bbs. Within that, create directories for the mountable volumes - art, config, db, filebase, logs, mail and mods.
Create a config.hjson, menu.hjson and prompt.hjson files within the config directory you created. See the ENiGMA½ docs for available options.
Copy any customisations such as themes and mods, to the mods directory.
You should end up with a structure something like the following:
├── config
│ ├── config.hjson
│ ├── my_menus.hjson
│ └── my_prompts.hjson
├── db
├── filebase
├── logs
├── mail
├── mods
│ └── awesome_mod
└── art
├── general
└── themes
└── sick_theme
Start the container:
docker run -d \
-p 8888:8888 \
-v ~/my_sweet_bbs/art:/enigma-bbs/art \
-v ~/my_sweet_bbs/config:/enigma-bbs/config \
-v ~/my_sweet_bbs/db:/enigma-bbs/db \
-v ~/my_sweet_bbs/filebase:/enigma-bbs/filebase \
-v ~/my_sweet_bbs/logs:/enigma-bbs/logs \
-v ~/my_sweet_bbs/filebase:/enigma-bbs/filebase \
-v ~/my_sweet_bbs/mods:/enigma-bbs/mods \
-v ~/my_sweet_bbs/mail:/mail \
davestephens/enigma-bbs
The following volumes are mountable:
Volume | Usage |
---|---|
/enigma-bbs/art | Art, themes, etc |
/enigma-bbs/config | Config such as config.hjson, menu.hjson, prompt.hjson, SSL certs etc |
/enigma-bbs/db | ENiGMA databases |
/enigma-bbs/filebase | Filebase |
/enigma-bbs/logs | Logs |
/enigma-bbs/mods | ENiGMA mods |
FTN mail (for use with an external mailer) |
This project is licensed under the BSD 2-Clause License.