diff --git a/deploy/base.Dockerfile b/deploy/base.Dockerfile index 1be280163..83e875fa6 100644 --- a/deploy/base.Dockerfile +++ b/deploy/base.Dockerfile @@ -63,7 +63,6 @@ RUN --mount=type=cache,target=/root/.cache \ # copy project requirement files here to ensure they will be cached. WORKDIR $PYSETUP_PATH COPY ./poetry.lock ./pyproject.toml ./ -COPY ./src/backend ./src/backend # Copy README.md to the build context COPY ./README.md ./ # 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 $PYSETUP_PATH $PYSETUP_PATH +COPY ./src/backend ./src/backend # quicker install as runtime deps are already installed RUN --mount=type=cache,target=/root/.cache \ poetry install --with=dev --extras deploy diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 0349fba41..fcdbf529b 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -17,6 +17,8 @@ services: - ../:/app - ./startup-backend.sh:/startup-backend.sh # Ensure the paths match command: /startup-backend.sh # Fixed the path + healthcheck: + test: "exit 0" db: image: postgres:15.4 @@ -37,27 +39,35 @@ services: - ./pgadmin:/var/lib/pgadmin queue: - image: redis:7.2.0 + image: redis:6.2.5 ports: - "6379:6379" + healthcheck: + test: "exit 0" celeryworker: # user: your-non-root-user depends_on: - - queue + queue: + condition: service_healthy env_file: - ./celeryworker.env build: context: ../ dockerfile: base.Dockerfile command: celery -A langflow.worker.celery_app worker --loglevel=INFO + healthcheck: + test: "exit 0" flower: # user: your-non-root-user networks: - default depends_on: - - queue + queue: + condition: service_healthy + celeryworker: + condition: service_healthy build: context: ../ dockerfile: base.Dockerfile @@ -75,7 +85,9 @@ services: args: - BACKEND_URL=http://backend:7860 depends_on: - - backend + backend: + condition: service_healthy + env_file: - ./frontend.env ports: diff --git a/deploy/flower.env b/deploy/flower.env index 93e9f6e5d..845de63f5 100644 --- a/deploy/flower.env +++ b/deploy/flower.env @@ -4,3 +4,6 @@ LANGFLOW_REDIS_PORT=6379 LANGFLOW_REDIS_DB=0 LANGFLOW_REDIS_EXPIRE=3600 LANGFLOW_REDIS_PASSWORD= +BROKER_URL=redis://queue:6379/0 +RESULT_BACKEND=redis://queue:6379/0 +C_FORCE_ROOT="true # ! Only for development" \ No newline at end of file diff --git a/deploy/startup-backend.sh b/deploy/startup-backend.sh index cf63444b5..c8a634f65 100755 --- a/deploy/startup-backend.sh +++ b/deploy/startup-backend.sh @@ -3,4 +3,4 @@ export LANGFLOW_DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}" # 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