description |
---|
Deploy Memphis over Docker using Docker compose |
Resource | Version / Quantity |
---|---|
Docker Engine | 17.03 and above |
Docker compose | v2 and above |
CPU | 1 CPU |
Memory | 4GB |
Storage | 6GB |
Stable -
{% code overflow="wrap" %}
curl -s https://superstreamlabs.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml && docker compose -f docker-compose.yml -p memphis up
{% endcode %}
Latest -
{% code overflow="wrap" %}
curl -s https://superstreamlabs.github.io/memphis-docker/docker-compose-latest.yml -o docker-compose-latest.yml && docker compose -f docker-compose-latest.yml -p memphis up
{% endcode %}
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 0.2s
- 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.
Currently, you can use this for creating users during deployment.
{% code overflow="wrap" %}
docker compose -f docker-compose-dev-with-users.yml -p memphis up
{% endcode %}
(Based on Memphis password policy: at least 8 characters long, contains both uppercase and lowercase, and at least one number and one special character(!?-@#$%):
{% code title="docker-compose-dev-with-users.yml" overflow="wrap" lineNumbers="true" %}
environment:
ROOT_PASSWORD: memphis
DOCKER_ENV: true
ENV: staging
USER_PASS_BASED_AUTH: true
CONNECTION_TOKEN: memphis
METADATA_DB_HOST: memphis-metadata
INITIAL_CONFIG_FILE: |
users:
mgmt:
- user: admin
password: Admin123456!
- user: test_mgmt
password: Test123456!
- user: test
password: Test123456@
client:
- user: test_app
password: Test123456!@
- user: test_app2
password: Test123456@!
{% endcode %}
{% hint style="info" %} Refer to the example file for guidance: example/docker-compose-dev-with-users.yml {% endhint %}