diff --git a/servers/cert.pem b/servers/cert.pem
new file mode 100644
index 0000000..095da08
--- /dev/null
+++ b/servers/cert.pem
@@ -0,0 +1,48 @@
+-----BEGIN CERTIFICATE-----
+MIIDbzCCAlegAwIBAgIJAL6IhnBSzF8HMA0GCSqGSIb3DQEBCwUAME4xCzAJBgNV
+BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxFDASBgNVBAoMC29wZW5ibWMu
+b3JnMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTUxMTA2MjAzNTA2WhcNMTYxMTA1
+MjAzNTA2WjBOMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRQw
+EgYDVQQKDAtvcGVuYm1jLm9yZzESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wl2ji+GPUpg21yjyo5jh+KwnZsV91wV
+EO1DM6bdHbM/p34GkNRC6PO6DMDc3lGXaoVLHgdxhNMO/7lPwrAbO2dUyjoo4RCP
+O23hWadodstfhgCMa5/h6rSbxtpVsnWD3nBh88tlug+jBZ625d6S+5MglfgrrQai
++gYC9xDzCmMN7yWsfKWO8WfrMfebkB7c+TuWnF/O6u/wmUEZOybavrfP79MuLbwC
++UkxF6PwiThGD7yINXSTxCDCN58MTrDML8AF7CWzBsYycJlJfcs2ix32Csk1FIey
+t+Ze+tzEIzvOb/1G0hkIg40msFaWWEgXX9MIDHDGONwYyejb4nO8mQIDAQABo1Aw
+TjAdBgNVHQ4EFgQUgoShQ/gqY2/oZWMRU4jJdAim38cwHwYDVR0jBBgwFoAUgoSh
+Q/gqY2/oZWMRU4jJdAim38cwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
+AQEAg2qFx8mu5Z0QBSZK3FZhNVAsbZwZuH7cjRGxWYwNlyaS24fVdts7q8YBRjpm
+OZJLO+gBYkCRJnZ/AlfJ0yorT7p7Z0GTP4GrtPmh8eLoh/q5NLUGN7T2IkTea+Q+
+4iorkAuYzmSviJNUZF99MhpbuPY8wCNQWPI13X6YRrJUxQGWOj7LmqR7gE9lSPiw
+xXlrWvR1tc48Z20bEXR08nDH1m5G208BgtLRk53FdYGExebpoEQokQaYyJ6b4L2A
+zkFLExO+ngn49ceC9XASlN4MnKvl4FiSOQqfLhKHjwpzVuMWifV/hlY9GGVbodeg
+lUFi3n1XfYxNtiNSDZvWcBWKtA==
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA0wl2ji+GPUpg21yjyo5jh+KwnZsV91wVEO1DM6bdHbM/p34G
+kNRC6PO6DMDc3lGXaoVLHgdxhNMO/7lPwrAbO2dUyjoo4RCPO23hWadodstfhgCM
+a5/h6rSbxtpVsnWD3nBh88tlug+jBZ625d6S+5MglfgrrQai+gYC9xDzCmMN7yWs
+fKWO8WfrMfebkB7c+TuWnF/O6u/wmUEZOybavrfP79MuLbwC+UkxF6PwiThGD7yI
+NXSTxCDCN58MTrDML8AF7CWzBsYycJlJfcs2ix32Csk1FIeyt+Ze+tzEIzvOb/1G
+0hkIg40msFaWWEgXX9MIDHDGONwYyejb4nO8mQIDAQABAoIBAQCE/a2spN5fuYOY
+OaUufNTUSVMrvxP0sh7EcACtiDZIBTHUB2Nz2Y/g5dcVOmT15U0aX62a2u362lbV
+aJ6O/hPrN48DcetZCep5dSFSMmFum3MzKx1SpYrlMbQJeIYQ1GWpxAC2djNBMaF2
+ZTK1YbIWv/0FBUPg4hHKpgcwU4oVvHj8W45ORY9/tJB4yPrdVewwtBQ1iJkEPgfO
+H5/jjGfwPHgLYnzMtu1PU1tqNVWgXw19Zn3W6wf1v+f4abrhSZSRoHqciMC10da9
+sMmhmdsi0ZWYQSn4TRRI4i9zZXuQhz/5HOUtt38JCpnkqWeEA7OHwrzyi1uHZHh0
+7TrcW11BAoGBAPenwCy7jaZXdTnpckfNWDLT2Qp07dmw8WocrbCdMUUK5DTXH8Yh
+xdEt5O4Vu6qdC8ccfIlS5DTVfddqrNLPuCpOpUmZVbGQeX6h9FoAyHG5YSuiZtXD
+QHfWM8CJY8tT5OYTDGGgvbLSQehVKQ+a5n9ubB8YvFmtoEl2qaWgi6+FAoGBANol
+2LnV8jXggwsN/13Jw1uIPNrKj6VClDUizLIQAsDwhS4aJeFLldTtIeVAPDovMDQX
+/r33EDd0eev2w3E9Sd8Th4GaxOo9Iho8I2o0aqbjdfnT3/DsuAo5KARvzjiEvbnf
+J5oTM+6eqdCyL1woy2Slqp5Wm1538ZoPALteG8MFAoGAQ9tl75vQOyS5jQ2m73+X
+TA356UCSr1QpQb7r5Hmdt2I9lzDeluZIEoG1uXqg+iWfxYXLpcDdoJBis7SZ+AVM
+W+NCrMDj1wxUDduIXWTbhzWZJ2CPNsESGAPMGFRM0LiC/nt3qARoFehAgM1cu9bg
+k0gJPhgD+7p0MczevPAZdhUCgYBPUi+p8wdtW8OKg351heXJJJKsI7dzqe/mGk8/
+995odYyXpN5dO3Sxxb/rch30MjBe4NK6FFoLMAkdKc8LH/P6b0l4cORlH/GEhJWE
+Cqc1I8REISxumESbQwkwA8+CcZHjQidOOOlLPNoWjpP1+MdsQ2j0xh0cjpSFJitn
+9eI2WQKBgBNC7ap56noSUH+aYQ/kNuiyJyaodPGsbG6eOkP2BeAGpzOGHluW7bun
+zzfP9nichU4lMijWCj0OnM8hzoyOJgA4pM5xoHJICMqRyfAgjUvOvG/bYKBlJv11
+i3KtkYzDp7auH+FetsCJsDGLSSi3qEa42cmK7Gy9PQXcetImH+tu
+-----END RSA PRIVATE KEY-----
diff --git a/servers/rocket/cert.pem b/servers/rocket/cert.pem
new file mode 120000
index 0000000..84d0899
--- /dev/null
+++ b/servers/rocket/cert.pem
@@ -0,0 +1 @@
+../cert.pem
\ No newline at end of file
diff --git a/servers/rocket/phosphor-rocket b/servers/rocket/phosphor-rocket
new file mode 100644
index 0000000..139509c
--- /dev/null
+++ b/servers/rocket/phosphor-rocket
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+
+import sys
+import os
+import logging
+from rocket import Rocket
+
+if __name__ == '__main__':
+    if len(sys.argv) < 2:
+        sys.stderr.write('WSGI application required!')
+        sys.exit(1)
+
+    exec 'from obmc.wsgi.apps.%s import App' % sys.argv[1]
+
+    log = logging.getLogger('Rocket.Errors')
+    log.setLevel(logging.INFO)
+    log.addHandler(logging.StreamHandler(sys.stdout))
+
+    default_cert = os.path.join(
+        sys.prefix, 'share', os.path.basename(__file__), 'cert.pem')
+
+    app = App()
+    server = Rocket(
+        ('0.0.0.0', 443, default_cert, default_cert),
+        'wsgi', {'wsgi_app': app},
+        min_threads=1,
+        max_threads=1)
+    server.start()
diff --git a/servers/rocket/setup.cfg b/servers/rocket/setup.cfg
new file mode 120000
index 0000000..29939b5
--- /dev/null
+++ b/servers/rocket/setup.cfg
@@ -0,0 +1 @@
+../setup.cfg
\ No newline at end of file
diff --git a/servers/rocket/setup.py b/servers/rocket/setup.py
new file mode 100644
index 0000000..08dfa39
--- /dev/null
+++ b/servers/rocket/setup.py
@@ -0,0 +1,8 @@
+from distutils.core import setup
+
+setup(
+    name='phosphor-rocket',
+    version='1.0',
+    scripts=['phosphor-rocket'],
+    data_files=[('phosphor-rocket', ['cert.pem'])],
+    )
diff --git a/servers/setup.cfg b/servers/setup.cfg
new file mode 100644
index 0000000..ed3bf6e
--- /dev/null
+++ b/servers/setup.cfg
@@ -0,0 +1,2 @@
+[install]
+install_scripts=/usr/sbin
