Join our
Discord!
LogoLogo
SupraScan ExplorerStarKey WalletDiscord
MoveVM
  • Network
  • Oracles
  • Automation
  • SupraNova
  • AI Agents
MoveVM
  • Overview
  • Getting Started
    • Introduction to Docker
    • Setup Supra CLI
    • Create a Supra Account
    • Create a Move Package
      • Write a Module
      • Compile and Publish
      • Interact with a Package
    • Create a dApp with StarKey
  • Network Information
  • Token Standards
  • Learn Move 101
    • Getting Started with Move
    • Unsigned Integers in Move
    • Math Operations in Move
    • Using Vectors in Move
    • Reading Resource Data with borrow_global
    • Passing Data in Move: Value vs. Reference
    • Adding Elements with vector::push_back
    • Emitting Events with event::emit
  • Move Book
    • Getting Started
      • Modules and Scripts
      • Move Tutorial
    • Primitive Types
      • Integers
      • Bool
      • Address
      • Vector
      • Signer
      • References
      • Tuples and Unit
    • Basic Concepts
      • Local Variables and Scope
      • Equality
      • Abort and Assert
      • Conditionals
      • While, For, and Loop
      • Functions
      • Structs and Resources
      • Constants
      • Generics
      • Type Abilities
      • Uses and Aliases
      • Friends
      • Packages
      • Package Upgrades
      • Unit Tests
    • Global Storage
      • Structure
      • Operators
    • Reference
      • Standard Library
      • Coding Conventions
  • Aptos to Supra Cheatsheet
  • Ethereum to Supra Move Cheatsheet
  • TypeScript SDK
    • Guides
      • Create Supra Accounts
      • Publish a Package
    • Documentation
    • Repository
  • Rest API
    • Mainnet
      • Accounts
      • Faucet
      • Transactions
      • Block
      • View
      • Consensus
      • Events
      • Tables
    • Testnet
      • Accounts
      • Faucet
      • Transactions
      • Block
      • View
      • Events
      • Tables
  • Supra Multisig Guide
  • Binary Canonical Serialization (BCS) Standard Guide
  • Developer Resources
    • Supra Dapp Templates
    • Supra Move VS Code Extension
  • Native Oracles
    • Data Feeds (Push)
    • dVRF (Randomness)
    • Automation
    • SupraNova Bridge
Powered by GitBook

Links

  • Whitepapers
  • Bug Bounty
  • Security Audits

‎

  • Supra Dev Hub
  • Supra Labs Github
  • Entropy Foundation Github
On this page
  • Prerequisites
  • Install and Setup the CLI
  • Start the container with Docker Compose
  • Enter the shell of the container
  • Execute the supra command
Edit on GitHub
  1. Getting Started

Setup Supra CLI

Installation of the Supra CLI using Docker.

PreviousIntroduction to DockerNextCreate a Supra Account

Last updated 12 days ago

On May 2nd, 2025 a new version of the CLI was released. To update your CLI to the latest version, please repeat the steps below.

Prerequisites

The installation process of Docker is straight forward and requires no additional configuration. The only requirement to proceed is to ensure the is running. If you installed Docker Engine, opening the program will start the daemon.

Install and Setup the CLI

1

Start the container with Docker Compose

Open your terminal and cd to the directory on your machine where you wish to setup the CLI. For convenience, we recommend placing it within the Documents directory. However, this is entirely arbitrary and there will be no repercussions for choosing differently.

execute me!
cd Documents

The following command will use the latest compose file (which you can ) and pipe it into the . This will pull the latest image, create, and start the container. Please note that the following command will create a supra directory within your current working directory if one does not already exist.

execute me!
curl https://raw.githubusercontent.com/supra-labs/supra-dev-hub/refs/heads/main/Scripts/cli/compose.yaml | docker compose -f - up -d

You can confirm that the container is running by executing docker ps --all. This command will output all docker containers that exist on your machine, whether they are running or stopped.

2

Enter the shell of the container

To interact with the Supra CLI, we must enter the shell of the container. This will allow us to execute commands within the container from our host machine.

execute me!
docker exec -it supra_cli /bin/bash 

Once inside, execute the ls command to gain a simple understanding of the file system. The displayed configs directory is bind mounted to the /supra/configs directory on your host machine. These directories are shared/linked between your host machine and the container.

3

Execute the supra command

Within the shell of the container, CLI commands operate in the same manner as you would expect on your host machine. For example, executing commands such as supra move tool init will initialize the new module within your current working directory. You may view all available arguments of any command by passing the --help argument.

Example: supra move tool init --help

Docker Desktop
Windows
Mac
Linux
Introduction to Docker
Docker Daemon
view here
Docker Compose command
Note: "supra" is the CLI binary within the container. The compose file automatically setup the alias to interact with the binary using the "supra" command.
Example output of the "supra" command