allow xos source_ui_image to be configured
diff --git a/xos/core/models/xosmodel.py b/xos/core/models/xosmodel.py
index 01c9514..08832c9 100644
--- a/xos/core/models/xosmodel.py
+++ b/xos/core/models/xosmodel.py
@@ -15,6 +15,7 @@
     docker_project_name = StrippedCharField(max_length=200, help_text="docker project name")
     enable_build = models.BooleanField(help_text="True if Onboarding Synchronizer should build XOS as necessary", default=True)
     frontend_only = models.BooleanField(help_text="If True, XOS will not start synchronizer containers", default=False)
+    source_ui_image = models.StrippedCharField(max_length=200, default="xosproject/xos")
 
     def __unicode__(self):  return u'%s' % (self.name)
 
diff --git a/xos/synchronizers/onboarding/xosbuilder.py b/xos/synchronizers/onboarding/xosbuilder.py
index e7a3e1c..51499bd 100644
--- a/xos/synchronizers/onboarding/xosbuilder.py
+++ b/xos/synchronizers/onboarding/xosbuilder.py
@@ -19,7 +19,6 @@
     SYNC_ALLCONTROLLER_KINDS=["models", "django_library"]
 
     def __init__(self):
-        self.source_ui_image = "xosproject/xos"
         self.source_sync_image = "xosproject/xos-synchronizer-openstack"
         self.build_dir = "/opt/xos/BUILD/"
 
@@ -183,12 +182,13 @@
             file(os.path.join(self.build_dir, "opt/xos/xos/%s_xosbuilder_migration_list") % name, "w").write("\n".join(migration_list)+"\n")
 
     def create_ui_dockerfile(self):
+        xos = XOS.objects.all()[0]
         dockerfile_fn = "Dockerfile.UI"
 
         app_list = []
         migration_list = []
 
-        dockerfile = ["FROM %s" % self.source_ui_image]
+        dockerfile = ["FROM %s" % xos.source_ui_image]
         script = []
         for controller in ServiceController.objects.all():
             if self.check_controller_unready(controller):
diff --git a/xos/tosca/custom_types/xos.m4 b/xos/tosca/custom_types/xos.m4
index ef852af..04d7641 100644
--- a/xos/tosca/custom_types/xos.m4
+++ b/xos/tosca/custom_types/xos.m4
@@ -23,6 +23,10 @@
                 type: string
                 required: false
                 description: Docker project name
+            source_ui_image:
+                type: string
+                required: false
+                description: Source UI docker image name
             enable_build:
                 type: boolean
                 required: false
diff --git a/xos/tosca/custom_types/xos.yaml b/xos/tosca/custom_types/xos.yaml
index 93dad18..e52c0e1 100644
--- a/xos/tosca/custom_types/xos.yaml
+++ b/xos/tosca/custom_types/xos.yaml
@@ -53,6 +53,10 @@
                 type: string
                 required: false
                 description: Docker project name
+            source_ui_image:
+                type: string
+                required: false
+                description: Source UI docker image name
             enable_build:
                 type: boolean
                 required: false
diff --git a/xos/tosca/resources/xosmodel.py b/xos/tosca/resources/xosmodel.py
index b397686..86aa8a8 100644
--- a/xos/tosca/resources/xosmodel.py
+++ b/xos/tosca/resources/xosmodel.py
@@ -12,7 +12,7 @@
 class XOSXOS(XOSResource):
     provides = "tosca.nodes.XOS"
     xos_model = XOS
-    copyin_props = ["ui_port", "bootstrap_ui_port", "docker_project_name", "enable_build", "frontend_only"]
+    copyin_props = ["ui_port", "bootstrap_ui_port", "docker_project_name", "enable_build", "frontend_only", "source_ui_image"]
 
 class XOSVolume(XOSResource):
     provides = "tosca.nodes.XOSVolume"