Before the web, there were BBSes — bulletin board systems you dialed into directly, one caller at a time, to read messages, play door games, and trade files. As part of FlameNet I wanted a real one back. Here's the setup.
ENiGMA½
The modern BBS of choice is ENiGMA½ — a Node.js BBS package supporting message networks, door games, file areas, and ANSI art, accepting connections over both telnet and SSH. Actively maintained and surprisingly full-featured.
Dockerizing it
I run it as a container with a bind-mounted config so the board survives rebuilds:
services:
enigma:
image: enigmabbs/enigma-bbs:latest
ports:
- "8888:8888" # telnet
- "8889:8889" # ssh
volumes:
- ./enigma/config:/enigma-bbs/config
- ./enigma/db:/enigma-bbs/db
Everything — themes, message areas, login servers, the SSH host key — is defined in a single config.hjson. (If you ever publish your config, scrub the private-key passphrase first. Ask me how I know.)
Connecting
Any telnet or SSH client works. The board greets you with ANSI art, a login prompt, and the unmistakable feeling that it's 1996 again.
The full Docker setup is on my GitLab. More FlameNet writeups soon.




