diff --git a/xos/core/admin.py b/xos/core/admin.py
index 164cbb4..48719f9 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -1132,6 +1132,21 @@
                       ('resources', 'Resources'),
                       )
 
+class XOSComponentAdmin(XOSBaseAdmin):
+    list_display = ("backend_status_icon", "name",)
+    list_display_links = ('backend_status_icon', 'name',)
+    fieldList = ["backend_status_text", "name", "xos", "version", "provides", "requires", "base_url", "no_start"]
+    fieldsets = [
+        (None, {'fields': fieldList, 'classes': ['suit-tab suit-tab-general']})]
+    inlines = [LoadableModuleResourceInline]
+    readonly_fields = ('backend_status_text', )
+
+    user_readonly_fields = fieldList
+
+    suit_form_tabs = (('general', 'Component Details'),
+                      ('resources', 'Resources'),
+                      )
+
 class XOSVolumeInline(XOSTabularInline):
     model = XOSVolume
     extra = 0
@@ -2519,6 +2534,7 @@
 admin.site.register(Service, ServiceAdmin)
 admin.site.register(ServiceController, ServiceControllerAdmin)
 admin.site.register(Library, LibraryAdmin)
+admin.site.register(XOSComponent, XOSComponentAdmin)
 admin.site.register(XOS, XosModelAdmin)
 admin.site.register(Network, NetworkAdmin)
 admin.site.register(Port, PortAdmin)
diff --git a/xos/core/models/service.py b/xos/core/models/service.py
index f9f16ec..6f49442 100644
--- a/xos/core/models/service.py
+++ b/xos/core/models/service.py
@@ -203,6 +203,8 @@
     command = StrippedCharField(max_length=1024, help_text="docker run command", null=True, blank=True)
     ports = StrippedCharField(max_length=200, help_text="port binding", null=True, blank=True)
 
+    no_start = models.BooleanField(help_text="Do not start the Component", default=False)
+
 
 class XOSComponentLink(PlCoreBase):
 
@@ -242,7 +244,7 @@
     synchronizer_run = StrippedCharField(max_length=1024, help_text="synchronizer run command", null=True, blank=True)
     synchronizer_config = StrippedCharField(max_length=1024, help_text="synchronizer config file", null=True, blank=True)
 
-    no_start = models.BooleanField(help_text="Do not start the XOS UI inside of the UI docker container", default=False)
+    no_start = models.BooleanField(help_text="Do not start the Synchronizer", default=False)
 
 class ServiceControllerResource(LoadableModuleResource):
     class Meta:
diff --git a/xos/synchronizers/onboarding/xosbuilder.py b/xos/synchronizers/onboarding/xosbuilder.py
index d5ef3ce..ac6f566 100644
--- a/xos/synchronizers/onboarding/xosbuilder.py
+++ b/xos/synchronizers/onboarding/xosbuilder.py
@@ -389,6 +389,9 @@
                 "volumes": component_volume_list
             }
 
+            if c.no_start:
+                containers[c.name]["command"] = "sleep 864000"
+
         if not xos.frontend_only:
             for c in ServiceController.objects.all():
                 if self.check_controller_unready(c):
