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
- Host: GitHub
- URL: https://github.com/superstreamlabs/memphis-docker
- Owner: superstreamlabs
- License: apache-2.0
- Created: 2022-04-12T13:49:41.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T13:27:27.000Z (about 2 years ago)
- Last Synced: 2025-01-18T14:53:55.429Z (over 1 year ago)
- Homepage:
- Size: 271 KB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**[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
```