Awesome
hummingbot-deploy
Welcome to the Hummingbot Deploy project. This guide will walk you through the steps to deploy multiple trading bots using a centralized dashboard and a service backend.
Prerequisites
- Docker must be installed on your machine. If you do not have Docker installed, you can download and install it from Docker's official site.
- If you are on Windows, you'll need to setup WSL2 and a Linux terminal like Ubuntu. Make sure to run the commands below in a Linux terminal and not in the Windows command prompt or Powershell.
Installation
- Clone the repository:
git clone https://github.com/hummingbot/deploy.git cd deploy
Running the Application
-
Start and configure the Application
- Run the following command to download and start the app.
-
bash setup.sh
-
Access the dashboard:
- Open your web browser and go to
localhost:8501
. Replacelocalhost
with the IP of your server if using a cloud server.
- Open your web browser and go to
-
API Keys and Credentials:
- Go to the credentials page
- You add credentials to the master account by picking the exchange and adding the API key and secret. This will encrypt the keys and store them in the master account folder.
- If you are managing multiple accounts you can create a new one and start adding new credentials there.
-
Create a config for PMM Simple
- Go to the tab PMM Simple and create a new configuration. Soon will be released a video explaining how the strategy works.
-
Deploy the configuration
- Go to the Deploy tab, select a name for your bot, the image hummingbot/hummingbot:latest and the configuration you just created.
- Press the button to create a new instance.
-
Check the status of the bot
- Go to the Instances tab and check the status of the bot.
- If it's not available is because the bot is starting, wait a few seconds and refresh the page.
- If it's running, you can check the performance of it in the graph, refresh to see the latest data.
- If it's stopped, probably the bot had an error, you can check the logs in the container to understand what happened.
- Go to the Instances tab and check the status of the bot.
-
[Optional] Check the Backend API
- Open your web browser and go to
localhost:8000/docs
.
- Open your web browser and go to
Authentication
Authentication is disabled by default. To enable Dashboard Authentication please follow the steps below:
Set Credentials (Optional):
The dashboard uses admin
and abc
as the default username and password respectively. It's strongly recommended to change these credentials for enhanced security.:
-
Navigate to the
deploy
folder and open thecredentials.yml
file. -
Add or modify the current username / password and save the changes afterward
credentials: usernames: admin: email: admin@gmail.com name: John Doe logged_in: False password: abc cookie: expiry_days: 0 key: some_signature_key # Must be string name: some_cookie_name pre-authorized: emails: - admin@admin.com
Enable Authentication
-
Ensure the dashboard container is not running.
-
Open the
docker-compose.yml
file within thedeploy
folder using a text editor. -
Locate the environment variable
AUTH_SYSTEM_ENABLED
under the dashboard service configuration.services: dashboard: container_name: dashboard image: hummingbot/dashboard:latest ports: - "8501:8501" environment: - AUTH_SYSTEM_ENABLED=True - BACKEND_API_HOST=backend-api - BACKEND_API_PORT=8000
-
Change the value of
AUTH_SYSTEM_ENABLED
fromFalse
toTrue
. -
Save the changes to the
docker-compose.yml
file. -
Relaunch Dashboard by running
bash setup.sh
Known Issues
- Refreshing the browser window may log you out and display the login screen again. This is a known issue that might be addressed in future updates.
Dashboard Functionalities
-
Config Generator:
- Create and select configurations for different v2 strategies.
- Backtest and deploy the selected configurations.
-
Bot Management:
- Visualize bot performance in real-time.
- Stop and archive running bots.
Tutorial
To get started with deploying your first bot, follow these step-by-step instructions:
-
Prepare your bot configurations:
- Select a controller and backtest your controller configs.
-
Deploy a bot:
- Use the dashboard UI to select and deploy your configurations.
-
Monitor and Manage:
- Track bot performance and make adjustments as needed through the dashboard.