jgoerzen/dos-bbs
BBS server hosting and BBS client for Docker, using DOS under QEMU
522
This image is designed to let you run a DOS BBS inside Docker, or to connect to a remote BBS. It can be used standalone, or as a base for other images.
It is based upon:
An additional environment variable, BBSNODES, can be set to indicate how many nodes to
start. It defaults to 0 in this image, and can also be set within the image
by modifying /dos/numnodes
.
From the VNC console with the default setup, you can dial into various BBSs. First, run
dosconsole
. Then, inside the DOS console, here is an
example of what to type to get started:
g: cd \comm\tm tm
This starts Telemate. Now, close the blue phonebook with Esc and type:
ATDTbbs.starbase21.net
This will begin a Telnet session with the simulated modem. Note also
that you can add a port number with :port at the end (eg, ATDTbbs.starbase21.net:23
).
To connect to a BBS running locally, run ATDTlocalhost
.
Alt-X exits Telemate.
You can install with:
docker pull jgoerzen/dos-bbs
And run with:
docker run -d -p 5901:5901 -p 23:23 --name dos-bbs jgoerzen/dos-bbs
Here's what you can find in this image.
/dos/drive_*
corresponds to particular DOS drives.H:\SCRIPTS
is a convenient place to drop scripts as needed; also on the PATHH:\STARTUP
contains scripts generated by /usr/local/bin/startnode
(for instance,
NODE2.BAT
contains the commands to fire up BBS node 2). startnode
will call
/dos/nodeprephook.sh
to set up these files.H:\ADF
containts the ADF FOSSIL driver.G:\COMM
contains Telix and Telemate, nice DOS BBS clients.G:\DOORS
contains a few DOS DOOR games.G:\
should contain the BBS.E:
is presented likea local filesystem, and contains the BOOTUP.BAT
script/dos/numnodes
is the default number of nodes to start. This image
sets it to 0, and by default supports 9 (more could be supported
via additional supervisor scripts). The BBSNODES
environment
variable can override this setting./dos/nodeprephook.sh
contains additional commands to run at the boot time
of a node (but not the main console). This would be a place to
fire up a BBS. It is called by /usr/local/bin/startnode
and a nice example
of its usage is in jgoerzen/bbs-renegade.See the jgoerzen/dosemu documentation for the recommendations on child image usage of these drives.
Note: this image provisions a number of files in /etc/supervisor.d/conf.d. Child images may want to modify them.
VNC is exposed on port 5901. You can connect to this port. You will see, by default, an xterm (white) running here, though child images may alter these defaults.
Middle-clicking on the background will open new terminals. Some commands you may try include:
dosconsole
to fire up a nice DOS console for you to play withTelnet is exposed on port 23, and runs the socat program.
Within the image, port 8000 will connect you to the emulated modem in the default console.
To be sure, the protocol running on port 23 is not actually telnet, but a raw TCP socket. The DOS BBS community refers to these as "telnet", even though generally they are not running the telnet protocol.
This is prepared by John Goerzen jgoerzen@complete.org and the source can be found at https://github.com/jgoerzen/docker-qemu-dos
Docker scripts, etc. are Copyright (c) 2017 John Goerzen All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Additional software copyrights as noted.
docker pull jgoerzen/dos-bbs