diff --git a/Makefile b/Makefile index 77fd21289..71c7baa56 100644 --- a/Makefile +++ b/Makefile @@ -385,6 +385,11 @@ docker_compose_down: @echo 'Running docker compose down' docker compose -f $(DOCKER_COMPOSE) down || true +dcdev_up: + @echo 'Running docker compose up' + docker compose -f docker/dev.docker-compose.yml down || true + docker compose -f docker/dev.docker-compose.yml up --remove-orphans + lock_base: cd src/backend/base && poetry lock diff --git a/docker/dev.Dockerfile b/docker/dev.Dockerfile index 3e5a1d95e..fe60259b9 100644 --- a/docker/dev.Dockerfile +++ b/docker/dev.Dockerfile @@ -1,18 +1,22 @@ -FROM python:3.10-slim +FROM python:3.12-bookworm +ENV TZ=UTC WORKDIR /app -# Install Poetry -RUN apt-get update && apt-get install gcc g++ curl build-essential postgresql-server-dev-all -y -RUN curl -sSL https://install.python-poetry.org | python3 - -# # Add Poetry to PATH -ENV PATH="${PATH}:/root/.local/bin" -# # Copy the pyproject.toml and poetry.lock files -COPY poetry.lock pyproject.toml ./ -# Copy the rest of the application codes -COPY ./ ./ +RUN apt update -y +RUN apt install \ + build-essential \ + curl \ + npm \ + -y -# Install dependencies -RUN poetry config virtualenvs.create false && poetry install --no-interaction --no-ansi +COPY . /app -CMD ["uvicorn", "--factory", "langflow.main:create_app", "--host", "0.0.0.0", "--port", "7860", "--reload", "--log-level", "debug", "--loop", "asyncio"] +RUN pip install poetry +RUN poetry config virtualenvs.create false +RUN poetry install --no-interaction --no-ansi + +EXPOSE 7860 +EXPOSE 3000 + +CMD ["./docker/dev.start.sh"] diff --git a/docker/dev.docker-compose.yml b/docker/dev.docker-compose.yml new file mode 100644 index 000000000..31b6505c9 --- /dev/null +++ b/docker/dev.docker-compose.yml @@ -0,0 +1,42 @@ +networks: + dev-langflow: + +services: + langflow: + build: + context: .. + dockerfile: docker/dev.Dockerfile + image: dev-langflow + container_name: dev-langflow + restart: always + ports: + - "7860:7860" + - "3000:3000" + environment: + - PYTHONDONTWRITEBYTECODE=1 + - LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@postgres:5432/langflow + - LANGFLOW_SUPERUSER=langflow + - LANGFLOW_SUPERUSER_PASSWORD=langflow + - LANGFLOW_CONFIG_DIR=/var/lib/langflow + env_file: + - ../.env + volumes: + - ../:/app + depends_on: + - postgres # DependĂȘncia no seu banco de dados existente + networks: + - dev-langflow + + + postgres: + container_name: postgres + image: pgvector/pgvector:pg16 + environment: + POSTGRES_USER: langflow + POSTGRES_PASSWORD: langflow + POSTGRES_DB: langflow + ports: + - "5432:5432" + networks: + - dev-langflow + diff --git a/docker/dev.start.sh b/docker/dev.start.sh new file mode 100755 index 000000000..defa6c513 --- /dev/null +++ b/docker/dev.start.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +cd src/frontend \ + && rm -rf node_modules \ + && npm install \ + && npm run dev:docker & +make backend