🐛 fix(base.Dockerfile): remove unnecessary copy of ./src/backend directory to improve build performance
✨ feat(base.Dockerfile): add healthcheck for queue and celeryworker services to ensure their availability ✨ feat(docker-compose.yml): add healthcheck for queue, celeryworker, and flower services to ensure their availability 🐛 fix(docker-compose.yml): fix the path in the command for backend service startup 🐛 fix(flower.env): add missing double quote at the end of C_FORCE_ROOT value 🐛 fix(startup-backend.sh): remove unnecessary --reload flag from uvicorn command and add --workers -1 flag to utilize all available CPU cores
This commit is contained in:
parent
79b48efddf
commit
a7ff7da778
4 changed files with 21 additions and 6 deletions
|
|
@ -63,7 +63,6 @@ RUN --mount=type=cache,target=/root/.cache \
|
||||||
# copy project requirement files here to ensure they will be cached.
|
# copy project requirement files here to ensure they will be cached.
|
||||||
WORKDIR $PYSETUP_PATH
|
WORKDIR $PYSETUP_PATH
|
||||||
COPY ./poetry.lock ./pyproject.toml ./
|
COPY ./poetry.lock ./pyproject.toml ./
|
||||||
COPY ./src/backend ./src/backend
|
|
||||||
# Copy README.md to the build context
|
# Copy README.md to the build context
|
||||||
COPY ./README.md ./
|
COPY ./README.md ./
|
||||||
# install runtime deps - uses $POETRY_VIRTUALENVS_IN_PROJECT internally
|
# install runtime deps - uses $POETRY_VIRTUALENVS_IN_PROJECT internally
|
||||||
|
|
@ -82,6 +81,7 @@ WORKDIR $PYSETUP_PATH
|
||||||
COPY --from=builder-base $POETRY_HOME $POETRY_HOME
|
COPY --from=builder-base $POETRY_HOME $POETRY_HOME
|
||||||
COPY --from=builder-base $PYSETUP_PATH $PYSETUP_PATH
|
COPY --from=builder-base $PYSETUP_PATH $PYSETUP_PATH
|
||||||
|
|
||||||
|
COPY ./src/backend ./src/backend
|
||||||
# quicker install as runtime deps are already installed
|
# quicker install as runtime deps are already installed
|
||||||
RUN --mount=type=cache,target=/root/.cache \
|
RUN --mount=type=cache,target=/root/.cache \
|
||||||
poetry install --with=dev --extras deploy
|
poetry install --with=dev --extras deploy
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ services:
|
||||||
- ../:/app
|
- ../:/app
|
||||||
- ./startup-backend.sh:/startup-backend.sh # Ensure the paths match
|
- ./startup-backend.sh:/startup-backend.sh # Ensure the paths match
|
||||||
command: /startup-backend.sh # Fixed the path
|
command: /startup-backend.sh # Fixed the path
|
||||||
|
healthcheck:
|
||||||
|
test: "exit 0"
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres:15.4
|
image: postgres:15.4
|
||||||
|
|
@ -37,27 +39,35 @@ services:
|
||||||
- ./pgadmin:/var/lib/pgadmin
|
- ./pgadmin:/var/lib/pgadmin
|
||||||
|
|
||||||
queue:
|
queue:
|
||||||
image: redis:7.2.0
|
image: redis:6.2.5
|
||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- "6379:6379"
|
||||||
|
healthcheck:
|
||||||
|
test: "exit 0"
|
||||||
|
|
||||||
celeryworker:
|
celeryworker:
|
||||||
# user: your-non-root-user
|
# user: your-non-root-user
|
||||||
depends_on:
|
depends_on:
|
||||||
- queue
|
queue:
|
||||||
|
condition: service_healthy
|
||||||
env_file:
|
env_file:
|
||||||
- ./celeryworker.env
|
- ./celeryworker.env
|
||||||
build:
|
build:
|
||||||
context: ../
|
context: ../
|
||||||
dockerfile: base.Dockerfile
|
dockerfile: base.Dockerfile
|
||||||
command: celery -A langflow.worker.celery_app worker --loglevel=INFO
|
command: celery -A langflow.worker.celery_app worker --loglevel=INFO
|
||||||
|
healthcheck:
|
||||||
|
test: "exit 0"
|
||||||
|
|
||||||
flower:
|
flower:
|
||||||
# user: your-non-root-user
|
# user: your-non-root-user
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
depends_on:
|
depends_on:
|
||||||
- queue
|
queue:
|
||||||
|
condition: service_healthy
|
||||||
|
celeryworker:
|
||||||
|
condition: service_healthy
|
||||||
build:
|
build:
|
||||||
context: ../
|
context: ../
|
||||||
dockerfile: base.Dockerfile
|
dockerfile: base.Dockerfile
|
||||||
|
|
@ -75,7 +85,9 @@ services:
|
||||||
args:
|
args:
|
||||||
- BACKEND_URL=http://backend:7860
|
- BACKEND_URL=http://backend:7860
|
||||||
depends_on:
|
depends_on:
|
||||||
- backend
|
backend:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
env_file:
|
env_file:
|
||||||
- ./frontend.env
|
- ./frontend.env
|
||||||
ports:
|
ports:
|
||||||
|
|
|
||||||
|
|
@ -4,3 +4,6 @@ LANGFLOW_REDIS_PORT=6379
|
||||||
LANGFLOW_REDIS_DB=0
|
LANGFLOW_REDIS_DB=0
|
||||||
LANGFLOW_REDIS_EXPIRE=3600
|
LANGFLOW_REDIS_EXPIRE=3600
|
||||||
LANGFLOW_REDIS_PASSWORD=
|
LANGFLOW_REDIS_PASSWORD=
|
||||||
|
BROKER_URL=redis://queue:6379/0
|
||||||
|
RESULT_BACKEND=redis://queue:6379/0
|
||||||
|
C_FORCE_ROOT="true # ! Only for development"
|
||||||
|
|
@ -3,4 +3,4 @@
|
||||||
export LANGFLOW_DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}"
|
export LANGFLOW_DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}"
|
||||||
|
|
||||||
# Your command to start the backend
|
# Your command to start the backend
|
||||||
exec uvicorn --factory langflow.main:create_app --host 0.0.0.0 --port 7860 --reload --log-level ${LOG_LEVEL:-info}
|
exec python -m uvicorn --factory langflow.main:create_app --host 0.0.0.0 --port 7860 --log-level ${LOG_LEVEL:-info} --workers -1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue