Skip to content

Install via Docker

We recommend installing Hummingbot using Docker if you want the simplest, easiest installation method and don't need to modify the Hummingbot codebase.

Prerequisites

Hummingbot runs on commodity hardware and does not require much memory or storage.

  • Operating System: MacOS 10.12.6+ / Linux (Ubuntu 20.04+, Debian 10+) / Windows 10+
  • Memory: 4 GB RAM per instance
  • Storage: 5 GB HDD space per instance

Installation Process

1. Install Docker Compose

Hummingbot uses Docker Compose, a tool for defining and running multi-container Docker applications.

For Windows users

To install Docker on Windows, Windows Subsystem for Linux 2 is needed. Follow this link to install WSL2 on your Windows system. Afterwards, proceed to the instructions above to install Docker Compose.

The recommended way to get Docker Compose is to install Docker Desktop, which includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites.

For command line instructions and other helpful commands, see this page in our Deploy-Examples repo.

After installing Docker Desktop, verify that Docker Compose is installed correctly by checking the version:

docker compose version

The output should be: Docker Compose version v2.17.2 or similar.

Warning

Ensure that you are using Docker Compose V2, since Compose V1 is deprecated and the examples assume that you are using Compose V2.

2. Clone Repo

Enter the following commands in Bash/Terminal to clone the Hummingbot Github repo and enter the root folder:

git clone https://github.com/hummingbot/hummingbot.git
cd hummingbot

3. Pull Image

The docker-compose.yml file in the root folder provides a basic configuration for launching an instance.

version: "3.9"
services:
  hummingbot:
    container_name: hummingbot
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./conf:/home/hummingbot/conf
      - ./conf/connectors:/home/hummingbot/conf/connectors
      - ./conf/strategies:/home/hummingbot/conf/strategies
      - ./conf/controllers:/home/hummingbot/conf/controllers
      - ./conf/scripts:/home/hummingbot/conf/scripts
      - ./logs:/home/hummingbot/logs
      - ./data:/home/hummingbot/data
      - ./certs:/home/hummingbot/certs
      - ./scripts:/home/hummingbot/scripts
      - ./controllers:/home/hummingbot/controllers
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
    tty: true
    stdin_open: true
    network_mode: host
    #  environment:
    #    - CONFIG_PASSWORD=a
    #    - CONFIG_FILE_NAME=simple_pmm_example.py
    #    - SCRIPT_CONFIG=conf_simple_pmm_example.yaml

You will be able to modify this file and uncomment lines in order to automatically enter your pasword and start strategies. For now, we can use it as-is.

Run the following command to pull the image and start the instance:

docker compose up -d

After the images have been downloaded, you should see the following output:

[+] Running 1/1
  Container hummingbot  Started 

4. Attach to Instance

The -d flag runs Hummingbot in detached mode. Attach to it by running the command:

docker attach hummingbot

You should now see the Hummingbot welcome screen:

welcome screen

To get started with Hummingbot, check out the following pages and guides:

Advanced Configurations

We maintain the Deploy Examples repo that provides advanced examples of how to deploy Hummingbot:

  • Auto-starting strategies
  • Running Hummingbot with Gateway
  • Running multiple bots with Broker