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) |
- Any more space optimisations?
- Install packages for mods on container init
This project is licensed under the BSD 2-Clause License.