diff --git a/autostart_hummingbot_compose/README.md b/autostart_hummingbot_compose/README.md index 70ca14a..bf4f2f0 100644 --- a/autostart_hummingbot_compose/README.md +++ b/autostart_hummingbot_compose/README.md @@ -48,33 +48,31 @@ Auto-starting a script/strategy lets you start a bot from the command line, skip 1. Set the password used to encrypt your keys (`CONFIG_PASSWORD`) 2. Define your script or strategy config file (`CONFIG_FILE_NAME`) -The sample `docker-compose.yml` contains dummy values for these variables. Let's fill them in! +### Set Hummingbot password -### Setting the Hummingbot password - -Start the bot with the following command: +Pull the latest Hummingbot image and start it with the following command: ``` docker-compose up -d ``` -You should see the following output: +After the images have been downloaded, you should see the following output: ``` [+] Running 1/1 ⠿ Container autostart_hummingbot_compose-bot-1 Started ``` -After it has started, attach to the instance: +Attach to the instance: ``` docker attach autostart_hummingbot_compose-bot-1 ``` -If installation was successful, you should see the Hummingbot welcome screen: +You should see the Hummingbot welcome screen: ![welcome screen](../welcome.png) Set your Hummingbot [password](https://docs.hummingbot.org/operation/password/) and write it down. This is the `CONFIG_PASSWORD` environment variable in your `docker-compose.yml` file. -### Defining your script or strategy +### Define script or strategy You can auto-start either a Script or a Strategy. @@ -90,14 +88,14 @@ If you define a `.yml` file as `CONFIG_FILE_NAME`, Hummingbot assumes it's a str See [`conf_pure_mm_1.yml`](./hummingbot_files/conf/strategies/conf_pure_mm_1.yml) for an example. ---- +### Modify the YAML file Now, use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. We'll edit the section that defines the `CONFIG_PASSWORD` and `CONFIG_FILE_NAME` environment variables: ```yaml # environment: - # - CONFIG_PASSWORD=[your-password] + # - CONFIG_PASSWORD=[password] # - CONFIG_FILE_NAME=simple_pmm_example.py # - CONFIG_FILE_NAME=conf_pure_mm_1.yml ``` @@ -110,7 +108,7 @@ Remove the '#' to uncomment out: The final `environment` section of the YAML file should look like this: ```yaml environment: - - CONFIG_PASSWORD=[your-password] + - CONFIG_PASSWORD=[password] - CONFIG_FILE_NAME=simple_pmm_example.py ``` @@ -151,6 +149,13 @@ docker ps -a ``` ### Stop a container + +``` +docker-compose down +``` + +or: + ``` docker stop ``` diff --git a/autostart_hummingbot_compose/docker-compose.yml b/autostart_hummingbot_compose/docker-compose.yml index 248af27..3c07c41 100644 --- a/autostart_hummingbot_compose/docker-compose.yml +++ b/autostart_hummingbot_compose/docker-compose.yml @@ -12,7 +12,7 @@ services: - "./hummingbot_files/scripts:/scripts" - "./hummingbot_files/certs:/certs" # environment: - # - CONFIG_PASSWORD=[your-password] + # - CONFIG_PASSWORD=[password] # - CONFIG_FILE_NAME=simple_pmm_example.py # - CONFIG_FILE_NAME=conf_pure_mm_1.yml logging: diff --git a/hummingbot_gateway_compose/README.md b/hummingbot_gateway_compose/README.md index 4b3bd93..efae9d9 100644 --- a/hummingbot_gateway_compose/README.md +++ b/hummingbot_gateway_compose/README.md @@ -17,9 +17,9 @@ Docker Desktop is available on: 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 tag for both the Hummingbot and Gateway images from `latest` to `latest-arm` to pull the image built for ARM-based machines. +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 line that contains `latest` and uncomment the lines that contains `latest-arm`: +You can also comment out the lines that contains `latest` and uncomment the lines that contains `latest-arm`: ``` # image: hummingbot/hummingbot:latest image: hummingbot/hummingbot:latest-arm @@ -44,51 +44,80 @@ You should see a response that start with: Usage: docker compose [OPTIONS] COMMAND ``` -You will need to have the certificates for the gateway and hummingbot under the folder hummingbot_files/certs. If you don't have it, don't worry, you can generate them with the client by doing the following: +Clone this repo or copy the `docker-compose.yml` file to a directory on your machine where you want to store your Hummingbot files. This is where your encrypted keys, scripts, trades, configs, logs, and other files related to your bots will be saved. -- Make sure you have docker and docker-compose installed. -- Run the following command in the terminal: +To link the Hummingbot and Gateway instances, you first have to generate certificates within Hummingbot and set the `GATEWAY_PASSPHRASE` variable in the YAML file. - ``` - docker-compose up -d - ``` +### Generate certificates -- You will see that the gateway failed to start because you don't have the certificates -- Attach the instance of the bot by running: +Pull the latest Hummingbot and Gateway images and start instances with the following command: +``` +docker-compose up -d +``` - ``` - docker attach hummingbot_gateway_compose-bot-1 - ``` +After the images have been downloaded, you should see the following output: +``` +[+] Running 3/3 + ⠿ Network hummingbot_gateway_compose_default Created + ⠿ Container hummingbot_gateway_compose-bot-1 Started + ⠿ Container hummingbot_gateway_compose-gateway-1 Started +``` -- Create the password -- Run the following command in the client: +Attach to the Hummingbot instance: +``` +docker attach hummingbot_gateway_compose-bot-1 +``` - ``` - gateway generate-certs - ``` +You should see the Hummingbot welcome screen: -- When prompted enter the passphrase that you want. Is important that you change the docker-compose.yml on line 18 to the passphrase that you entered (the current passphrase is `a`). -- Exit the client and run the following command in the terminal: +![welcome screen](../welcome.png) - ``` - docker-compose down - ``` +Set your [password](https://docs.hummingbot.org/operation/password/), which will be used to encrypt any keys you store with Hummingbot. -- You will see that inside the hummingbot_files/certs folder you have the certificates. -- We are ready to deploy the gateway and hummingbot, run the following command in the terminal: +Afterwards, run the following command to generate Gateway certificates: +``` +gateway generate-certs +``` - ``` - docker-compose up -d - ``` +You'll be prompted for a passphrase used to generate the certificates. This is the `GATEWAY_PASSPHRASE` environment variable in your `docker-compose.yml` file. -- If you attach the terminal of the gateway you will see that it is running. +Afterwards, Hummingbot will use the passphrase to generate the certificates and save them in the `hummingbot_files/certs` folder, where the Gateway instance will look for the certificates it needs. - ``` - docker attach hummingbot_gateway_compose-gateway-1 - ``` +Now, run `stop` to exit the client. Once you're back in Bash/Terminal, run the following command to stop the Compose network: -- If you attach the terminal of the bot you will see that it is running and the gateway is ONLINE. +``` +docker-compose down +``` - ``` - docker attach hummingbot_gateway_compose-bot-1 - ``` +### Modify YAML file + +Now, use an IDE like [VSCode](https://code.visualstudio.com/) to edit the `docker-compose.yml` file. + +We'll edit the section that defines the Gateway environment variables: + # environment: + # - GATEWAY_PASSPHRASE=[passphrase] + +Remove the '#' to uncomment out: + * The `environment:` line + * The `GATEWAY_PASSPHRASE` line: add the passphrase you used to generate the certificates + + The final `environment` section of the YAML file should look like this: +```yaml + environment: + - CONFIG_PASSWORD=[password] + - GATEWAY_PASSPHRASE=[passphrase] +``` + +Afterwards, save the file. + +## Recreate container + +Now, restart the container and attach to it. +``` +docker-compose up -d +docker attach hummingbot_gateway_compose-gateway-1 +``` + +You should see `GATEWAY:ONLINE` in the upper-right hand corner of the Hummingbot client. + +See [Gateway](https://docs.hummingbot.org/gateway/) for more details on how to configure it for use with Hummingbot. diff --git a/hummingbot_gateway_compose/docker-compose.yml b/hummingbot_gateway_compose/docker-compose.yml index d42b88d..4ec422d 100644 --- a/hummingbot_gateway_compose/docker-compose.yml +++ b/hummingbot_gateway_compose/docker-compose.yml @@ -30,5 +30,5 @@ services: - "./gateway_files/conf:/usr/src/app/conf" - "./gateway_files/logs:/usr/src/app/logs" - "./hummingbot_files/certs:/usr/src/app/certs" - environment: - - GATEWAY_PASSPHRASE=a + # environment: + # - GATEWAY_PASSPHRASE=[passphrase] diff --git a/simple_hummingbot_compose/README.md b/simple_hummingbot_compose/README.md index 4afa244..18aaf54 100644 --- a/simple_hummingbot_compose/README.md +++ b/simple_hummingbot_compose/README.md @@ -46,18 +46,18 @@ From that directory, run the following command to pull the image and start the i docker-compose up -d ``` -You should see the following output: +After the images have been downloaded, you should see the following output: ``` [+] Running 1/1 ⠿ Container simple_hummingbot_compose-bot-1 Started ``` -After it has started, attach to the instance: +Attach to the instance: ``` docker attach simple_hummingbot_compose-bot-1 ``` -If installation was successful, you should see the Hummingbot welcome screen: +You should see the Hummingbot welcome screen: ![welcome screen](../welcome.png) @@ -97,6 +97,13 @@ docker ps -a ``` ### Stop a container + +``` +docker-compose down +``` + +or: + ``` docker stop ```