Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
7afb646
(feat) improve fs utils
cardosofede May 25, 2025
b52b91c
(feat) add error handling for mqtt and middleware
cardosofede May 25, 2025
4a4e32d
(feat) add logic to listen to bots and gracefully shutdown them
cardosofede May 25, 2025
f425547
(feat) change description names
cardosofede May 25, 2025
f9ba0f0
(feat) reorder api routers
cardosofede May 25, 2025
d783716
(feat) add logfire environment variable
cardosofede May 28, 2025
175a659
(feat) configure logfire with env and service name
cardosofede May 28, 2025
5e776d6
(feat) add to setup.sh
cardosofede May 28, 2025
779ecae
(feat) add logfire dependencies
cardosofede May 28, 2025
5e304bc
(feat) fix errors getting prices
cardosofede May 28, 2025
5444bbc
(feat) abstract connectors in accounts service
cardosofede May 29, 2025
2a752c3
(feat) rename service for convention
cardosofede May 29, 2025
6edb979
(feat) remove hbotrc in favor of direct usage of paho and asyncio mqtt
cardosofede May 29, 2025
1f96486
(feat) move to new mqtt manager
cardosofede Jun 6, 2025
734ec89
(feat) add RLUSD for xrpl
cardosofede Jun 6, 2025
8bc308d
(feat) move to utils
cardosofede Jun 6, 2025
ee650c6
(feat) add mqtt manager to replace commonlib
cardosofede Jun 6, 2025
881f204
(feat) adapt import
cardosofede Jun 6, 2025
b866365
(feat) adapt import
cardosofede Jun 6, 2025
0a7102c
(feat) refactor to use new mqtt manager
cardosofede Jun 6, 2025
39bb34c
(feat) setup logging
cardosofede Jun 6, 2025
a3ea332
(feat) refactor routers into bot orchestration
cardosofede Jun 8, 2025
681842b
(feat) improve creation of docker containers
cardosofede Jun 8, 2025
3d150bc
(feat) add test module
cardosofede Jun 8, 2025
d621b9e
(feat) register new route
cardosofede Jun 8, 2025
183d82c
(feat) add model for deploying v2 directly
cardosofede Jun 8, 2025
81e803a
(feat) add dependencies for injection
cardosofede Jun 9, 2025
76e8fd7
(feat) initialize db module
cardosofede Jun 10, 2025
726c33d
(feat) add postgres db
cardosofede Jun 10, 2025
bcf482d
(feat) add required dependencies
cardosofede Jun 10, 2025
7a6ee6b
(feat) add db to config
cardosofede Jun 10, 2025
57d3003
(feat) exclude files in dockerignore
cardosofede Jun 10, 2025
93c7905
(feat) rename routers
cardosofede Jun 10, 2025
e5a06b4
(feat) adapt routers name
cardosofede Jun 10, 2025
58c24d2
(feat) move models to module
cardosofede Jun 10, 2025
4fab450
(feat) add models by domain
cardosofede Jun 10, 2025
bd75cd6
(feat) add description to models
cardosofede Jun 10, 2025
f68e666
(feat) remove legacy file
cardosofede Jun 10, 2025
b4a8fa4
(feat) refactor and simplify routes
cardosofede Jun 10, 2025
3410a82
(feat) persist account state in db
cardosofede Jun 10, 2025
7730f64
(feat) import proper router names
cardosofede Jun 10, 2025
83fc1e7
(feat) add connection and db models
cardosofede Jun 10, 2025
8a9a834
(feat) add account repository
cardosofede Jun 10, 2025
6a8f234
(feat) update v2 with controllers to new version
cardosofede Jun 11, 2025
6fc2055
(feat) sync controllers
cardosofede Jun 11, 2025
52beebd
(feat) refactor market data endpoints to user mdp
cardosofede Jun 11, 2025
a1b44a0
(feat) default bt to 2025
cardosofede Jun 11, 2025
c8344ab
(feat) refactor conf module to use pydantic settings
cardosofede Jun 11, 2025
d9e1d0d
(feat) add pydantic settings dependency
cardosofede Jun 11, 2025
60ae43a
(feat) re-launch setup.sh
cardosofede Jun 11, 2025
3ff1f8d
(feat) update readme
cardosofede Jun 11, 2025
f46311f
(feat) use settings everywhere
cardosofede Jun 11, 2025
fcdf50f
(feat) add market data feed
cardosofede Jun 11, 2025
08c4584
(feat) improve setup.sh script
cardosofede Jun 11, 2025
a18aebc
(feat) remove default password verification
cardosofede Jun 11, 2025
4532508
(feat) move banned tokens to app
cardosofede Jun 11, 2025
737828e
(feat) generate password verification as a first step
cardosofede Jun 11, 2025
a1f9df8
(feat) add yml extension if not present
cardosofede Jun 12, 2025
b86bf55
(feat) add quotes
cardosofede Jun 12, 2025
2f7f5b7
(feat) add default quote for kraken
cardosofede Jun 12, 2025
c072820
(feat) add documentation to endpoints
cardosofede Jun 12, 2025
4ae18a1
(feat) add usd as default kraken
cardosofede Jun 12, 2025
f1b252a
(feat) normalize credentials route
cardosofede Jun 12, 2025
7de4f96
(feat) normalize credentials name
cardosofede Jun 12, 2025
f56cc9e
(feat) adapt readme
cardosofede Jun 12, 2025
1a9476c
(feat)
cardosofede Jun 12, 2025
d7ac801
(feat) fix dockerfile
cardosofede Jun 12, 2025
8ca034d
(feat) improve files module
cardosofede Jun 12, 2025
e8c5734
(feat) improve file system utils
cardosofede Jun 12, 2025
c40a2af
(feat) std controllers routes
cardosofede Jun 12, 2025
e9a452e
(feat) remove basic controllers
cardosofede Jun 12, 2025
907e18e
(feat) remove basic controllers
cardosofede Jun 12, 2025
e8f78a5
(feat) improve scripts routes
cardosofede Jun 12, 2025
389f1cf
(feat) add config for account state interval
cardosofede Jun 12, 2025
b783c36
(feat) add orders and trades models
cardosofede Jun 13, 2025
4016bed
(feat) add to connections the new models
cardosofede Jun 13, 2025
790ff14
(feat) simplify account routes and add trade functionality
cardosofede Jun 13, 2025
a9749b9
(feat) bump accounts service to use native connector loops and order …
cardosofede Jun 13, 2025
cb4d3ff
(feat) add orders recorder subscriber to update orders
cardosofede Jun 13, 2025
6e169c1
(feat) normalize methods
cardosofede Jun 13, 2025
e71c336
(feat) add trade request models
cardosofede Jun 13, 2025
06044e2
(feat) add market data feed as dependency
cardosofede Jun 13, 2025
d8304bf
(feat) use renamed methods in main lifespan
cardosofede Jun 13, 2025
2d274a4
(feat) add position action to support perps
cardosofede Jun 13, 2025
8df2db0
(feat) add position action to place trade
cardosofede Jun 13, 2025
9cdf4f8
(feat) add trading rules
cardosofede Jun 13, 2025
3c7777b
(feat) update services
cardosofede Jun 13, 2025
dfa5fd5
(feat) clean up accounts service
cardosofede Jun 14, 2025
2840ec1
(feat) move to repository model for orders and trades
cardosofede Jun 14, 2025
d152016
(feat) add position action to trade request
cardosofede Jun 14, 2025
d27b98b
(feat) separate accounts management from trading
cardosofede Jun 14, 2025
2c4f966
(feat) use orders repository
cardosofede Jun 14, 2025
bad8601
(feat) include trading router
cardosofede Jun 14, 2025
72ae889
(feat) add patch to save yml
cardosofede Jun 18, 2025
1dc8c46
(feat) apply patches
cardosofede Jun 18, 2025
658a25c
(feat) improve mqtt message handling
cardosofede Jun 18, 2025
5c16e71
(feat) add set position mode
cardosofede Jun 18, 2025
94645f3
(feat) improve orders recorder
cardosofede Jun 18, 2025
7599116
(feat) add set position mode route
cardosofede Jun 18, 2025
b8e1af8
(feat) add functionality to get the current position mod
cardosofede Jun 18, 2025
a2f007c
(feat) improve position mode and orders access
cardosofede Jun 18, 2025
c9748c9
(feat) unify ways to initialize connectors
cardosofede Jun 18, 2025
9e19a90
(feat) move trading rules to market data
cardosofede Jun 19, 2025
f3d358c
(feat) unify connectors initialization
cardosofede Jun 19, 2025
f128159
(feat) get connector status
cardosofede Jun 19, 2025
e849522
(feat) move leverage to accounts
cardosofede Jun 19, 2025
743d9dd
(feat) add method to run the stop in the background
cardosofede Jun 19, 2025
230ebff
(feat) remove set leverage from trading
cardosofede Jun 19, 2025
fc0cc34
(feat) remove data folder
cardosofede Jun 20, 2025
2f35f94
(feat) update v2 script version
cardosofede Jun 20, 2025
bd9cf89
(feat) refactor bots models
cardosofede Jun 20, 2025
37b7041
(feat) remove deplyment
cardosofede Jun 20, 2025
555a5dc
(feat) add files for controllers and scripts
cardosofede Jun 20, 2025
5a7035d
(feat) add accounts and trading
cardosofede Jun 20, 2025
7e0e882
(feat) add extra models
cardosofede Jun 20, 2025
f6720f8
(feat) remove patches and let it fail
cardosofede Jun 20, 2025
e7022e5
(feat) final version of accounts router
cardosofede Jun 20, 2025
7a53e71
(feat) refactor backtesting and
cardosofede Jun 20, 2025
9df6989
(feat) final version of scripts and controllers
cardosofede Jun 20, 2025
dd86a7b
(feat) add background image pulling
cardosofede Jun 20, 2025
abcd505
(feat) use models
cardosofede Jun 20, 2025
c7fdd0f
(feat) final trading features
cardosofede Jun 20, 2025
9252060
(feat) simplify file system interactinos
cardosofede Jun 20, 2025
f6fd426
(feat) remove patches
cardosofede Jun 20, 2025
86f0eba
(feat) improve fs_util
cardosofede Jun 20, 2025
10f92fe
(feat) add funding recorder
cardosofede Jun 21, 2025
e36dbe6
(feat) fix orders recorder when null
cardosofede Jun 21, 2025
5b5e6ec
(feat) save positions snapshot
cardosofede Jun 21, 2025
8c01a43
(feat) add funding rates recorder
cardosofede Jun 21, 2025
f4b8168
(feat) add routes to get funding and positions
cardosofede Jun 21, 2025
cc64428
(feat) fix order repository null values
cardosofede Jun 21, 2025
26f4eff
(feat) add funding and position repositories
cardosofede Jun 21, 2025
a9dd6ba
(feat) add default to fee paid
cardosofede Jun 21, 2025
9981bbc
(feat) update models
cardosofede Jun 23, 2025
9183e5e
(feat) migrate endpoitns to archived bots
cardosofede Jun 23, 2025
cbb4318
(feat) simplify order type, side and position with enum str
cardosofede Jun 23, 2025
563b007
(feat) replace etl_databases for hummingbot database reader
cardosofede Jun 23, 2025
4bd431f
(feat) update routers
cardosofede Jun 23, 2025
bee74c9
(feat) add pull func to docker service
cardosofede Jun 23, 2025
5fb8ca6
(feat) update docker routers to use service to pull images
cardosofede Jun 23, 2025
c96b315
(feat) add clean up of threading task
cardosofede Jun 23, 2025
a985f8e
(feat) move rewards calculation to trade performance
cardosofede Jun 23, 2025
c87134b
(feat) adapt archived bots to new performance calculation
cardosofede Jun 23, 2025
bf738ac
(feat) update positions during initialization
cardosofede Jun 24, 2025
d5f2cd2
(feat) add other conflictive token
cardosofede Jun 26, 2025
f29a0da
(feat) adapt conf client to new hummingbot version
cardosofede Jun 27, 2025
20dcd5d
(feat) release version 1
cardosofede Jun 27, 2025
45c2d61
(feat) update readme
cardosofede Jun 27, 2025
26f7502
(feat) remove contributing
cardosofede Jun 27, 2025
cd613bc
(feat) add url
cardosofede Jun 27, 2025
1e9d179
(feat) improve init of positions and symbol map
cardosofede Jun 27, 2025
ebb30ad
(feat) simplify account routes
cardosofede Jun 27, 2025
1d85b70
(feat) update backend api docker compose
cardosofede Jun 30, 2025
a7a9489
(feat) remove imports
cardosofede Jun 30, 2025
c89af07
(feat) simplify positions info
cardosofede Jun 30, 2025
62ec930
(feat) add logfire
cardosofede Jun 30, 2025
22ab68c
(feat) remove positions repository
cardosofede Jun 30, 2025
d56ecfa
(feat) reorganize routers in connectors
cardosofede Jun 30, 2025
0d86e78
(feat) remove positions repository
cardosofede Jun 30, 2025
394e1e5
(feat) move funding payments and positions to trading
cardosofede Jun 30, 2025
ee61ae7
(feat) add portfolio router
cardosofede Jun 30, 2025
9d72ed4
(feat) separate porftolio from accounts
cardosofede Jun 30, 2025
6bcb813
(feat) rename endpoint for deployign scripts
cardosofede Jun 30, 2025
685c1d2
(feat) add deploy of db and broker in dev mode
cardosofede Jun 30, 2025
1be4139
(feat) separate models for new routers
cardosofede Jun 30, 2025
6bd3f8d
(feat) reorder trading router
cardosofede Jun 30, 2025
f1472d9
(feat) fix archived bots nans
cardosofede Jun 30, 2025
898b4f7
(feat) improve filtering and paginatino
cardosofede Jun 30, 2025
fe4f2f2
(feat) add funding info and order book request
cardosofede Jul 1, 2025
981acaf
(feat) add endpoints to request marekt data
cardosofede Jul 1, 2025
6fd8a08
(feat) add error handling for spot funding info request
cardosofede Jul 1, 2025
ca19b95
(feat) update readme
cardosofede Jul 1, 2025
7bb0737
(feat) improve env loading
cardosofede Jul 1, 2025
5a7b96d
(feat) move load dotenv earlier
cardosofede Jul 1, 2025
4d2dfc8
(feat) fix connector initializations
cardosofede Jul 1, 2025
abf6c40
(feat) improve loggign by module
cardosofede Jul 1, 2025
0d9ce4e
(feat) update v2 with controllers
cardosofede Jul 1, 2025
935d375
(feat) update on stop
cardosofede Jul 1, 2025
3c7bc8d
(feat) improve active containers info
cardosofede Jul 1, 2025
aba3891
(feat) simplify bot orchestration containers naming
cardosofede Jul 1, 2025
b6ee5d2
(feat) remove blue in code
cardosofede Jul 2, 2025
a16fa1b
(feat) remove error that adds extra folder
cardosofede Jul 2, 2025
adbb5e1
(feat) update to latest v2 with controllers version
cardosofede Jul 2, 2025
0612904
(feat) update to drawdown naming
cardosofede Jul 2, 2025
b174410
(feat) re-raise error
cardosofede Jul 2, 2025
39c0a38
(feat) improve docker routes
cardosofede Jul 2, 2025
bc0d7e8
(feat) improve trading and portfolio search endpoints
cardosofede Jul 2, 2025
b939f6c
(feat) add support for controllers and positions in archived bots
cardosofede Jul 2, 2025
983eab1
(feat) add controllers endpoint
cardosofede Jul 2, 2025
c503075
(feat) update compose files
cardosofede Jul 3, 2025
c89a8d8
(feat) update wf
cardosofede Jul 3, 2025
ac39e44
(feat) update connection to hummingbot api
cardosofede Jul 3, 2025
8d181de
(feat) update connection to hummingbot api
cardosofede Jul 3, 2025
e596d5f
(feat) final env updates
cardosofede Jul 3, 2025
c2fbca6
(feat) move defaults to hummingbot api
cardosofede Jul 3, 2025
378ab1f
(feat) rename config adapter
cardosofede Jul 3, 2025
8be20c5
(feat) fix history endpoint
cardosofede Jul 3, 2025
eff2cf9
(feat) acommodate dump account state to use same timestamp for dumping
cardosofede Jul 3, 2025
25d7509
(feat) improve grouping by minute to avoid seconds delay report
cardosofede Jul 3, 2025
3ace002
(feat) improve filter to discard other hummingbot realted images that…
cardosofede Jul 4, 2025
82d14b5
(feat) imrpove bot state when start stopping
cardosofede Jul 4, 2025
873a029
(feat) remove bot from mqtt management too
cardosofede Jul 4, 2025
7150037
(feat) add db management for bot runs
cardosofede Jul 5, 2025
09ede3b
(feat) reduce time for mqtt discovered bots
cardosofede Jul 5, 2025
14f9f51
(feat) formatting
cardosofede Jul 5, 2025
874164f
(feat) add as dependency the db
cardosofede Jul 5, 2025
fa8cda4
(feat) remove start tiem
cardosofede Jul 5, 2025
0338a72
(feat) add missing repository
cardosofede Jul 5, 2025
6b3fb0d
(feat) add headless support for deployment
cardosofede Jul 7, 2025
93f3a68
(feat) add headless env variable for deploy
cardosofede Jul 7, 2025
8054b19
(feat) fix message duplication
cardosofede Jul 7, 2025
603ab71
(feat) remove stopping bot from all bots
cardosofede Jul 7, 2025
e9f4ede
(feat) add stopped at
cardosofede Jul 7, 2025
5ae1267
(feat) dump final status in db
cardosofede Jul 7, 2025
db5fa6c
(feat) avoid returning bots that are in stopping process (has to be i…
cardosofede Jul 7, 2025
218e6f9
(feat) fix password verification path
cardosofede Jul 8, 2025
066cb9a
(feat) remove BOTS_PATH override
cardosofede Jul 8, 2025
835eb96
(feat) add get available candles connectors
cardosofede Jul 9, 2025
1373564
(feat) add rate oracle
cardosofede Jul 9, 2025
96c4df4
(feat) reorder logging
cardosofede Jul 9, 2025
b14371d
(feat) patch save to yaml function tmp --> waiting from complete deco…
cardosofede Jul 9, 2025
2a249ba
(feat) remove started at
cardosofede Jul 9, 2025
8e3fc36
(feat) force position update when requested
cardosofede Jul 9, 2025
5c35eaf
(feat) increase ob depth
cardosofede Jul 9, 2025
4585931
(feat) fix portfolio distribution filter
cardosofede Jul 9, 2025
49fc09f
(feat) fix for not a real order id
cardosofede Jul 9, 2025
f0800b8
(feat) revamp markets,symbols --> connector_name,trading_pair
cardosofede Jul 10, 2025
b9c72cd
(feat) improve order book query and last price query in accounts
cardosofede Jul 10, 2025
4704916
(feat) add local candles config before refactro
cardosofede Jul 10, 2025
9acc818
(feat) adapt config to endpoint
cardosofede Jul 10, 2025
6cf2a1e
(feat) improve trading oruter
cardosofede Jul 10, 2025
6c0052b
(feat) add clock and loader of previous transactions
cardosofede Jul 10, 2025
3d04c01
(feat) formatting
cardosofede Jul 10, 2025
0c8cc4e
(feat) add patch to start network
cardosofede Jul 10, 2025
f0d4dc1
(feat) improve performance router
cardosofede Jul 10, 2025
58cfe20
(feat) fix position in quote
cardosofede Jul 10, 2025
a4f8440
(feat) move clock to accounts service
cardosofede Jul 11, 2025
7b02071
(feat) adapt cock and add state update after adding credentials
cardosofede Jul 11, 2025
0bbf6e4
(feat) reorder market data init
cardosofede Jul 11, 2025
a577e53
(feat) remove patch
cardosofede Jul 11, 2025
e34a058
(feat) improve connectors state management
cardosofede Jul 11, 2025
8978cda
(feat) update accounts with price before sending
cardosofede Jul 11, 2025
5c2431a
(feat) manage potential failures
cardosofede Jul 11, 2025
e5b3b25
(feat) add management of failure by position mode
cardosofede Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 62 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1 +1,62 @@
.env
# Python cache
__pycache__/
*.py[cod]
*$py.class
*.so
.Python

# Virtual environments
venv/
ENV/
env/
.venv

# IDEs
.idea/
.vscode/
*.swp
*.swo
*~

# OS files
.DS_Store
Thumbs.db

# Git
.git/
.gitignore

# Documentation
*.md
docs/

# Tests
test/
tests/
pytest_cache/
.coverage
.pytest_cache/

# Development files
.env
.env.local
*.log

# Build artifacts
build/
dist/
*.egg-info/

# Docker files (don't copy themselves)
Dockerfile*
docker-compose*.yml
.dockerignore

# Bot data that should be mounted as volumes
bots/instances/*
bots/data/*
bots/credentials/*
!bots/credentials/master_account/

# Archives
bots/archived/
8 changes: 4 additions & 4 deletions .github/workflows/docker_buildx_workflow.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Backend-API Docker Buildx Workflow
name: Hummingbot-API Docker Buildx Workflow

on:
pull_request:
Expand Down Expand Up @@ -36,7 +36,7 @@ jobs:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: hummingbot/backend-api:development
tags: hummingbot/hummingbot-api:development

- name: Build and push Latest Image
if: github.base_ref == 'main'
Expand All @@ -46,7 +46,7 @@ jobs:
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: hummingbot/backend-api:latest
tags: hummingbot/hummingbot-api:latest

build_release:
if: github.event_name == 'release'
Expand Down Expand Up @@ -77,4 +77,4 @@ jobs:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: hummingbot/backend-api:${{ steps.get_tag.outputs.VERSION }}
tags: hummingbot/hummingbot-api:${{ steps.get_tag.outputs.VERSION }}
62 changes: 48 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,56 @@
# Start from a base image with Miniconda installed
FROM continuumio/miniconda3
# Stage 1: Builder stage
FROM continuumio/miniconda3 AS builder

# Install system dependencies
# Install build dependencies
RUN apt-get update && \
apt-get install -y sudo libusb-1.0 python3-dev gcc && \
apt-get install -y python3-dev gcc && \
rm -rf /var/lib/apt/lists/*

# Set the working directory in the container
WORKDIR /backend-api
# Set working directory
WORKDIR /build

# Copy only the environment file first (for better layer caching)
COPY environment.yml .

# Create the conda environment
RUN conda env create -f environment.yml && \
conda clean -afy && \
rm -rf /root/.cache/pip/*

# Stage 2: Runtime stage
FROM continuumio/miniconda3

# Install only runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libusb-1.0-0 \
&& rm -rf /var/lib/apt/lists/*

# Copy the conda environment from builder
COPY --from=builder /opt/conda/envs/hummingbot-api /opt/conda/envs/hummingbot-api

# Set the working directory
WORKDIR /hummingbot-api

# Copy only necessary application files
COPY main.py config.py deps.py ./
COPY models ./models
COPY routers ./routers
COPY services ./services
COPY utils ./utils
COPY database ./database
COPY bots/controllers ./bots/controllers
COPY bots/scripts ./bots/scripts

# Copy the current directory contents and the Conda environment file into the container
COPY . .
# Create necessary directories
RUN mkdir -p bots/instances bots/conf bots/credentials bots/data bots/archived

# Create the environment from the environment.yml file
RUN conda env create -f environment.yml
# Expose port
EXPOSE 8000

# Make RUN commands use the new environment
SHELL ["conda", "run", "-n", "backend-api", "/bin/bash", "-c"]
# Set environment variables to ensure conda env is used
ENV PATH="/opt/conda/envs/hummingbot-api/bin:$PATH"
ENV CONDA_DEFAULT_ENV=hummingbot-api

# The code to run when container is started
ENTRYPOINT ["conda", "run", "--no-capture-output", "-n", "backend-api", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
# Run the application
ENTRYPOINT ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
18 changes: 9 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
.PHONY: uninstall
.PHONY: install
.PHONY: install-pre-commit
.PHONY: docker_build
.PHONY: docker_run
.PHONY: build
.PHONY: deploy


detect_conda_bin := $(shell bash -c 'if [ "${CONDA_EXE} " == " " ]; then \
Expand All @@ -26,25 +26,25 @@ run:
uvicorn main:app --reload

uninstall:
conda env remove -n backend-api -y
conda env remove -n hummingbot-api -y

install:
if conda env list | grep -q '^backend-api '; then \
if conda env list | grep -q '^hummingbot-api '; then \
echo "Environment already exists."; \
else \
conda env create -f environment.yml; \
fi
conda activate backend-api
conda activate hummingbot-api
$(MAKE) install-pre-commit

install-pre-commit:
/bin/bash -c 'source "${CONDA_BIN}/activate" backend-api && \
/bin/bash -c 'source "${CONDA_BIN}/activate" hummingbot-api && \
if ! conda list pre-commit | grep pre-commit &> /dev/null; then \
pip install pre-commit; \
fi && pre-commit install'

docker_build:
docker build -t hummingbot/backend-api:latest .
build:
docker build -t hummingbot/hummingbot-api:latest .

docker_run:
deploy:
docker compose up -d
Loading