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.