diff --git a/README.md b/README.md
index 66cea2c403c7d1c9d2908d3784652dcd2389ad6a..62d089a14815450fbf26b87e42178f6872a625f1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 # faser-docker
+
 This repository compiles docker files and the associated components necessary to 
 build docker images for FASER for the online and offline computing.  If you are 
 unfamiliar with docker, we recommend you work through this tutorial - [Link to Tutorial](https://matthewfeickert.github.io/intro-to-docker/).
@@ -21,8 +22,8 @@ setup, where there are nice directions and more advanced directions.
 These can be built like and docker image.  To build an image on your local machine,
 go into the directory you desire to build and execute
 ```
-cd daq
-docker build -t repo/name:tag .
+cd faser-daq
+docker build . -t repo/name:tag .
 ```
 where `repo/name:tag` will be how the image shows up when you subsequently execute
 ```
@@ -40,15 +41,29 @@ docker pull gitlab-registry.cern.ch/faser/docker/daq:master
 ```
 and then boot this up on your computer
 ```
-docker run --rm -it -v $PWD:$PWD gitlab-registry.cern.ch/faser/docker/daq:master
+docker run --name faser_box --rm -p 9001:9001 -p 5000:5000 -it -v $PWD:$PWD gitlab-registry.cern.ch/faser/docker/daq:master
 ```
 which uses the following arguments
+  - `--name faser_box` : Assigns a name to the container
   - `--rm` : When you exit the container, it will not persist.  This keeps the memory footprint of Docker down.
+  - `-p 9001:9001 -p 5000:5000` : This maps ports from the container to the host. Required to view the GUI and supervisor from the browser at host. _This can be omitted for CI/CD testing._
   - `-it` : Two arguments that make it the docker session interactive, otherwise it will jump in and out.
   - `-v $PWD:$PWD` : This is volume mounting the current working directory within the image.  So if you are on `/Users/meehan/work/FASER` on your computer, then in the image, this same path (and all of the stuff contained within it) will be available within the image.  You can read and write to it and it will modify the files on your laptop.
 
 But if you are like "I don't get it" I would really encourage you to work through the tutorial linked at the top.
 
+### __Running faser-daq from Docker__
+__Open a shell in the container__
+```
+docker exec -it faser_box /bin/bash
+```
+__Prepare the spack environment__
+```
+cd </path/to/faser-daq>
+daqling/cmake/install.sh -d /daqling-spack-repo -c configs/ -a
+source setup.sh <path/to/soack_repo>
+```
+
 ## Authenticating
 Now, remember, if you are on your laptop it knows nothing about your credentials for being able
 to work with the GitLab registry, so you may need to login and authenticate if its your first time.
diff --git a/faser-daq/Dockerfile b/faser-daq/Dockerfile
index 32dd5dd60f026604fba6e5055ead5181a08e896c..fd6507b19b773cb6a82d096793757cac77facd38 100644
--- a/faser-daq/Dockerfile
+++ b/faser-daq/Dockerfile
@@ -15,7 +15,19 @@ WORKDIR /faser/daq
 #    yum remove -y git && \
 #    yum install -y git2u && \
 #    yum clean all
-    
+
+# python3-devel for the rcgui gevent
+RUN yum install -y python3-devel && \
+    yum clean all
+
+COPY requirements.txt /faser/daq
+
+RUN python3 -m pip install --upgrade pip
+
+RUN python3 -m pip install -r requirements.txt
+
+RUN source /daqling-spack-repo/spack/share/spack/setup-env.sh && spack env activate daqling && spack load curl && spack add zstd brotli lz4 googletest && spack install
+
 # get xrootd for xrdcp
 RUN yum install -y xrootd-client && \
     yum clean all
@@ -23,10 +35,6 @@ RUN yum install -y xrootd-client && \
 # libusb is for the GPIO boards
 RUN yum install -y libusbx-devel && \
     yum clean all
-    
-# python3-devel for the rcgui gevent
-RUN yum install -y python3-devel && \
-    yum clean all
 
 # for creation of LUT
 RUN yum install -y muParser && \
@@ -121,8 +129,34 @@ ENV HOME /home
 
 COPY startup.sh $HOME/startup.sh
 
-ENTRYPOINT ["/bin/bash", "/home/startup.sh","/bin/bash"]
-    
+RUN yum -y install eigen3-devel && \
+    yum clean all
+
+RUN yum -y install redis && \
+    yum clean all
 
+USER 0
 
-    
+RUN mkdir /var/log/supervisor
+
+RUN mkdir /log
+
+RUN mkdir $HOME/data
+
+RUN mkdir /etc/supervisor
+
+RUN mkdir /etc/supervisor/conf.d
+
+ADD https://gitlab.cern.ch/ep-dt-di/daq/daqling/-/raw/master/ansible/roles/supervisor/files/supervisord.conf /etc/supervisor/
+
+ADD https://gitlab.cern.ch/ep-dt-di/daq/daqling/-/raw/master/ansible/roles/supervisor/files/inet_http_server.conf /etc/supervisor/conf.d/
+
+ADD https://gitlab.cern.ch/ep-dt-di/daq/daqling/-/raw/master/ansible/roles/supervisor-twiddler/files/twiddler.conf /etc/supervisor/conf.d/
+
+RUN sed -i 's/\[group:daq\]/[group:faser]/' /etc/supervisor/conf.d/twiddler.conf
+
+ADD https://gitlab.cern.ch/ep-dt-di/daq/daqling/-/raw/master/ansible/roles/redis/files/redis.conf /etc/
+
+EXPOSE 22 80 9001 5000
+
+ENTRYPOINT ["/bin/bash", "/home/startup.sh","/bin/bash"]
\ No newline at end of file
diff --git a/faser-daq/requirements.txt b/faser-daq/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..159a28ff32318a47d44028478c4eff48f8dd5d55
--- /dev/null
+++ b/faser-daq/requirements.txt
@@ -0,0 +1,64 @@
+anytree==2.8.0
+attrs==21.2.0
+certifi==2021.5.30
+chardet==4.0.0
+idna==2.10
+importlib-metadata==4.6.0
+jsonschema==3.2.0
+pyrsistent==0.18.0
+pyzmq==22.1.0
+requests==2.25.1
+six==1.16.0
+typing-extensions==3.10.0.0
+zipp==3.4.1
+zmq==0.0.0
+aniso8601==9.0.1
+apispec==4.7.0
+bidict==0.21.2
+cached-property==1.5.2
+cffi==1.14.5
+click==8.0.1
+cryptography==3.4.7
+cx-Oracle==8.2.1
+dataclasses==0.8
+Flask==2.0.1
+flask-apispec==0.11.0
+Flask-Caching==1.10.1
+Flask-Login==0.5.0
+flask-redis==0.4.0
+Flask-RESTful==0.3.9
+Flask-Scss==0.5
+gevent==21.1.2
+greenlet==1.1.0
+gunicorn==20.1.0
+influxdb==5.3.1
+itsdangerous==2.0.1
+Jinja2==3.0.1
+#keycloak==3.0.2
+MarkupSafe==2.0.1
+marshmallow==3.12.1
+msgpack==1.0.2
+pycparser==2.20
+PyJWT==2.1.0
+pymongo==3.11.4
+pyScss==1.3.7
+python-dateutil==2.8.1
+python-engineio==4.2.0
+python-socketio==5.3.0
+pytz==2021.1
+PyYAML==5.4.1
+redis==3.5.3
+webargs==8.0.0
+Werkzeug==2.0.1
+zope.event==4.5.0
+zope.interface==5.4.0
+async_generator
+contextvars
+flask_socketio
+jsonref==0.3.0
+supervisor
+supervisor_twiddler
+zmq
+urllib3==1.26.6
+flask_cors
+eventlet
\ No newline at end of file
diff --git a/faser-daq/startup.sh b/faser-daq/startup.sh
index 884cdfa09ac8bfdf14cd14879d211f9462c3eb4f..eec5e4f840bf33fed120697f2ef0283bf9d7da5a 100644
--- a/faser-daq/startup.sh
+++ b/faser-daq/startup.sh
@@ -4,4 +4,9 @@ source /opt/lcg/gcc/8.3.0/x86_64-centos7/setup.sh
 echo "ENDING Faser Env Setup"
 
 echo "Placing you in bash env - Remember, YOU ARE A BEAUTIFUL PERSON! Now go get some!"
+echo "Now starting supervisord"
+/usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf
+echo "Now starting redis database"
+/usr/bin/redis-server /etc/redis.conf --daemonize yes
+ps aux
 /bin/bash
\ No newline at end of file