(feat) add project env

This commit is contained in:
cardosofede
2024-06-24 22:30:55 +02:00
parent d8933de858
commit fe8051e7fe
2 changed files with 211 additions and 5 deletions

147
.gitignore vendored
View File

@@ -6,6 +6,120 @@ __pycache__/
# C extensions # C extensions
*.so *.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env .env
.venv .venv
env/ env/
@@ -14,10 +128,33 @@ ENV/
env.bak/ env.bak/
venv.bak/ venv.bak/
*.log # Spyder project settings
*.pem .spyderproject
.spyproject
**/gateway_files/* # Rope project settings
**/hummingbot_files/* .ropeproject
**/.DS_Store # mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

69
README.md Normal file
View File

@@ -0,0 +1,69 @@
# 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](https://www.docker.com/products/docker-desktop).
## Installation
1. **Clone the repository:**
```bash
git clone https://github.com/cardosofede/hummingbot-deploy.git
cd hummingbot-deploy
```
## Running the Application
1. **Start and configure the Application**
- Run the following command to download and start the app.
- ```bash
bash setup.sh
```
2. **Access the dashboard:**
- Open your web browser and go to `localhost:8501`.
3. **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.
4. **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.
5. **Deploy the configuration**
- Go to the Deploy tab, select a name for your bot, the image dardonacci/hummingbot:latest and the configuration you just created.
- Press the button to create a new instance.
6. **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.
7. **[Optional] Check the Backend API**
- Open your web browser and go to `localhost:8000/docs`.
## Dashboard Functionalities
- **D-Man v2 Configurations:**
- Create and select configurations for the Daemon v2 strategy.
- 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:
1. **Prepare your bot configurations:**
- Ensure you have the correct YAML configuration files in your `master_account` folder.
2. **Deploy a bot:**
- Use the dashboard UI to select and deploy your configurations.
3. **Monitor and Manage:**
- Track bot performance and make adjustments as needed through the dashboard.