refactor
diff --git a/containers/xos/Dockerfile b/containers/xos/Dockerfile
index 70b334e..28ffbec 100644
--- a/containers/xos/Dockerfile
+++ b/containers/xos/Dockerfile
@@ -1,38 +1,96 @@
-FROM ubuntu
+FROM       ubuntu:14.04.3
 
-RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --force-yes \
-    curl \
-    gcc \
-    geoip-database \
+# XXX Workaround for docker bug:
+# https://github.com/docker/docker/issues/6345
+# Kernel 3.15 breaks docker, uss the line below as a workaround
+# until there is a fix
+RUN ln -s -f /bin/true /usr/bin/chfn
+# XXX End workaround
+
+# Install.
+RUN apt-get update && apt-get install -y \
     git \
+    postgresql \
+    python-psycopg2 \
     graphviz \
     graphviz-dev \
-    libgeoip1 \
     libxslt1.1 \
     libxslt1-dev \
+    python-pip \
+    tar \
+    gcc \
+    python-httplib2 \
+    geoip-database \
+    libgeoip1 \
+    wget \
+    curl \
+    python-dev \
     libyaml-dev \
     pkg-config \
-    python-dev \
-    python-httplib2 \
-    python-pip \
-    python-psycopg2 \
-    python-pycurl \
-    tar \
-    wget
+    python-pycurl
 
 RUN pip install \
-    lxml \
-    netaddr \
-    pytz \
-    requests \
-    python-keyczar \
-    pygraphviz \
+    django==1.7 \
+    django-bitfield \
+    django-crispy-forms \
+    django-encrypted-fields \
+    django-extensions
+    django-filter \
+    django-geoposition \
+    django-ipware \
+    django_rest_swagger \
+    django-suit \
+    django-timezones \
+    djangorestframework==2.4.4 \
     dnslib
+    lxml \  
+    markdown \
+    netaddr \
+    python-dateutil \
+    python-keyczar \
+    pygraphviz
+    pytz \
+    pyyaml \
+    requests
 
-RUN easy_install \
-    python_gflags \
-    google_api_python_client \
-    httplib2.ca_certs_locater
 
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-setuptools
+RUN easy_install django_evolution
+RUN easy_install python_gflags
 RUN easy_install --upgrade httplib2
+RUN easy_install google_api_python_client
+RUN easy_install httplib2.ca_certs_locater
 
+
+# Get XOS
+RUN git clone git://github.com/open-cloud/xos.git /tmp/xos && mv /tmp/xos/xos /opt/
+
+
+# Initscript is broken in Ubuntu
+#ADD observer-initscript /etc/init.d/xosobserver
+
+RUN chmod +x /opt/xos/scripts/opencloud
+RUN chmod +x /opt/xos/configurations/opencloud/run_opencloud
+RUN /opt/xos/scripts/opencloud genkeys
+
+# Turn DEBUG on so that devel server will serve static files
+#    (not necessary if --insecure is passed to 'manage.py runserver')
+# RUN sed -i 's/DEBUG = False/DEBUG = True/' /opt/xos/xos/settings.py
+
+# Cruft to workaround problems with migrations, should go away...
+RUN /opt/xos/scripts/opencloud remigrate
+
+# install Tosca engine
+RUN apt-get install -y m4
+RUN bash /opt/xos/tosca/install_tosca.sh
+
+EXPOSE 8000
+
+# Set environment variables.
+ENV HOME /root
+
+# Define working directory.
+WORKDIR /root
+
+# Define default command.
+CMD /opt/xos/configurations/opencloud/run_opencloud