create docker-compose.yml
diff --git a/xos/synchronizers/onboarding/steps/sync_xos.py b/xos/synchronizers/onboarding/steps/sync_xos.py
index 095fae8..55e7553 100644
--- a/xos/synchronizers/onboarding/steps/sync_xos.py
+++ b/xos/synchronizers/onboarding/steps/sync_xos.py
@@ -29,6 +29,8 @@
     def sync_record(self, xos):
         logger.info("Sync'ing XOS %s" % xos)
 
+        self.create_docker_compose()
+
         dockerfiles = [self.create_ui_dockerfile()]
         tenant_fields = {"dockerfiles": dockerfiles,
                          "build_dir": self.build_dir,
diff --git a/xos/synchronizers/onboarding/templates/docker-compose.yml.j2 b/xos/synchronizers/onboarding/templates/docker-compose.yml.j2
new file mode 100644
index 0000000..1532604
--- /dev/null
+++ b/xos/synchronizers/onboarding/templates/docker-compose.yml.j2
@@ -0,0 +1,37 @@
+{% for container_name, container in containers.iteritems() %}
+
+{{ container_name}}:
+  image: {{ container.image }}
+{%- if container.command %}
+  command: {{ container.command }}
+{%- endif %}
+{%- if container.ports %}
+  ports:
+{%- for src,dest in container.ports.iteritems() %}
+    - "{{ src }}:{{ dest }}"
+{%- endfor %}
+{%- endif %}
+{%- if container.links %}
+  lines:
+{%- for link in container.links %}
+    - {{ link }}
+{%- endfor %}
+{%- endif %}
+{%- if container.volumes %}
+{%- for volume in container.volumes %}
+  volumes:
+{%- if volume.read_only %}
+    - {{ volume.host_path }}:{ volume.container_path }}:ro
+{%- else %}
+    - {{ volume.host_path }}:{ volume.container_path }}
+{%- endif %}
+{%- endfor %}
+{%- endif %}
+{%- if container.expose %}
+  expose:
+{%- for expose in container.expose %}
+    - "{{ expose }}"
+{%- endfor %}
+{%- endif %}
+
+{%- endfor %}
diff --git a/xos/synchronizers/onboarding/xosbuilder.py b/xos/synchronizers/onboarding/xosbuilder.py
index 43d735b..5eeb675 100644
--- a/xos/synchronizers/onboarding/xosbuilder.py
+++ b/xos/synchronizers/onboarding/xosbuilder.py
@@ -1,5 +1,6 @@
 import os
 import base64
+import jinja2
 import string
 import sys
 import urllib2
@@ -7,7 +8,7 @@
 import xmlrpclib
 
 from xos.config import Config
-from core.models import Service, ServiceController, ServiceControllerResource
+from core.models import Service, ServiceController, ServiceControllerResource, XOS
 from xos.logger import Logger, logging
 
 logger = Logger(level=logging.INFO)
@@ -163,6 +164,42 @@
         return {"dockerfile_fn": dockerfile_fn,
                 "docker_image_name": "xosproject/xos-synchronizer-%s" % controller.name}
 
+    def create_docker_compose(self):
+         xos = XOS.objects.all()[0]
+
+         volume_list = [] # FINISH ME
+
+         containers = {}
+
+         containers["xos_db"] = \
+                            {"image": "xosproject/xos-postgres",
+                             "expose": [5432]}
+
+         containers["xos_ui"] = \
+                            {"image": "xosproject/xos-ui",
+                             "command": "python /opt/xos/manage.py runserver 0.0.0.0:%d --insecure --makemigrations" % xos.ui_port,
+                             "ports": {"%d"%xos.ui_port : "%d"%xos.ui_port},
+                             "links": ["xos_db"],
+                             "volumes": volume_list}
+
+         for c in ServiceController.objects.all():
+             containers["xos_synchronizer_%s" % c.name] = \
+                            {"image": "xosproject/xos-synchronizer-%s" % controller.name,
+                             "command": 'bash -c "sleep 120; bash /opt/xos/synchronizers/%s/run.sh"',
+                             "links": ["xos_db"],
+                             "volumes": volume_list}
+
+         vars = { "containers": containers }
+
+         template_loader = jinja2.FileSystemLoader( "/opt/xos/synchronizers/onboarding/templates/" )
+         template_env = jinja2.Environment(loader=template_loader)
+         template = template_env.get_template("docker-compose.yml.j2")
+         buffer = template.render(vars)
+
+         if not os.path.exists("/opt/xos/synchronizers/onboarding/docker-compose"):
+             os.makedirs("/opt/xos/synchronizers/onboarding/docker-compose")
+         file("/opt/xos/synchronizers/onboarding/docker-compose/docker-compose.yml", "w").write(buffer)
+
 #    def build_xos(self):
 #        dockerfiles=[]
 #        dockerfiles.append(self.create_ui_dockerfile())