Skip to content

Install from docker

Enrico Rubboli edited this page Dec 15, 2024 · 2 revisions

This guide will cover how to use Docker to deploy and run the Mintlayer node-daemon and wallet-cli.

Prerequisites

You need to have Docker installed on your system. For Docker installation guide, please visit official Docker documentation.

Mintlayer Deployment Using Docker Compose

Below is a simplified docker-compose.yml configuration to deploy the node-daemon, wallet-rpc-daemon, and wallet-cli services:

x-common-env: &common-env
  RUST_LOG: "info"
  ML_USER_ID: "1000"
  ML_GROUP_ID: "1000"

x-node-env: &node-env
  ML_MAINNET_NODE_RPC_BIND_ADDRESS: "0.0.0.0:3030"
  ML_MAINNET_NODE_RPC_USERNAME: "node_rpc_user"
  ML_MAINNET_NODE_RPC_PASSWORD: "node_rpc_password"

x-wallet-env: &wallet-env
  ML_MAINNET_WALLET_RPC_DAEMON_NODE_RPC_ADDRESS: "node-daemon:3030"
  ML_MAINNET_WALLET_RPC_DAEMON_NODE_RPC_USERNAME: "node_rpc_user"
  ML_MAINNET_WALLET_RPC_DAEMON_NODE_RPC_PASSWORD: "node_rpc_password"
  ML_MAINNET_WALLET_RPC_DAEMON_RPC_BIND_ADDRESS: "0.0.0.0:3034"
  ML_MAINNET_WALLET_RPC_DAEMON_RPC_USERNAME: "wallet_rpc_user"
  ML_MAINNET_WALLET_RPC_DAEMON_RPC_PASSWORD: "wallet_rpc_password"

services:
  node-daemon:
    image: "mintlayer/node-daemon:latest"
    command: "node-daemon mainnet"
    environment:
      <<: *common-env
      <<: *node-env
    ports:
      - "3030:3030"
    volumes:
      - "./mintlayer-data:/home/mintlayer"

  wallet-rpc-daemon:
    image: "mintlayer/wallet-rpc-daemon:latest"
    command: "wallet-rpc-daemon mainnet"
    depends_on:
      - "node-daemon"
    environment:
      <<: *common-env
      <<: *wallet-env
    ports:
      - "3034:3034"
    volumes:
      - "./mintlayer-data:/home/mintlayer"

  wallet-cli:
    image: "mintlayer/wallet-cli:latest"
    command: "wallet-cli mainnet"
    depends_on:
      - "node-daemon"
    environment:
      <<: *x-wallet-env
    volumes:
      - "./mintlayer-data:/home/mintlayer"
    profiles:
      - "wallet_cli"

Running the Services

  1. Save the above content as docker-compose.yml in your working directory.
  2. Start the services:
    docker-compose up -d

Accessing the Wallet-CLI

To enter the Wallet-CLI container and interact with it in an interactive session:

docker-compose run --rm -it wallet-cli

This command will open an interactive shell for the Wallet-CLI inside the container. Once inside, you can execute Wallet-CLI commands interactively to manage your wallet.

Notes

  • Replace the example passwords with secure values before using in production.
  • The ./mintlayer-data volume will store persistent data for all services. Ensure the directory exists and is writable by Docker.
Clone this wiki locally