Deploy on DigitalOcean


DigitalOcean simplifies cloud computing so builders can spend more time creating software that changes the world.
DigitalOcean offers easy-to-use and configure cloud services like servers, kubernetes, object storage, serverless functions, a marketplace of applications, and much more.
Memphis chose DigitalOcean Kubernetes Marketplace to offer both DO and Memphis users a 1-click installation of memphis cluster in a production kubernetes environment.


Step 1: Create DigitalOcean Kubernetes Cluster

Nodes are the servers that provide the Kubernetes compute and storage resources

Step 2: Connect to the Kubernetes cluster

Follow the below instructions to communicate with the newly created cluster

Step 3: Install Memphis

We need to create two different load balancers, one for data (the broker itself) and one for the UI.

Step 4: Expose Memphis for data using a load balancer

Run the following YAML
apiVersion: v1
kind: Service
annotations: memphis memphis
creationTimestamp: "2022-07-19T16:25:00Z"
labels: memphis Helm memphis 1.16.0 memphis-0.1.0
name: memphis-cluster
namespace: memphis
allocateLoadBalancerNodePorts: true
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
- IPv4
ipFamilyPolicy: SingleStack
- name: memphis-cp-management
nodePort: 30794
port: 5555
protocol: TCP
targetPort: 5555
- name: memphis-cp-tcp
nodePort: 31534
port: 6666
protocol: TCP
targetPort: 6666
- name: client
nodePort: 30363
port: 7766
protocol: TCP
targetPort: 7766
selector: memphis memphis
sessionAffinity: None
type: LoadBalancer
The above will create a digitalocean load balancer with a public ip.

Step 5: Expose Memphis UI using a load balancer

Run the following YAML
kubectl expose deployment memphis-ui --port=80 --target-port=80 \
--name=memphis-ui --type=LoadBalancer

Step 6: Connect your 1st app

To get the public IPs of the load balancers we created before, run
kubectl get svc