Skip to content

Commit

Permalink
Update backend
Browse files Browse the repository at this point in the history
  • Loading branch information
vectornguyen76 committed Nov 8, 2023
1 parent 11667cd commit 5b3464e
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 66 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/development_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,62 @@ jobs:
cache-from: type=gha
cache-to: type=gha,mode=max

build-push-backend:
runs-on: ubuntu-latest
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Cache Python dependencies
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('./backend/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-text-search
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.10

- name: Install Dependencies
run: pip install -r ./backend/requirements.txt

- name: Run isort
run: isort --check-only ./backend/.

- name: Run black
run: black --check ./backend/.

- name: Run flake8
run: flake8 --ignore=E501,W503,F401 ./backend

# - name: Run Pylint
# run: pylint ./backend/*.py

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to Docker Hub
id: docker_hub_auth
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./backend
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/backend:latest
cache-from: type=gha
cache-to: type=gha,mode=max

build-push-frontend:
runs-on: ubuntu-latest
env:
Expand Down
2 changes: 1 addition & 1 deletion backend/src/image_search/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
router = APIRouter()


@router.get("/search", response_model=list[SearchResponse])
@router.post("/search", response_model=list[SearchResponse])
async def search(
file: UploadFile = File(...), jwt_data: JWTData = Depends(parse_jwt_demo)
):
Expand Down
60 changes: 45 additions & 15 deletions docker-compose-prod.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: "3"
services:
# triton-server:
# container_name: triton-server
# triton_server:
# container_name: triton_server
# image: nvcr.io/nvidia/tritonserver:23.09-py3
# ports:
# - 9000:8000
Expand All @@ -18,14 +18,14 @@ services:
# count: 1
# capabilities: [gpu]

qdrant-db:
container_name: qdrant-db
qdrant_db:
container_name: qdrant_db
image: qdrant/qdrant:v1.5.1
ports:
- 6333:6333
- 6334:6334
volumes:
- ./qdrant-db:/qdrant/storage
- qdrant_db_data:/qdrant/storage

image-search-engine:
container_name: image-search-container
Expand All @@ -34,14 +34,14 @@ services:
context: ./image-search-engine
dockerfile: Dockerfile
environment:
- QDRANT_URL=http://qdrant-db:6334
- TRITON_SERVER_URL=triton-server:8001
- QDRANT_URL=http://qdrant_db:6334
- TRITON_SERVER_URL=triton_server:8001
ports:
- 7000:7000
volumes:
- ./image-search-engine/logs:/app/logs
depends_on:
- qdrant-db
- qdrant_db

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
Expand All @@ -64,7 +64,7 @@ services:
timeout: 1s
retries: 10
volumes:
- data-elastic-search:/usr/share/elasticsearch/data
- elastic_search_data:/usr/share/elasticsearch/data

kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
Expand Down Expand Up @@ -94,6 +94,33 @@ services:
elasticsearch:
condition: service_healthy

db_service:
container_name: db_container
image: postgres:14.1
env_file:
- ./backend/.env.local
ports:
- 65432:5432
volumes:
- postgresql_data:/var/lib/postgresql/data/
- postgresql_data_backups:/backups
- ./backend/scripts/postgres:/scripts

backend_service:
container_name: backend_container
image: backend_image
build:
context: ./backend
dockerfile: Dockerfile
env_file:
- ./backend/.env.local
ports:
- 5000:5000
volumes:
- ./backend/logs/api.log:/app/logs/api.log
depends_on:
- db_service

frontend_service:
container_name: frontend_container
image: vectornguyen76/frontend_image
Expand All @@ -109,15 +136,18 @@ services:
ports:
- 80:80
volumes:
- ./nginx-server/default.conf:/etc/nginx/conf.d/default.conf
- ./nginx-server/log:/var/log/nginx/
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./nginx/log:/var/log/nginx/
depends_on:
- frontend_service
- image-search-engine
- text-search-engine
- backend_service

volumes:
data-elastic-search:
elastic_search_data:
driver: local
qdrant_db_data:
driver: local
postgresql_data:
driver: local
qdrant-db:
postgresql_data_backups:
driver: local
47 changes: 45 additions & 2 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ services:
timeout: 1s
retries: 10
volumes:
- data-elastic-search:/usr/share/elasticsearch/data
- elastic_search_data:/usr/share/elasticsearch/data

kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
Expand Down Expand Up @@ -51,6 +51,49 @@ services:
elasticsearch:
condition: service_healthy

image-search-engine:
container_name: image-search-container
image: vectornguyen76/image-search-engine
build:
context: ./image-search-engine
dockerfile: Dockerfile
environment:
- QDRANT_URL=http://qdrant-db:6334
- TRITON_SERVER_URL=triton-server:8001
ports:
- 7000:7000
volumes:
- ./image-search-engine/logs:/app/logs

backend_service:
container_name: backend_container
image: backend_image
build:
context: ./backend
dockerfile: Dockerfile
env_file:
- ./backend/.env.local
ports:
- 5000:5000
volumes:
- ./backend/logs/api.log:/app/logs/api.log

db_service:
container_name: db_container
image: postgres:14.1
env_file:
- ./backend/.env.local
ports:
- 65432:5432
volumes:
- postgresql_data:/var/lib/postgresql/data/
- postgresql_data_backups:/backups
- ./backend/scripts/postgres:/scripts

volumes:
data-elastic-search:
elastic_search_data:
driver: local
postgresql_data:
driver: local
postgresql_data_backups:
driver: local
48 changes: 0 additions & 48 deletions nginx-server/default.conf

This file was deleted.

Empty file removed nginx-server/log/.gitkeep
Empty file.

0 comments on commit 5b3464e

Please sign in to comment.