Installing Magicka BBS in Docker

The following is the instructions on how to install Magicka BBS in a Docker Container. These instructions have been compiled using Docker on a Raspberry Pi. (You need to have docker installed first, and this might help you get started.)

My image is available in my Docker Registry and can be obtained by using docker pull (There is an x86_64 image too, just change armv7l to x86_64.) You can use this image to run a container using docker run, or you can use it in a swarm, if you have multiple hosts. I actually use Docker Swarm myself.

NOTE: Its important that you separate “data” from the “application” and provide a persistent storage path for your container (otherwise if you recreate your container, you’ll loose your data!). On my setup my container persistent storage is storage in /srv/docker/[CONTAINER]/data. In the parent path (/srv/docker/[CONTAINER]) I keep my scripts and tools for managing the container and starting it - and since I use Docker Swarm, that is where my .yml file is.


  1. Download your favourite Linux OS and install

  2. Install Docker

  3. Pull the Magicka Image with

    docker pull
  4. Create your persistent storage destination

    mkdir -p /srv/docker/magicka/data


  5. Start your container with

    docker run -d --rm -p 23:2023 -p 22:2024 -p 80:8080 -p 24554:24554 -v /srv/docker/magicka/data:/opt/magicka/data --name=magicka

    The first time the container starts, it will create sub directories and fill your data directory. You might need to then refer to the Magicka documentation to configure it for your environment.

    The options on this command line are:

    -dRun the container in the background
    -pPort mapping from the host:container. So using 23:2023 will mean any incoming connections on the *host* to port 23 will be sent to the *container* on port 2023. This will enable you to telnet into your Magicka.
    -rmMeans the container will be destroyed when it is stopped. (No problem if *-v* is used below.
    -vVolume mapping from the host:container. A value of /srv/docker/magicka/data:/opt/magicka/data means that any data in the *container* written to /opt/magicka/data, will be stored on the *host* /srv/docker/magicka/data.

    There are other options you may prefer to use, for example, instead of --rm, you may want to use --restart=always.


  1. Now your container is running, you should configure it to your liking by editing the files in data/etc/magicka/…

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.