diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..24b3d35 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +# DESCRIPTION: Run Windows 95 in a container +# AUTHOR: Paul DeCarlo +# +# Made possible through prior art by: +# copy (v86 - x86 virtualization in JavaScript) +# felixrieseberg (Windows95 running in electron) +# Microsoft (Windows 95) +# +# ***Docker Run Command*** +# +# docker run -it \ +# -v /tmp/.X11-unix:/tmp/.X11-unix \ # mount the X11 socket +# -e DISPLAY=unix$DISPLAY \ # pass the display +# --device /dev/snd \ # sound +# --name windows95 \ +# toolboc/windows95 +# +# ***TroubleShooting*** +# If you receive Gtk-WARNING **: cannot open display: unix:0 +# Run: +# xhost + +# + +FROM node:10.9-stretch + +LABEL maintainer "Paul DeCarlo " + +RUN apt update && apt install -y \ + libgtk-3-0 \ + libcanberra-gtk3-module \ + libx11-xcb-dev \ + libgconf2-dev \ + libnss3 \ + libasound2 \ + libxtst-dev \ + libxss1 \ + git \ + --no-install-recommends && \ + rm -rf /var/lib/apt/lists/* + +COPY . . + +RUN npm install + +ENTRYPOINT [ "npm", "start"] diff --git a/README.md b/README.md index a06a90a..20b6993 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,9 @@ You'll likely be better off with an actual virtualization app, but the short ans @DisplacedGamers](https://youtu.be/xDXqmdFxofM) I can recommend that you switch to a resolution of 640x480 @ 256 colors before starting DOS games - just like in the good ol' days. +## Can it run in a container? +[Of course!](./docs/docker-instructions.md) + ## How's the code? This only works well by accident and was mostly a joke. The code quality is accordingly. diff --git a/docs/docker-instructions.md b/docs/docker-instructions.md new file mode 100644 index 0000000..6cba61f --- /dev/null +++ b/docs/docker-instructions.md @@ -0,0 +1,25 @@ +# Running Windows 95 in Docker + +## Display using a volume mount of the host X11 Unix Socket (Linux Only): + +**Requirements:** +* Linux OS with a running X-Server Display +* [Docker](http://docker.io) + + docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd --name windows95 toolboc/windows95 + + +Note: You may need to run `xhost +` on your system to allow connections to the X server running on the host. + +## Display using Xming X11 Server over tcp Socket (Windows and beyond): + +**Requirements:** +* [Xming](https://sourceforge.net/projects/xming/) +* [Docker](http://docker.io) + +1. Start the Xming X11 Server +2. Obtain the ip of the host machine running the Xming server +3. Edit X0.hosts (Located in the install directory of Xming) by adding the ip of the host machine obtained in step 2 +4. Run the command below and replace the `` placeholder with the ip from step 2 + + docker run -it -e DISPLAY= --name windows95 toolboc/windows95