An open API service indexing awesome lists of open source software.

https://github.com/superstreamlabs/memphis-docker

Install Memphis over Docker
https://github.com/superstreamlabs/memphis-docker

Last synced: 3 months ago
JSON representation

Install Memphis over Docker

Awesome Lists containing this project

README

          

![Github (2)](https://github.com/memphisdev/memphis.js/assets/107035359/281222f9-8f93-4a20-9de8-7c26541bded7)


Discord


Code Of Conduct
GitHub release (latest by date)



CNCF Silver Member
CNCF Silver Member



Cloud - Docs - X - YouTube

**[Memphis.dev](https://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**](https://docs.docker.com/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: "" || 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

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

### Step 2: remove memphis docker images

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

### Step 3: Reinstall memphis

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