Skip to content

superstreamlabs/memphis-docker

Repository files navigation

Github (2)

Discord Code Of Conduct GitHub release (latest by date)

CNCF Silver Member CNCF Silver Member

Cloud - Docs - X - YouTube

Memphis.dev is a highly scalable, painless, and effortless data streaming platform.
Made to enable developers and data teams to collaborate and build
real-time and streaming apps fast.

Memphis docker deployment


description: Deploy Memphis over Docker using Docker compose

Requirements

Requirements (No HA)

Resource Quantity
OS Mac / Windows / Linux
CPU 1 CPU
Memory 4GB
Storage 6GB

Please make sure you have docker-compose installed.

Getting started

Step 1: Download compose.yaml file

curl -s https://superstreamlabs.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml

Step 2: Run the compose

docker compose -f docker-compose.yml -p memphis up

Output:

[+] Running 3/3
 ⠿ Container memphis-memphis-1        Creating                                                      0.2s                                                      0.2s                                                  0.2s
 ⠿ Container memphis-memphis-metadata-1          Creating                                                      0.2s
 ⠿ memphis-memphis-rest-gateway-1
 

Deployed Containers

  • memphis-1: The broker itself which acts as the data storage layer. That is the component that stores and controls the ingested messages and their entire lifecycle management.
  • memphis-metadata-1: Responsible for storing the platform metadata only, such as general information, monitoring, GUI state, and pointers to dead-letter messages. The metadata store uses Postgres.
  • memphis-rest-gateway-1: Responsible for exposing Memphis management and data ingestion through REST requests.

Step 3: Access via UI / SDK

The default port of the UI is 9000:

http://localhost:9000

Default Username: root

Default Password: memphis

Memphis Node.JS SDK can be used to demonstrate the required parameters.

await memphis.connect({
            host: "MEMPHIS_BROKER_HOSTNAME",
            port: PORT, // Can be removed if using the default 6666
            username: "APPLICATION_TYPE_USERNAME",
            connectionToken: "<connection_token>" || password: "PASSWORD"
});
  • host: Usually the control plane or through the UI URL. For example "https://memphis-ui.test.com/api".
  • username: Usually "root". Head to the users' section via the UI or CLI to add more.
  • connectionToken: Each app that produces and/or consumer data with Memphis uses token authentication. The default value is "memphis".

How to upgrade?

Step 1: shutdown Memphis containers

docker rm -f $(docker ps -a | grep -i memphis | awk '{print $1}')

Step 2: remove memphis docker images

docker image rm -f $(docker image ls | grep -i memphis)

Step 3: Reinstall memphis

curl -s https://memphisdev.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml && docker compose -f docker-compose.yml -p memphis up