🛠️
Stacks Documentation
  • Start Here
  • 🧠Concepts
    • Stacks 101
      • What Is Stacks?
      • Bitcoin Connection
      • Proof of Transfer
      • Stacks Among Other Layers
      • Financial Incentive and Security Budget
    • Network Fundamentals
      • Network Basics
      • Mainnet and Testnets
      • Accounts
      • Authentication
      • Bitcoin Name System
      • SIPs
      • Technical Specifications
    • Block Production
      • Mining
      • Signing
      • Bitcoin Finality
      • Bitcoin Reorgs
      • Stacking
    • Transactions
      • How Transactions Work
      • Post Conditions
    • Clarity
      • Overview
      • Decidability
    • sBTC
      • Core Features
      • sBTC Operations
        • Deposit
        • Withdrawal
        • Deposit vs Withdrawal Times
      • Emily API
      • Peg Wallet UTXO
      • Clarity Contracts
        • sBTC Registry
        • sBTC Token
        • sBTC Deposit
        • sBTC Withdrawal
      • Auxiliary Features
        • Transaction Fee Sponsorship
        • Signer Wallet Rotation
      • Walkthroughs
        • Signer Process Walkthrough
        • sBTC Transaction Walkthrough
      • sBTC FAQ
    • Gaia
      • Configuration
      • Deploy Gaia Hub
      • Amazon EC2
      • Linux
      • Mac OS
  • 🛠️Guides & Tutorials
    • Developer Quickstart
    • Clarity Crash Course
    • Build a Borrowing & Lending Protocol
    • Bitcoin Integration
      • Sending Bitcoin with Leather Wallet
      • Verifying a Bitcoin Transaction
      • Parsing a Bitcoin Transaction
    • Create Tokens
      • Creating a NFT
      • Creating a Fungible Token
    • Build a Frontend
      • Post Conditions with Stacks.js
      • Authentication with Stacks.js
      • Sending Transactions with Stacks.js
    • Testing Smart Contracts
      • Fuzz Testing
    • Run a Node
      • Run a Node with Docker
      • Run a Node with Digital Ocean
      • Run a Node with a Hosted Provider
      • Run a Node with Quicknode
      • Run a Bitcoin Node
      • Run a Pruned Bitcoin Node
    • Run a Miner
      • Miner Prerequisites
      • Miner Costs and Fees
      • Mine Testnet Stacks Tokens
      • Mine Mainnet Stacks Tokens
      • Verify Miner
    • Run a Signer
      • Signer Quickstart
      • How to Read Signer Logs
      • How to Monitor a Signer
      • Best practices for running a Signer
      • OpSec Best Practices
    • sBTC
      • How to Run an sBTC Signer
      • Best practices for running an sBTC Signer
      • How to Use the sBTC Bridge
      • Earn sBTC Rewards
    • Stack STX
      • Solo Stack
      • Operate a Pool
      • Stack with a Pool
      • Increase Stacked Position
      • Stop Stacking
    • Oracles
    • Community Tutorials
  • 📚Reference
    • API
    • Clarity Types
    • Clarity Functions
    • Clarity Keywords
    • Stacks Node Configuration
    • Signer Configuration
    • Stacks Tooling
  • 🏗️Example Contracts
    • Audited Starter Contracts
    • Stacking
    • BNS
    • Multi Send
  • 🧡Press & Top Links
    • 🔶2024
      • 🔸January 2024
      • 🔸February 2024
      • 🔸March 2024
      • 🔸April 2024
      • 🔸May 2024
      • 🔸June 2024
      • 🔸July 2024
      • 🔸August 2024
      • 🔸September 2024
      • 🔸October 2024
      • 🔸November 2024
      • 🔸December 2024
    • 🔶2025
      • 🔸January 2025
      • 🔸February 2025
      • 🔸March 2025
      • 🔸April 2025
      • 🔸May 2025
  • 🧡Bitcoin Theses and Reports
    • 🟠Bitcoin Theses
    • 📙Bitcoin Reports
  • Contribute
Powered by GitBook
On this page
  • Stacks Blockchain with Docker
  • Requirements:
  • Quickstart
  • Accessing the services
  • Upgrades

Was this helpful?

  1. Guides & Tutorials
  2. Run a Node

Run a Node with Docker

PreviousRun a NodeNextRun a Node with Digital Ocean

Last updated 1 month ago

Was this helpful?

Stacks Blockchain with Docker

Run your own Stacks Blockchain node using with just few commands using

  • Quickstart

Requirements:

The minimum viable requirements are listed below.

While you can run a node using these specs, it's recommended to assign more than the minimum for better performance.

  • ⚠️ version 2.2.2 or greater is required

  • 8GB memory if running only a Stacks node

  • 16 GB memory if running Stacks + Bitcoin node

  • 1 Vcpu ( minimum of 2 Vcpu is recommended )

  • 500GB disk for Stacks node

  • 1TB disk space for Bitcoin node

MacOS with an ARM (M-series chip) processor is NOT recommended

The way Docker for Mac on an Arm CPU is designed makes the I/O incredibly slow, and blockchains are very heavy on I/O. This only seems to affect MacOS with the M-series chip, other Arm based systems like Raspberry Pi work as expected.

Quickstart

The <network> placeholder used below can be replaced with one of:

  • mainnet

  • testnet

  • mocknet

  1. Clone the stacks-blockchain-docker repository locally

git clone https://github.com/stacks-network/stacks-blockchain-docker && cd stacks-blockchain-docker
  1. Start the Services

./manage.sh -n <network> -a start

With an optional HTTP proxy on port 80:

./manage.sh -n <network> -a start -f proxy

Accessing the services

For networks other than mocknet, downloading the initial headers can take several minutes. Until the headers are downloaded, the /v2/info endpoints won't return any data.

Follow the logs to track the sync progress:

./manage.sh -n <network> -a logs

stacks-blockchain:

  • Ports 20443-20444 are exposed on localhost

curl -sL localhost:20443/v2/info | jq -r

stacks-blockchain-api:

  • Port 3999 is exposed on localhost

curl -sL localhost:3999 | jq -r

proxy:

  • Port 80 is exposed on localhost

curl -sL localhost/v2/info | jq -r
curl -sL localhost | jq -r

Upgrades


For schema-breaking upgrades to running instances of this repo, you'll need to .

🛠️
docker-compose
stacks-blockchain-docker
Requirements
Docker Setup
Configuration
Upgrading
Common Issues
docker-compose
run an event-replay