From 2ed70df29a365ef25e55e8c18c4a72d32126c1d5 Mon Sep 17 00:00:00 2001 From: cardosofede Date: Fri, 28 Apr 2023 18:39:19 -0300 Subject: [PATCH 1/5] (feat) first implementation of Hummingbot + Dashboard --- hummingbot_with_dashboard/docker-compose.yml | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 hummingbot_with_dashboard/docker-compose.yml diff --git a/hummingbot_with_dashboard/docker-compose.yml b/hummingbot_with_dashboard/docker-compose.yml new file mode 100644 index 0000000..78a77d2 --- /dev/null +++ b/hummingbot_with_dashboard/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.9" +services: + bot: + container_name: hummingbot + image: dardonacci/hummingbot:multiarch + volumes: + - ./hummingbot_files/conf:/home/hummingbot/conf + - ./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors + - ./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies + - ./hummingbot_files/logs:/home/hummingbot/logs + - ./hummingbot_files/data:/home/hummingbot/data + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: 5 + tty: true + stdin_open: true + network_mode: host + dashboard: + container_name: dashboard + image: dardonacci/streamlit-apps:latest + volumes: + - ./hummingbot_files/data:/home/streamlit-apps/data + ports: + - "8501:8501" From 6cfa158be684a3a9510cb730347a6c1e3ffbf051 Mon Sep 17 00:00:00 2001 From: cardosofede Date: Thu, 4 May 2023 12:22:02 -0300 Subject: [PATCH 2/5] (feat) update mount point version based on new dockerfile --- .../docker-compose.yml | 25 ++++++----- hummingbot_gateway_compose/docker-compose.yml | 22 ++++------ .../docker-compose.yml | 41 ++++++++----------- simple_hummingbot_compose/docker-compose.yml | 17 ++++---- 4 files changed, 46 insertions(+), 59 deletions(-) diff --git a/autostart_hummingbot_compose/docker-compose.yml b/autostart_hummingbot_compose/docker-compose.yml index 31bacc4..e8b573b 100644 --- a/autostart_hummingbot_compose/docker-compose.yml +++ b/autostart_hummingbot_compose/docker-compose.yml @@ -1,21 +1,20 @@ version: "3.9" services: hummingbot: - container_name: "hummingbot" + container_name: hummingbot image: hummingbot/hummingbot:latest - # image: hummingbot/hummingbot:latest-arm volumes: - - "./hummingbot_files/conf:/conf" - - "./hummingbot_files/conf/connectors:/conf/connectors" - - "./hummingbot_files/conf/strategies:/conf/strategies" - - "./hummingbot_files/logs:/logs" - - "./hummingbot_files/data:/data" - - "./hummingbot_files/scripts:/scripts" - - "./hummingbot_files/certs:/certs" - # environment: - # - CONFIG_PASSWORD=[password] - # - CONFIG_FILE_NAME=simple_pmm_example.py - # - CONFIG_FILE_NAME=conf_pure_mm_1.yml + - "./hummingbot_files/conf:/home/hummingbot/conf" + - "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors" + - "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies" + - "./hummingbot_files/logs:/home/hummingbot/logs" + - "./hummingbot_files/data:/home/hummingbot/data" + - "./hummingbot_files/scripts:/home/hummingbot/scripts" + - "./hummingbot_files/certs:/home/hummingbot/certs" +# environment: +# - CONFIG_PASSWORD=[password] +# - CONFIG_FILE_NAME=simple_pmm_example.py +# - CONFIG_FILE_NAME=conf_pure_mm_1.yml logging: driver: "json-file" options: diff --git a/hummingbot_gateway_compose/docker-compose.yml b/hummingbot_gateway_compose/docker-compose.yml index e15e33e..b096d70 100644 --- a/hummingbot_gateway_compose/docker-compose.yml +++ b/hummingbot_gateway_compose/docker-compose.yml @@ -1,19 +1,16 @@ version: "3.9" services: hummingbot: - container_name: "hummingbot" + container_name: hummingbot image: hummingbot/hummingbot:latest - # image: hummingbot/hummingbot:latest-arm volumes: - - "./hummingbot_files/conf:/conf" - - "./hummingbot_files/conf/connectors:/conf/connectors" - - "./hummingbot_files/conf/strategies:/conf/strategies" - - "./hummingbot_files/logs:/logs" - - "./hummingbot_files/data:/data" - - "./hummingbot_files/scripts:/scripts" - - "./hummingbot_files/certs:/certs" - # environment: - # - CONFIG_PASSWORD=[password] + - "./hummingbot_files/conf:/home/hummingbot/conf" + - "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors" + - "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies" + - "./hummingbot_files/logs:/home/hummingbot/logs" + - "./hummingbot_files/data:/home/hummingbot/data" + - "./hummingbot_files/scripts:/home/hummingbot/scripts" + - "./hummingbot_files/certs:/home/hummingbot/certs" logging: driver: "json-file" options: @@ -24,9 +21,8 @@ services: network_mode: host gateway: - container_name: "gateway" + container_name: gateway image: hummingbot/gateway:latest - # image: hummingbot/gateway:latest-arm ports: - "15888:15888" - "8080:8080" diff --git a/multiple_hummingbot_gateway_compose/docker-compose.yml b/multiple_hummingbot_gateway_compose/docker-compose.yml index 77c4073..1848ef7 100644 --- a/multiple_hummingbot_gateway_compose/docker-compose.yml +++ b/multiple_hummingbot_gateway_compose/docker-compose.yml @@ -1,19 +1,16 @@ version: "3.9" services: hummingbot-1: - container_name: "hummingbot-1" + container_name: hummingbot-1 image: hummingbot/hummingbot:latest - # image: hummingbot/hummingbot:latest-arm volumes: - - "./hummingbot_files/conf:/conf" - - "./hummingbot_files/conf/connectors:/conf/connectors" - - "./hummingbot_files/conf/strategies:/conf/strategies" - - "./hummingbot_files/logs:/logs" - - "./hummingbot_files/data:/data" - - "./hummingbot_files/scripts:/scripts" - - "./hummingbot_files/certs:/certs" - # environment: - # - CONFIG_PASSWORD=[password] + - "./hummingbot_files/conf:/home/hummingbot/conf" + - "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors" + - "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies" + - "./hummingbot_files/logs:/home/hummingbot/logs" + - "./hummingbot_files/data:/home/hummingbot/data" + - "./hummingbot_files/scripts:/home/hummingbot/scripts" + - "./hummingbot_files/certs:/home/hummingbot/certs" logging: driver: "json-file" options: @@ -24,19 +21,16 @@ services: network_mode: host hummingbot-2: - container_name: "hummingbot-2" + container_name: hummingbot-2 image: hummingbot/hummingbot:latest - # image: hummingbot/hummingbot:latest-arm volumes: - - "./hummingbot_files/conf:/conf" - - "./hummingbot_files/conf/connectors:/conf/connectors" - - "./hummingbot_files/conf/strategies:/conf/strategies" - - "./hummingbot_files/logs:/logs" - - "./hummingbot_files/data:/data" - - "./hummingbot_files/scripts:/scripts" - - "./hummingbot_files/certs:/certs" - # environment: - # - CONFIG_PASSWORD=[password] + - "./hummingbot_files/conf:/home/hummingbot/conf" + - "./hummingbot_files/logs:/home/hummingbot/logs" + - "./hummingbot_files/data:/home/hummingbot/data" + - "./hummingbot_files/scripts:/home/hummingbot/scripts" + - "./hummingbot_files/certs:/home/hummingbot/certs" + environment: + - CONFIG_PASSWORD=a logging: driver: "json-file" options: @@ -47,9 +41,8 @@ services: network_mode: host gateway: - container_name: "gateway" + container_name: gateway image: hummingbot/gateway:latest - # image: hummingbot/gateway:latest-arm ports: - "15888:15888" - "8080:8080" diff --git a/simple_hummingbot_compose/docker-compose.yml b/simple_hummingbot_compose/docker-compose.yml index 33148ce..a06fa83 100644 --- a/simple_hummingbot_compose/docker-compose.yml +++ b/simple_hummingbot_compose/docker-compose.yml @@ -1,17 +1,16 @@ version: "3.9" services: hummingbot: - container_name: "hummingbot" + container_name: hummingbot image: hummingbot/hummingbot:latest - # image: hummingbot/hummingbot:latest-arm volumes: - - "./hummingbot_files/conf:/conf" - - "./hummingbot_files/conf/connectors:/conf/connectors" - - "./hummingbot_files/conf/strategies:/conf/strategies" - - "./hummingbot_files/logs:/logs" - - "./hummingbot_files/data:/data" - - "./hummingbot_files/scripts:/scripts" - - "./hummingbot_files/certs:/certs" + - "./hummingbot_files/conf:/home/hummingbot/conf" + - "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors" + - "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies" + - "./hummingbot_files/logs:/home/hummingbot/logs" + - "./hummingbot_files/data:/home/hummingbot/data" + - "./hummingbot_files/scripts:/home/hummingbot/scripts" + - "./hummingbot_files/certs:/home/hummingbot/certs" logging: driver: "json-file" options: From 85ebeda280e6c03b97a8e19d5ede8634e22f27a3 Mon Sep 17 00:00:00 2001 From: cardosofede Date: Fri, 5 May 2023 10:39:44 -0300 Subject: [PATCH 3/5] (feat) update bash scripts --- bash_scripts/hummingbot-create.sh | 16 ++++++++-------- bash_scripts/hummingbot-update.sh | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bash_scripts/hummingbot-create.sh b/bash_scripts/hummingbot-create.sh index bd4e8d7..712583e 100755 --- a/bash_scripts/hummingbot-create.sh +++ b/bash_scripts/hummingbot-create.sh @@ -86,14 +86,14 @@ create_instance () { docker run -it --log-opt max-size=10m --log-opt max-file=5 \ --name $INSTANCE_NAME \ --network host \ - -v $CONF_FOLDER:/conf \ - -v $CONF_FOLDER/connectors:/conf/connectors \ - -v $CONF_FOLDER/strategies:/conf/strategies \ - -v $LOGS_FOLDER:/logs \ - -v $DATA_FOLDER:/data \ - -v $PMM_SCRIPTS_FOLDER:/pmm_scripts \ - -v $SCRIPTS_FOLDER:/scripts \ - -v $CERTS_FOLDER:/certs \ + -v $CONF_FOLDER:/home/hummingbot/conf \ + -v $CONF_FOLDER/connectors:/home/hummingbot/conf/connectors \ + -v $CONF_FOLDER/strategies:/home/hummingbot/conf/strategies \ + -v $LOGS_FOLDER:/home/hummingbot/logs \ + -v $DATA_FOLDER:/home/hummingbot/data \ + -v $PMM_SCRIPTS_FOLDER:/home/hummingbot/pmm_scripts \ + -v $SCRIPTS_FOLDER:/home/hummingbot/scripts \ + -v $CERTS_FOLDER:/home/hummingbot/certs \ hummingbot/hummingbot:$TAG } diff --git a/bash_scripts/hummingbot-update.sh b/bash_scripts/hummingbot-update.sh index c049892..79accda 100755 --- a/bash_scripts/hummingbot-update.sh +++ b/bash_scripts/hummingbot-update.sh @@ -105,14 +105,14 @@ execute_docker () { docker run -itd --log-opt max-size=10m --log-opt max-file=5 \ --network host \ --name ${INSTANCES[$j]} \ - -v ${FOLDERS[$j]}/conf:/conf \ - -v ${FOLDERS[$j]}/conf/connectors:/conf/connectors \ - -v ${FOLDERS[$j]}/conf/strategies:/conf/strategies \ - -v ${FOLDERS[$j]}/logs:/logs \ - -v ${FOLDERS[$j]}/data:/data \ - -v ${FOLDERS[$j]}/pmm-scripts:/pmm-scripts \ - -v ${FOLDERS[$j]}/scripts:/scripts \ - -v ${FOLDERS[$j]}/certs:/certs \ + -v ${FOLDERS[$j]}/conf:/home/hummingbot/conf \ + -v ${FOLDERS[$j]}/conf/connectors:/home/hummingbot/conf/connectors \ + -v ${FOLDERS[$j]}/conf/strategies:/home/hummingbot/conf/strategies \ + -v ${FOLDERS[$j]}/logs:/home/hummingbot/logs \ + -v ${FOLDERS[$j]}/data:/home/hummingbot/data \ + -v ${FOLDERS[$j]}/pmm-scripts:/home/hummingbot/pmm-scripts \ + -v ${FOLDERS[$j]}/scripts:/home/hummingbot/scripts \ + -v ${FOLDERS[$j]}/certs:/home/hummingbot/certs \ hummingbot/hummingbot:$TAG j=$[$j+1] # Update file ownership From 54b903f969b4effcbc2bab5e491c11c9c54d500c Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Mon, 8 May 2023 09:49:13 -0700 Subject: [PATCH 4/5] (docs) remove m1 docs, add linux compose install --- DOCKER.md | 19 ++++++++++++++++++- autostart_hummingbot_compose/README.md | 14 -------------- hummingbot_gateway_broker_compose/README.md | 19 ------------------- hummingbot_gateway_compose/README.md | 19 ------------------- multiple_hummingbot_gateway_compose/README.md | 19 ------------------- .../docker-compose.yml | 4 ++-- simple_hummingbot_compose/README.md | 14 -------------- 7 files changed, 20 insertions(+), 88 deletions(-) diff --git a/DOCKER.md b/DOCKER.md index 0fc4164..073030b 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -4,7 +4,11 @@ Using Docker for Hummingbot deployment offers several benefits, such as simplifying the installation process, enabling easy versioning and scaling, and ensuring a consistent and isolated environment for running the bot. This repository aims to help users get started with deploying Hummingbot using Docker by providing different examples that demonstrate how to set up and customize the bot according to their needs. -The recommended way to get Docker Compose is to install [Docker Desktop](https://www.docker.com/products/docker-desktop/), which includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites. +## Install Docker Compose + +### Installer + +Installing [Docker Desktop](https://www.docker.com/products/docker-desktop/) includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites. Docker Desktop is available on: @@ -12,6 +16,19 @@ Docker Desktop is available on: * [Mac](https://docs.docker.com/desktop/install/mac-install/) * [Windows](https://docs.docker.com/desktop/install/windows-install/) +### Ubuntu / Debian + +```bash +sudo apt-get update +sudo apt-get install docker-compose-plugin +``` + +Verify that Docker Compose is installed correctly by checking the version: + +```bash +docker compose version +``` + ## Useful Docker Commands Use the commands below or use the Docker Desktop application to manage your containers: diff --git a/autostart_hummingbot_compose/README.md b/autostart_hummingbot_compose/README.md index 78b32e8..e17f52a 100644 --- a/autostart_hummingbot_compose/README.md +++ b/autostart_hummingbot_compose/README.md @@ -8,20 +8,6 @@ This configuration requires [Docker Compose](https://docs.docker.com/compose/), See [Docker](../DOCKER.md) for more information about how to install and use Docker Compose, as well as helpful commands. -## Apple M1/M2 and other ARM machines - -If you have a recent Mac that uses Apple Silicon (M1/M2) chipset or another ARM-based machine, you need to change the image tag to ensure that you pull a container that is optimized for your chip architecture. - -Use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. Change the the image tag from `latest` to `latest-arm` to pull the image built for ARM-based machines. You can also comment out the line that contains `latest` and uncomment the line that contains `latest-arm`: -``` -# image: hummingbot/hummingbot:latest -image: hummingbot/hummingbot:latest-arm -``` - -Afterwards, save the file and proceed to the next step. - -If you are using a Mac with an Intel (x86) chipset, Windows or any other Intel-based machine, you don't need to make any changes before deploying a container. - ## Getting Started Auto-starting a script/strategy lets you start a bot from the command line, skipping the Hummingbot UI. diff --git a/hummingbot_gateway_broker_compose/README.md b/hummingbot_gateway_broker_compose/README.md index 09f76e5..699eada 100644 --- a/hummingbot_gateway_broker_compose/README.md +++ b/hummingbot_gateway_broker_compose/README.md @@ -11,25 +11,6 @@ This configuration requires [Docker Compose](https://docs.docker.com/compose/), See [Docker](../DOCKER.md) for more information about how to install and use Docker Compose, as well as helpful commands. -## Apple M1/M2 and other ARM machines - -If you have a recent Mac that uses Apple Silicon (M1/M2) chipset or another ARM-based machine, you need to change the image tag to ensure that you pull a container that is optimized for your chip architecture. - -Use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. Change the tag for **both** the Hummingbot and Gateway images from `latest` to `latest-arm` to pull the images built for ARM-based machines. - -You can also comment out the each line that contains `latest` and uncomment each line that contains `latest-arm`: -``` -# image: hummingbot/hummingbot:latest -image: hummingbot/hummingbot:latest-arm - -# image: hummingbot/gateway:latest -image: hummingbot/gateway:latest-arm -``` - -Afterwards, save the file and proceed to the next step. - -If you are using a Mac with an Intel (x86) chipset, Windows or any other Intel-based machine, you don't need to make any changes before deploying a container. - ## Getting Started This configuration lets you orchestrate Hummingbot and Gateway instances using an EMQX broker. diff --git a/hummingbot_gateway_compose/README.md b/hummingbot_gateway_compose/README.md index 080b6c7..4d42c1d 100644 --- a/hummingbot_gateway_compose/README.md +++ b/hummingbot_gateway_compose/README.md @@ -8,25 +8,6 @@ This configuration requires [Docker Compose](https://docs.docker.com/compose/), See [Docker](../DOCKER.md) for more information about how to install and use Docker Compose, as well as helpful commands. -## Apple M1/M2 and other ARM machines - -If you have a recent Mac that uses Apple Silicon (M1/M2) chipset or another ARM-based machine, you need to change the image tag to ensure that you pull a container that is optimized for your chip architecture. - -Use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. Change the tag for **both** the Hummingbot and Gateway images from `latest` to `latest-arm` to pull the images built for ARM-based machines. - -You can also comment out the each line that contains `latest` and uncomment each line that contains `latest-arm`: -``` -# image: hummingbot/hummingbot:latest -image: hummingbot/hummingbot:latest-arm - -# image: hummingbot/gateway:latest -image: hummingbot/gateway:latest-arm -``` - -Afterwards, save the file and proceed to the next step. - -If you are using a Mac with an Intel (x86) chipset, Windows or any other Intel-based machine, you don't need to make any changes before deploying a container. - ## Getting Started Installing Hummingbot alongside Gateway lets you access data and execute orders on DEX connectors. diff --git a/multiple_hummingbot_gateway_compose/README.md b/multiple_hummingbot_gateway_compose/README.md index ba9c292..4ba0650 100644 --- a/multiple_hummingbot_gateway_compose/README.md +++ b/multiple_hummingbot_gateway_compose/README.md @@ -8,25 +8,6 @@ This configuration requires [Docker Compose](https://docs.docker.com/compose/), See [Docker](../DOCKER.md) for more information about how to install and use Docker Compose, as well as helpful commands. -## Apple M1/M2 and other ARM machines - -If you have a recent Mac that uses Apple Silicon (M1/M2) chipset or another ARM-based machine, you need to change the image tag to ensure that you pull a container that is optimized for your chip architecture. - -Use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. Change the tag for **both** the Hummingbot and Gateway images from `latest` to `latest-arm` to pull the images built for ARM-based machines. - -You can also comment out the each line that contains `latest` and uncomment each line that contains `latest-arm`: -``` -# image: hummingbot/hummingbot:latest -image: hummingbot/hummingbot:latest-arm - -# image: hummingbot/gateway:latest -image: hummingbot/gateway:latest-arm -``` - -Afterwards, save the file and proceed to the next step. - -If you are using a Mac with an Intel (x86) chipset, Windows or any other Intel-based machine, you don't need to make any changes before deploying a container. - ## Getting Started This configuration lets you deploy multiple Hummingbot instances that access data and execute orders on DEX connectors. diff --git a/multiple_hummingbot_gateway_compose/docker-compose.yml b/multiple_hummingbot_gateway_compose/docker-compose.yml index 1848ef7..0985939 100644 --- a/multiple_hummingbot_gateway_compose/docker-compose.yml +++ b/multiple_hummingbot_gateway_compose/docker-compose.yml @@ -29,8 +29,8 @@ services: - "./hummingbot_files/data:/home/hummingbot/data" - "./hummingbot_files/scripts:/home/hummingbot/scripts" - "./hummingbot_files/certs:/home/hummingbot/certs" - environment: - - CONFIG_PASSWORD=a + # environment: + # - CONFIG_PASSWORD=[password] logging: driver: "json-file" options: diff --git a/simple_hummingbot_compose/README.md b/simple_hummingbot_compose/README.md index f401aab..e34d0bf 100644 --- a/simple_hummingbot_compose/README.md +++ b/simple_hummingbot_compose/README.md @@ -8,20 +8,6 @@ This configuration requires [Docker Compose](https://docs.docker.com/compose/), See [Docker](../DOCKER.md) for more information about how to install and use Docker Compose, as well as helpful commands. -## Apple M1/M2 and other ARM machines - -If you have a recent Mac that uses Apple Silicon (M1/M2) chipset or another ARM-based machine, you need to change the image tag to ensure that you pull a container that is optimized for your chip architecture. - -Use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. Change the the image tag from `latest` to `latest-arm` to pull the image built for ARM-based machines. You can also comment out the line that contains `latest` and uncomment the line that contains `latest-arm`: -``` -# image: hummingbot/hummingbot:latest -image: hummingbot/hummingbot:latest-arm -``` - -Afterwards, save the file and proceed to the next step. - -If you are using a Mac with an Intel (x86) chipset, Windows or any other Intel-based machine, you don't need to make any changes before deploying a container. - ## Getting Started In Terminal/Bash, run the following command to check that you have installed Docker Compose successfully: From 34d2e6ce22c07b1e3a8c284b60ac305081fcc3d5 Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Mon, 8 May 2023 12:48:46 -0700 Subject: [PATCH 5/5] revised docker compose install docs --- DOCKER.md | 27 ++++++++++++------- README.md | 15 +++++++++-- autostart_hummingbot_compose/README.md | 12 ++++----- hummingbot_gateway_broker_compose/README.md | 12 ++++----- hummingbot_gateway_compose/README.md | 12 ++++----- multiple_hummingbot_gateway_compose/README.md | 13 +++++---- simple_hummingbot_compose/README.md | 12 ++++----- 7 files changed, 56 insertions(+), 47 deletions(-) diff --git a/DOCKER.md b/DOCKER.md index 073030b..fa0ab91 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -6,29 +6,36 @@ Using Docker for Hummingbot deployment offers several benefits, such as simplify ## Install Docker Compose -### Installer +The examples below use Docker Compose, a tool for defining and running multi-container Docker applications. You can install Docker Compose either via command line or by running an installer. -Installing [Docker Desktop](https://www.docker.com/products/docker-desktop/) includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites. - -Docker Desktop is available on: - -* [Linux](https://docs.docker.com/desktop/install/linux-install/) -* [Mac](https://docs.docker.com/desktop/install/mac-install/) -* [Windows](https://docs.docker.com/desktop/install/windows-install/) - -### Ubuntu / Debian +Linux (Ubuntu / Debian): ```bash sudo apt-get update sudo apt-get install docker-compose-plugin ``` +Mac (Homebrew): + +```bash +brew install docker-compose +``` + +If you want to be guided through the installation, install [Docker Desktop](https://www.docker.com/products/docker-desktop/) includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites: + +* [Linux](https://docs.docker.com/desktop/install/linux-install/) +* [Mac](https://docs.docker.com/desktop/install/mac-install/) +* [Windows](https://docs.docker.com/desktop/install/windows-install/) + + Verify that Docker Compose is installed correctly by checking the version: ```bash docker compose version ``` +The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. + ## Useful Docker Commands Use the commands below or use the Docker Desktop application to manage your containers: diff --git a/README.md b/README.md index 47aaf99..24bcdcb 100644 --- a/README.md +++ b/README.md @@ -10,22 +10,33 @@ See [Docker](./DOCKER.md) for more information about how to install and use Dock ## How do I use this repo? -Each folder showcases a different deployment type, such as: +Each folder showcases a different deployment type using Docker Compose, such as: * A single Hummingbot instance * A single Hummingbot instance that auto-starts a strategy or script * Linked Hummingbot and Gateway instances * Multiple instances of Hummingbot The important files in each folder are: -* `docker-compose.yml`: A sample configuration file for that deployment type +* `docker-compose.yml`: A sample configuration file for that deployment type. * `README.md`: A detailed README file that guides users through the steps required to deploy Hummingbot using Docker, including how to build and run the containers, how to configure the bot, and how to monitor its performance. +After you have configured it properly, each deployment can be launched with the command: +``` +docker compose up -d +``` + ## Deployment types using Docker Compose ### [Simple Hummingbot Compose](./simple_hummingbot_compose) This installs a single [Hummingbot](https://github.com/hummingbot/hummingbot) instance as a Docker container. +### [Hummingbot with Dashboard](./hummingbot_with_dashboard) + +This installs a single [Hummingbot](https://github.com/hummingbot/hummingbot) instance with a companion [Hummingbot Dashboard](https://github.com/hummingbot/dashboard) running. + +Documentation coming soon. + ### [Autostart Hummingbot Compose](./autostart_hummingbot_compose) This installs a single [Hummingbot](https://github.com/hummingbot/hummingbot) instance as a Docker container and automatically starts running a pre-configured script or strategy. diff --git a/autostart_hummingbot_compose/README.md b/autostart_hummingbot_compose/README.md index e17f52a..6a5160b 100644 --- a/autostart_hummingbot_compose/README.md +++ b/autostart_hummingbot_compose/README.md @@ -17,15 +17,13 @@ To enable this, you will do need a few things first: - Set the password used to encrypt your keys (`CONFIG_PASSWORD`) - Define your script or strategy config file that you want to auto-start (`CONFIG_FILE_NAME`) -First, let's check that you have installed Docker Compose successfully. In Terminal/Bash, Run the following command: -``` -docker compose +Verify that Docker Compose is installed correctly by checking the version: + +```bash +docker compose version ``` -You should see a response that start with: -``` -Usage: docker compose [OPTIONS] COMMAND -``` +The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. ### 1. Launch network diff --git a/hummingbot_gateway_broker_compose/README.md b/hummingbot_gateway_broker_compose/README.md index 699eada..db6ac2e 100644 --- a/hummingbot_gateway_broker_compose/README.md +++ b/hummingbot_gateway_broker_compose/README.md @@ -21,15 +21,13 @@ To enable this, you will do need a few things first: - Give Gateway the passphrase used to generate the certificates (`GATEWAY_PASSPHRASE`) - Configure the EMQX broker -First, let's check that you have installed Docker Compose successfully. In Terminal/Bash, Run the following command: -``` -docker compose +Verify that Docker Compose is installed correctly by checking the version: + +```bash +docker compose version ``` -You should see a response that start with: -``` -Usage: docker compose [OPTIONS] COMMAND -``` +The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. ### 1. Launch network diff --git a/hummingbot_gateway_compose/README.md b/hummingbot_gateway_compose/README.md index 4d42c1d..644e70a 100644 --- a/hummingbot_gateway_compose/README.md +++ b/hummingbot_gateway_compose/README.md @@ -17,15 +17,13 @@ To enable this, you will do need a few things first: - Generate self-signed certificates in Hummingbot - Give Gateway the passphrase used to generate the certificates (`GATEWAY_PASSPHRASE`) -First, let's check that you have installed Docker Compose successfully. In Terminal/Bash, Run the following command: -``` -docker compose +Verify that Docker Compose is installed correctly by checking the version: + +```bash +docker compose version ``` -You should see a response that start with: -``` -Usage: docker compose [OPTIONS] COMMAND -``` +The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. ### 1. Launch network diff --git a/multiple_hummingbot_gateway_compose/README.md b/multiple_hummingbot_gateway_compose/README.md index 4ba0650..ad179be 100644 --- a/multiple_hummingbot_gateway_compose/README.md +++ b/multiple_hummingbot_gateway_compose/README.md @@ -17,15 +17,14 @@ To enable this, you will do need a few things first: - Generate self-signed certificates in Hummingbot - Give Gateway the passphrase used to generate the certificates (`GATEWAY_PASSPHRASE`) -First, let's check that you have installed Docker Compose successfully. In Terminal/Bash, Run the following command: -``` -docker compose +Verify that Docker Compose is installed correctly by checking the version: + +```bash +docker compose version ``` -You should see a response that start with: -``` -Usage: docker compose [OPTIONS] COMMAND -``` +The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. + ### 1. Launch network diff --git a/simple_hummingbot_compose/README.md b/simple_hummingbot_compose/README.md index e34d0bf..6bdfb46 100644 --- a/simple_hummingbot_compose/README.md +++ b/simple_hummingbot_compose/README.md @@ -10,15 +10,13 @@ See [Docker](../DOCKER.md) for more information about how to install and use Doc ## Getting Started -In Terminal/Bash, run the following command to check that you have installed Docker Compose successfully: -``` -docker compose +Verify that Docker Compose is installed correctly by checking the version: + +```bash +docker compose version ``` -You should see a response that start with: -``` -Usage: docker compose [OPTIONS] COMMAND -``` +The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. ### 1. Launch network