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:
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:
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:
After the images have been downloaded, you should see the following output:
4. Attach to Instance¶
The -d
flag runs Hummingbot in detached mode. Attach to it by running the command:
You should now see the Hummingbot 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