UPDATE: I no longer maintain these docker images. I've fallen out of love with Mystic, and while it is a good software package to get "back into" BBSING, it has a few bugs that impacted how I wanted to use it, that the author may fix one day (or may not).

The author also is not very responsive to feedback, and IMHO too hot headed (so its not worth the grief). There are other BBS packages out there that are well supported (for example Synchronet) and still have a wide usage base and updated often.

That said, there are a wealth of mods created by the BBS community, that do make for some interesting Mystic BBSes.

Mystic BBS is good software to get up and running and get (back) into the BBS scene.

There is a wealth of information on the wiki, or you can even go through Mystic Guy’s YouTube videos.

If you would like to get up and running quickly, I’ve created some Docker Images which you can use as a starting point. The images are available for Raspberry Pi (ARM) and Intel.

There are two images:

armv7lThis image is a clean installation of Mystic BBS as provided by the upstream developer. It does have the pre-requisites so that spell is enabled and cryptlib is also installed so that you can use SSH based connections.
armv7l-extrasThis image extends the base image and provides some doors and utilities.
x86_64Just like the image above, however, this is for Intel Linux platforms.
x86_64-extrasThis image extends the base image and provides some doors and utilities.

To get the images, just install docker onto your Linux platform, and then do

docker pull[TAG ABOVE]

To make sure your data is kept between re-creations of your docker container, you have two options:

  1. Start your mystic container with -v [HOST PATH]:/mystic/data, or
  2. Start your subsequent containers with --volumes_from=[ORIG CONTAINER].
    In this case, you might want to rename your old container if you want to use the same container name.

You need to map some IP ports into the container when it starts, so use -p HOST_PORT:CONTAINER_PORT, where HOST_PORT is the IP port on the host that you want the services to listen on (it can be the same as the container’s ports).

The services you’ll probably use are:

ServicePortDescriptionSuggested Mapping
ssh22SSH port for incoming SSH connections22 (or any port number)
telnet23Telnet port for incoming telnet connections23 (or any port number)
binkp24554BINKP port for incoming BBS Mail/File Transfers24554 (or any port number)

For example, if you wanted to map telnet to port 10023, ssh to port 10022, and leave binkp as it, and use /srv/docker/mystic on the host as your persistant storage inside the container, you would use:

docker run -it -v /srv/docker/mystic:/mystic data -p 10022:22 -p 10023:23 -p 24554:24554

when it starts, it will output the container ID.

Once your container is running, you can run the mystic utils by running: docker exec -it <CONTAINER_ID> [COMMAND] where COMMAND is the command you wanted to run, eg ./mystic -cfg, or ./fidopoll ....

You can also attach to the console to see what mystic is showing docker attach <CONTAINER_ID>, and to detach, you’ll need to press CTRL-PQ (which is ctrl p, ctrl q). (NOTE: You might need to press a key, to refresh the screen - using your arrows is safe.)

You could even use this image to have your containers in a docker swarm (as I do).

If you need any help, login to my BBS and send me a message, or if you use another BBS, or a Sysop of a BBS and connected to one of the networks I’m connected to, you can send me a Netmail. See the list of networks that I’m already connected to.