mirror of
https://github.com/d0zingcat/deploy.git
synced 2026-05-18 07:26:49 +00:00
Merge branch 'main' of https://github.com/hummingbot/deploy-examples into compose-fix
This commit is contained in:
28
DOCKER.md
28
DOCKER.md
@@ -4,14 +4,38 @@
|
|||||||
|
|
||||||
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.
|
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
|
||||||
|
|
||||||
Docker Desktop is available on:
|
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.
|
||||||
|
|
||||||
|
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/)
|
* [Linux](https://docs.docker.com/desktop/install/linux-install/)
|
||||||
* [Mac](https://docs.docker.com/desktop/install/mac-install/)
|
* [Mac](https://docs.docker.com/desktop/install/mac-install/)
|
||||||
* [Windows](https://docs.docker.com/desktop/install/windows-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
|
## Useful Docker Commands
|
||||||
|
|
||||||
Use the commands below or use the Docker Desktop application to manage your containers:
|
Use the commands below or use the Docker Desktop application to manage your containers:
|
||||||
|
|||||||
15
README.md
15
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?
|
## 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
|
||||||
* A single Hummingbot instance that auto-starts a strategy or script
|
* A single Hummingbot instance that auto-starts a strategy or script
|
||||||
* Linked Hummingbot and Gateway instances
|
* Linked Hummingbot and Gateway instances
|
||||||
* Multiple instances of Hummingbot
|
* Multiple instances of Hummingbot
|
||||||
|
|
||||||
The important files in each folder are:
|
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.
|
* `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
|
## Deployment types using Docker Compose
|
||||||
|
|
||||||
### [Simple Hummingbot Compose](./simple_hummingbot_compose)
|
### [Simple Hummingbot Compose](./simple_hummingbot_compose)
|
||||||
|
|
||||||
This installs a single [Hummingbot](https://github.com/hummingbot/hummingbot) instance as a Docker container.
|
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)
|
### [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.
|
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.
|
||||||
|
|||||||
@@ -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.
|
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
|
## Getting Started
|
||||||
|
|
||||||
Auto-starting a script/strategy lets you start a bot from the command line, skipping the Hummingbot UI.
|
Auto-starting a script/strategy lets you start a bot from the command line, skipping the Hummingbot UI.
|
||||||
@@ -31,15 +17,13 @@ To enable this, you will do need a few things first:
|
|||||||
- Set the password used to encrypt your keys (`CONFIG_PASSWORD`)
|
- 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`)
|
- 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:
|
Verify that Docker Compose is installed correctly by checking the version:
|
||||||
```
|
|
||||||
docker compose
|
```bash
|
||||||
|
docker compose version
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see a response that start with:
|
The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated.
|
||||||
```
|
|
||||||
Usage: docker compose [OPTIONS] COMMAND
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1. Launch network
|
### 1. Launch network
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,20 @@
|
|||||||
version: "3.9"
|
version: "3.9"
|
||||||
services:
|
services:
|
||||||
hummingbot:
|
hummingbot:
|
||||||
container_name: "hummingbot"
|
container_name: hummingbot
|
||||||
image: hummingbot/hummingbot:latest
|
image: hummingbot/hummingbot:latest
|
||||||
# image: hummingbot/hummingbot:latest-arm
|
|
||||||
volumes:
|
volumes:
|
||||||
- "./hummingbot_files/conf:/conf"
|
- "./hummingbot_files/conf:/home/hummingbot/conf"
|
||||||
- "./hummingbot_files/conf/connectors:/conf/connectors"
|
- "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors"
|
||||||
- "./hummingbot_files/conf/strategies:/conf/strategies"
|
- "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies"
|
||||||
- "./hummingbot_files/logs:/logs"
|
- "./hummingbot_files/logs:/home/hummingbot/logs"
|
||||||
- "./hummingbot_files/data:/data"
|
- "./hummingbot_files/data:/home/hummingbot/data"
|
||||||
- "./hummingbot_files/scripts:/scripts"
|
- "./hummingbot_files/scripts:/home/hummingbot/scripts"
|
||||||
- "./hummingbot_files/certs:/certs"
|
- "./hummingbot_files/certs:/home/hummingbot/certs"
|
||||||
# environment:
|
# environment:
|
||||||
# - CONFIG_PASSWORD=[password]
|
# - CONFIG_PASSWORD=[password]
|
||||||
# - CONFIG_FILE_NAME=simple_pmm_example.py
|
# - CONFIG_FILE_NAME=simple_pmm_example.py
|
||||||
# - CONFIG_FILE_NAME=conf_pure_mm_1.yml
|
# - CONFIG_FILE_NAME=conf_pure_mm_1.yml
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
|
|||||||
@@ -86,14 +86,14 @@ create_instance () {
|
|||||||
docker run -it --log-opt max-size=10m --log-opt max-file=5 \
|
docker run -it --log-opt max-size=10m --log-opt max-file=5 \
|
||||||
--name $INSTANCE_NAME \
|
--name $INSTANCE_NAME \
|
||||||
--network host \
|
--network host \
|
||||||
-v $CONF_FOLDER:/conf \
|
-v $CONF_FOLDER:/home/hummingbot/conf \
|
||||||
-v $CONF_FOLDER/connectors:/conf/connectors \
|
-v $CONF_FOLDER/connectors:/home/hummingbot/conf/connectors \
|
||||||
-v $CONF_FOLDER/strategies:/conf/strategies \
|
-v $CONF_FOLDER/strategies:/home/hummingbot/conf/strategies \
|
||||||
-v $LOGS_FOLDER:/logs \
|
-v $LOGS_FOLDER:/home/hummingbot/logs \
|
||||||
-v $DATA_FOLDER:/data \
|
-v $DATA_FOLDER:/home/hummingbot/data \
|
||||||
-v $PMM_SCRIPTS_FOLDER:/pmm_scripts \
|
-v $PMM_SCRIPTS_FOLDER:/home/hummingbot/pmm_scripts \
|
||||||
-v $SCRIPTS_FOLDER:/scripts \
|
-v $SCRIPTS_FOLDER:/home/hummingbot/scripts \
|
||||||
-v $CERTS_FOLDER:/certs \
|
-v $CERTS_FOLDER:/home/hummingbot/certs \
|
||||||
hummingbot/hummingbot:$TAG
|
hummingbot/hummingbot:$TAG
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -105,14 +105,14 @@ execute_docker () {
|
|||||||
docker run -itd --log-opt max-size=10m --log-opt max-file=5 \
|
docker run -itd --log-opt max-size=10m --log-opt max-file=5 \
|
||||||
--network host \
|
--network host \
|
||||||
--name ${INSTANCES[$j]} \
|
--name ${INSTANCES[$j]} \
|
||||||
-v ${FOLDERS[$j]}/conf:/conf \
|
-v ${FOLDERS[$j]}/conf:/home/hummingbot/conf \
|
||||||
-v ${FOLDERS[$j]}/conf/connectors:/conf/connectors \
|
-v ${FOLDERS[$j]}/conf/connectors:/home/hummingbot/conf/connectors \
|
||||||
-v ${FOLDERS[$j]}/conf/strategies:/conf/strategies \
|
-v ${FOLDERS[$j]}/conf/strategies:/home/hummingbot/conf/strategies \
|
||||||
-v ${FOLDERS[$j]}/logs:/logs \
|
-v ${FOLDERS[$j]}/logs:/home/hummingbot/logs \
|
||||||
-v ${FOLDERS[$j]}/data:/data \
|
-v ${FOLDERS[$j]}/data:/home/hummingbot/data \
|
||||||
-v ${FOLDERS[$j]}/pmm-scripts:/pmm-scripts \
|
-v ${FOLDERS[$j]}/pmm-scripts:/home/hummingbot/pmm-scripts \
|
||||||
-v ${FOLDERS[$j]}/scripts:/scripts \
|
-v ${FOLDERS[$j]}/scripts:/home/hummingbot/scripts \
|
||||||
-v ${FOLDERS[$j]}/certs:/certs \
|
-v ${FOLDERS[$j]}/certs:/home/hummingbot/certs \
|
||||||
hummingbot/hummingbot:$TAG
|
hummingbot/hummingbot:$TAG
|
||||||
j=$[$j+1]
|
j=$[$j+1]
|
||||||
# Update file ownership
|
# Update file ownership
|
||||||
|
|||||||
@@ -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.
|
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
|
## Getting Started
|
||||||
|
|
||||||
This configuration lets you orchestrate Hummingbot and Gateway instances using an EMQX broker.
|
This configuration lets you orchestrate Hummingbot and Gateway instances using an EMQX broker.
|
||||||
@@ -40,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`)
|
- Give Gateway the passphrase used to generate the certificates (`GATEWAY_PASSPHRASE`)
|
||||||
- Configure the EMQX broker
|
- Configure the EMQX broker
|
||||||
|
|
||||||
First, let's check that you have installed Docker Compose successfully. In Terminal/Bash, Run the following command:
|
Verify that Docker Compose is installed correctly by checking the version:
|
||||||
```
|
|
||||||
docker compose
|
```bash
|
||||||
|
docker compose version
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see a response that start with:
|
The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated.
|
||||||
```
|
|
||||||
Usage: docker compose [OPTIONS] COMMAND
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1. Launch network
|
### 1. Launch network
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
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
|
## Getting Started
|
||||||
|
|
||||||
Installing Hummingbot alongside Gateway lets you access data and execute orders on DEX connectors.
|
Installing Hummingbot alongside Gateway lets you access data and execute orders on DEX connectors.
|
||||||
@@ -36,15 +17,13 @@ To enable this, you will do need a few things first:
|
|||||||
- Generate self-signed certificates in Hummingbot
|
- Generate self-signed certificates in Hummingbot
|
||||||
- Give Gateway the passphrase used to generate the certificates (`GATEWAY_PASSPHRASE`)
|
- 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:
|
Verify that Docker Compose is installed correctly by checking the version:
|
||||||
```
|
|
||||||
docker compose
|
```bash
|
||||||
|
docker compose version
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see a response that start with:
|
The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated.
|
||||||
```
|
|
||||||
Usage: docker compose [OPTIONS] COMMAND
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1. Launch network
|
### 1. Launch network
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,16 @@
|
|||||||
version: "3.9"
|
version: "3.9"
|
||||||
services:
|
services:
|
||||||
hummingbot:
|
hummingbot:
|
||||||
container_name: "hummingbot"
|
container_name: hummingbot
|
||||||
image: hummingbot/hummingbot:latest
|
image: hummingbot/hummingbot:latest
|
||||||
# image: hummingbot/hummingbot:latest-arm
|
|
||||||
volumes:
|
volumes:
|
||||||
- "./hummingbot_files/conf:/conf"
|
- "./hummingbot_files/conf:/home/hummingbot/conf"
|
||||||
- "./hummingbot_files/conf/connectors:/conf/connectors"
|
- "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors"
|
||||||
- "./hummingbot_files/conf/strategies:/conf/strategies"
|
- "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies"
|
||||||
- "./hummingbot_files/logs:/logs"
|
- "./hummingbot_files/logs:/home/hummingbot/logs"
|
||||||
- "./hummingbot_files/data:/data"
|
- "./hummingbot_files/data:/home/hummingbot/data"
|
||||||
- "./hummingbot_files/scripts:/scripts"
|
- "./hummingbot_files/scripts:/home/hummingbot/scripts"
|
||||||
- "./hummingbot_files/certs:/certs"
|
- "./hummingbot_files/certs:/home/hummingbot/certs"
|
||||||
# environment:
|
|
||||||
# - CONFIG_PASSWORD=[password]
|
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
@@ -24,9 +21,8 @@ services:
|
|||||||
network_mode: host
|
network_mode: host
|
||||||
|
|
||||||
gateway:
|
gateway:
|
||||||
container_name: "gateway"
|
container_name: gateway
|
||||||
image: hummingbot/gateway:latest
|
image: hummingbot/gateway:latest
|
||||||
# image: hummingbot/gateway:latest-arm
|
|
||||||
ports:
|
ports:
|
||||||
- "15888:15888"
|
- "15888:15888"
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
|
|||||||
26
hummingbot_with_dashboard/docker-compose.yml
Normal file
26
hummingbot_with_dashboard/docker-compose.yml
Normal file
@@ -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"
|
||||||
@@ -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.
|
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
|
## Getting Started
|
||||||
|
|
||||||
This configuration lets you deploy multiple Hummingbot instances that access data and execute orders on DEX connectors.
|
This configuration lets you deploy multiple Hummingbot instances that access data and execute orders on DEX connectors.
|
||||||
@@ -36,15 +17,14 @@ To enable this, you will do need a few things first:
|
|||||||
- Generate self-signed certificates in Hummingbot
|
- Generate self-signed certificates in Hummingbot
|
||||||
- Give Gateway the passphrase used to generate the certificates (`GATEWAY_PASSPHRASE`)
|
- 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:
|
Verify that Docker Compose is installed correctly by checking the version:
|
||||||
```
|
|
||||||
docker compose
|
```bash
|
||||||
|
docker compose version
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see a response that start with:
|
The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated.
|
||||||
```
|
|
||||||
Usage: docker compose [OPTIONS] COMMAND
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1. Launch network
|
### 1. Launch network
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,16 @@
|
|||||||
version: "3.9"
|
version: "3.9"
|
||||||
services:
|
services:
|
||||||
hummingbot-1:
|
hummingbot-1:
|
||||||
container_name: "hummingbot-1"
|
container_name: hummingbot-1
|
||||||
image: hummingbot/hummingbot:latest
|
image: hummingbot/hummingbot:latest
|
||||||
# image: hummingbot/hummingbot:latest-arm
|
|
||||||
volumes:
|
volumes:
|
||||||
- "./hummingbot_files/conf:/conf"
|
- "./hummingbot_files/conf:/home/hummingbot/conf"
|
||||||
- "./hummingbot_files/conf/connectors:/conf/connectors"
|
- "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors"
|
||||||
- "./hummingbot_files/conf/strategies:/conf/strategies"
|
- "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies"
|
||||||
- "./hummingbot_files/logs:/logs"
|
- "./hummingbot_files/logs:/home/hummingbot/logs"
|
||||||
- "./hummingbot_files/data:/data"
|
- "./hummingbot_files/data:/home/hummingbot/data"
|
||||||
- "./hummingbot_files/scripts:/scripts"
|
- "./hummingbot_files/scripts:/home/hummingbot/scripts"
|
||||||
- "./hummingbot_files/certs:/certs"
|
- "./hummingbot_files/certs:/home/hummingbot/certs"
|
||||||
# environment:
|
|
||||||
# - CONFIG_PASSWORD=[password]
|
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
@@ -24,17 +21,14 @@ services:
|
|||||||
network_mode: host
|
network_mode: host
|
||||||
|
|
||||||
hummingbot-2:
|
hummingbot-2:
|
||||||
container_name: "hummingbot-2"
|
container_name: hummingbot-2
|
||||||
image: hummingbot/hummingbot:latest
|
image: hummingbot/hummingbot:latest
|
||||||
# image: hummingbot/hummingbot:latest-arm
|
|
||||||
volumes:
|
volumes:
|
||||||
- "./hummingbot_files/conf:/conf"
|
- "./hummingbot_files/conf:/home/hummingbot/conf"
|
||||||
- "./hummingbot_files/conf/connectors:/conf/connectors"
|
- "./hummingbot_files/logs:/home/hummingbot/logs"
|
||||||
- "./hummingbot_files/conf/strategies:/conf/strategies"
|
- "./hummingbot_files/data:/home/hummingbot/data"
|
||||||
- "./hummingbot_files/logs:/logs"
|
- "./hummingbot_files/scripts:/home/hummingbot/scripts"
|
||||||
- "./hummingbot_files/data:/data"
|
- "./hummingbot_files/certs:/home/hummingbot/certs"
|
||||||
- "./hummingbot_files/scripts:/scripts"
|
|
||||||
- "./hummingbot_files/certs:/certs"
|
|
||||||
# environment:
|
# environment:
|
||||||
# - CONFIG_PASSWORD=[password]
|
# - CONFIG_PASSWORD=[password]
|
||||||
logging:
|
logging:
|
||||||
@@ -47,9 +41,8 @@ services:
|
|||||||
network_mode: host
|
network_mode: host
|
||||||
|
|
||||||
gateway:
|
gateway:
|
||||||
container_name: "gateway"
|
container_name: gateway
|
||||||
image: hummingbot/gateway:latest
|
image: hummingbot/gateway:latest
|
||||||
# image: hummingbot/gateway:latest-arm
|
|
||||||
ports:
|
ports:
|
||||||
- "15888:15888"
|
- "15888:15888"
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
|
|||||||
@@ -8,31 +8,15 @@ 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.
|
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
|
## Getting Started
|
||||||
|
|
||||||
In Terminal/Bash, run the following command to check that you have installed Docker Compose successfully:
|
Verify that Docker Compose is installed correctly by checking the version:
|
||||||
```
|
|
||||||
docker compose
|
```bash
|
||||||
|
docker compose version
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see a response that start with:
|
The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated.
|
||||||
```
|
|
||||||
Usage: docker compose [OPTIONS] COMMAND
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1. Launch network
|
### 1. Launch network
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
version: "3.9"
|
version: "3.9"
|
||||||
services:
|
services:
|
||||||
hummingbot:
|
hummingbot:
|
||||||
container_name: "hummingbot"
|
container_name: hummingbot
|
||||||
image: hummingbot/hummingbot:latest
|
image: hummingbot/hummingbot:latest
|
||||||
# image: hummingbot/hummingbot:latest-arm
|
|
||||||
volumes:
|
volumes:
|
||||||
- "./hummingbot_files/conf:/conf"
|
- "./hummingbot_files/conf:/home/hummingbot/conf"
|
||||||
- "./hummingbot_files/conf/connectors:/conf/connectors"
|
- "./hummingbot_files/conf/connectors:/home/hummingbot/conf/connectors"
|
||||||
- "./hummingbot_files/conf/strategies:/conf/strategies"
|
- "./hummingbot_files/conf/strategies:/home/hummingbot/conf/strategies"
|
||||||
- "./hummingbot_files/logs:/logs"
|
- "./hummingbot_files/logs:/home/hummingbot/logs"
|
||||||
- "./hummingbot_files/data:/data"
|
- "./hummingbot_files/data:/home/hummingbot/data"
|
||||||
- "./hummingbot_files/scripts:/scripts"
|
- "./hummingbot_files/scripts:/home/hummingbot/scripts"
|
||||||
- "./hummingbot_files/certs:/certs"
|
- "./hummingbot_files/certs:/home/hummingbot/certs"
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
|
|||||||
Reference in New Issue
Block a user