Commit graph

44 commits

Author SHA1 Message Date
Nicolò Boschi
68e9617f54
fix: fix docker compose and add instructions (#2654) 2024-07-12 09:27:13 -07:00
Gabriel Luiz Freitas Almeida
c6b4101d69
Update Docker image references to langflowai in GitHub workflows and Docker Compose files (#1793)
* Update Docker image references to langflowai in GitHub workflows and Docker Compose files
2024-04-29 13:38:18 -03:00
Gabriel Luiz Freitas Almeida
1a021321a9
Update Dockerfiles, main.py, constants.py, and package versions (#1691)
* Update Dockerfiles to include user creation and use --user flag for pip install

* Add JavaScriptMIMETypeMiddleware to main.py

* Update constants.py and run.py files

* Update package versions in poetry.lock and pyproject.toml files

* Refactor Dockerfile to optimize image building process

* Fix import error in main.py

* Update Dockerfiles to use logspace/langflow image
2024-04-12 16:39:22 -03:00
Gabriel Luiz Freitas Almeida
e582535bb0
Update package versions, workflows, LLMChain and Graph sorting (#1674)
* Update package versions in pyproject.toml and poetry.lock files

* Update poetry caching action and workflows

* Update poetry caching action and workflows

* Refactor LLMChainComponent build method in LLMChain.py

* Update poetry install command in Makefile

* Refactor Makefile to remove redundant install_backend targets

* Fix codespell issues in project

* Update package versions and dependencies

* Fix import order in chat_io.spec.ts, headerComponent/index.tsx, and chatMessage/index.tsx

* Update ruff command in Makefile and fix poetry cache reuse in Dockerfile

* Refactor ServiceManager class in manager.py to handle default service factories

* Fix typo in DOWNLOAD_WEBHOOK_URL variable assignment

* Refactor cache_service tests in test_cache_manager.py

* Add pytest-profiling

* Update Makefile to run unit tests with parallel execution

* Refactor ServiceManager class in manager.py to handle default service factories

* Refactor node_name condition in Graph class to use "Listen" instead of "GetNotified"

* Refactor file paths in tests/conftest.py for better readability and maintainability

* Sort vertices in each layer by dependency in Graph class

* Refactor variable declaration in SessionService class to use type hinting

* Refactor make tests command in python_test.yml workflow

* Refactor file paths in tests/conftest.py for better readability and maintainability

* Refactor imports in tests/conftest.py to include sqlmodel.Session and related dependencies

* Refactor file paths in tests/conftest.py to include available files in error message

* Refactor file paths in tests/conftest.py to include available files in error message

* Refactor file paths in tests/conftest.py to fix typo in BasicChatwithPromptAndHistory.json
2024-04-11 12:20:56 -03:00
Gabriel Luiz Freitas Almeida
05cd6e4fd7
1.0 Alpha (#1599)
* Update model kwargs and temperature values

* Update keyboard shortcuts for advanced editing

* make Message field have no handles

* Update OpenAI API Key handling in OpenAIEmbeddingsComponent

* Remove unnecessary field_type key from CustomComponent class

* Update required field behavior in CustomComponent class

* Refactor AzureOpenAIModel.py: Removed unnecessary "required" attribute from input parameters

* Update BaiduQianfanChatModel and OpenAIModel configurations

* Fix range_spec step type validation

* Update RangeSpec step_type default value to "float"

* Fix Save debounce

* Update parameterUtils to use debounce instead of throttle

* Update input type options in schemas and graph base classes

* Refactor run_flow_with_caching endpoint to include simplified and experimental versions

* Add PythonFunctionComponent and test case for it

* Add nest_asyncio to fix event loop issue

* Refactor test_initial_setup.py to use RunOutputs instead of ResultData

* Remove unused code in test_endpoints.py

* Add asyncio loop to uvicorn command

* Refactor load_session method to handle coroutine result

* Fixed saving

* Fixed debouncing

* Add InputType and OutputType literals to schema.py

* Update input type in Graph class

* Add new schema for simplified API request

* Add delete_messages function and update test_successful_run assertions

* Add STREAM_INFO_TEXT constant to model components

* Add session_id to simplified_run_flow_with_caching endpoint

* Add field_typing import to OpenAIModel.py

* update starter projects

* Add constants for Langflow base module

* Update setup.py to include latest component versions

* Update Starter Examples

* sets starter_project fixture to Basic Prompting

* Refactor test_endpoints.py: Update test names and add new tests for different output types

* Update HuggingFace Spaces link and add image for dark mode

* Remove filepath reference

* Update Vertex params in base.py

* Add tests for different input types

* Add type annotations and improve test coverage

* Add duplicate space link to README

* Update HuggingFace Spaces badge in README

* Add Python 3.10 installation requirement to README

* Refactor flow running endpoints

* Refactor SimplifiedAPIRequest and add documentation for Tweaks

* Refactor input_request parameter in simplified_run_flow function

* Add support for retrieving specific component output

* Add custom Uvicorn worker for Langflow application

* Add asyncio loop to LangflowApplication initialization

* Update Makefile with new variables and start command

* Fix indentation in Makefile

* Refactor run_graph function to add support for running a JSON flow

* Refactor getChatInputField function and update API code

* Update HuggingFace Spaces documentation with duplication process

* Add asyncio event loop to uvicorn command

* Add installation of backend in start target

* udpate some starter projects

* Fix formatting in hugging-face-spaces.mdx

* Update installation instructions for Langflow

* set examples order

* Update start command in Makefile

* Add installation and usage instructions for Langflow

* Update Langflow installation and usage instructions

* Fix langflow command in README.md

* Fix broken link to HuggingFace Spaces guide

* Add new SVG assets for blog post, chat bot, and cloud docs

* Refactor example rendering in NewFlowModal

* Add new SVG file for short bio section

* Remove unused import and add new component

* Update title in usage.mdx

* Update HuggingFace Spaces heading in usage.mdx

* Update usage instructions in getting-started/usage.mdx

* Update cache option in usage documentation

* Remove 'advanced' flag from 'n_messages' parameter in MemoryComponent.py

* Refactor code to improve performance and readability

* Update project names and flow examples

* fix document qa example

* Remove commented out code in sidebars.js

* Delete unused documentation files

* Fix bug in login functionality

* Remove global variables from components

* Fix bug in login functionality

* fix modal returning to input

* Update max-width of chat message sender name

* Update styling for chat message component

* Refactor OpenAIEmbeddingsComponent signature

* Update usage.mdx file

* Update path in Makefile

* Add new migration and what's new documentation files

* Add new chapters and migration guides

* Update version to 0.0.13 in pyproject.toml

* new locks

* Update dependencies in pyproject.toml

* general fixes

* Update dependencies in pyproject.toml and poetry.lock files

* add padding to modal

*  (undrawCards/index.tsx): update the SVG used for BasicPrompt component to undraw_short_bio_re_fmx0.svg to match the desired design
♻️ (undrawCards/index.tsx): adjust the width and height of the BasicPrompt SVG to 65% to improve the visual appearance

* Commented out components/data in sidebars.js

* Refactor component names in outputs.mdx

* Update embedded chat script URL

* Add data component and fix formatting in outputs component

* Update dependencies in poetry.lock and pyproject.toml

* Update dependencies in poetry.lock and pyproject.toml

* Refactor code to improve performance and readability

* Update dependencies in poetry.lock and pyproject.toml

* Fixed IO Modal updates

* Remove dead code at API Modal

* Fixed overflow at CodeTabsComponent tweaks page

*  (NewFlowModal/index.tsx): update the name of the example from "Blog Writter" to "Blog Writer" for better consistency and clarity

* Update dependencies versions

* Update langflow-base to version 0.0.15 and fix setup_env script

* Update dependencies in pyproject.toml

* Lock dependencies in parallel

* Add logging statement to setup_app function

* Fix Ace not having type="module" and breaking build

* Update authentication settings for access token cookie

* Update package versions in package-lock.json

* Add scripts directory to Dockerfile

* Add setup_env command to build_and_run target

* Remove unnecessary make command in setup_env

* Remove unnecessary installation step in build_and_run

* Add debug configuration for CLI

* 🔧 chore(Makefile): refactor build_langflow target to use a separate script for updating dependencies and building
 feat(update_dependencies.py): add script to update pyproject.toml dependency version based on langflow-base version in src/backend/base/pyproject.toml

* Add number_of_results parameter to AstraDBSearchComponent

* Update HuggingFace Spaces links

* Remove duplicate imports in hugging-face-spaces.mdx

* Add number_of_results parameter to vector search components

* Fixed supabase not commited

* Revert "Fixed supabase not commited"

This reverts commit afb10a6262.

* Update duplicate-space.png image

* Delete unused files and components

* Add/update script to update dependencies

* Add .bak files to .gitignore

* Update version numbers and remove unnecessary dependencies

* Update langflow-base dependency path

* Add Text import to VertexAiModel.py

* Update langflow-base version to 0.0.16 and update dependencies

* Delete start projects and commit session in delete_start_projects function

* Refactor backend startup script to handle autologin option

* Update poetry installation script to include pipx update check

* Update pipx installation script for different operating systems

* Update Makefile to improve setup process

* Add error handling on streaming and fix streaming bug on error

* Added description to Blog Writer

* Sort base classes alphabetically

* Update duplicate-space.png image

* update position on langflow prompt chaining

* Add Langflow CLI and first steps documentation

* Add exception handling for missing 'content' field in search_with_vector_store method

* Remove unused import and update type hinting

* fix bug on egdes after creating group component

* Refactor APIRequest class and update model imports

* Remove unused imports and fix formatting issues

* Refactor reactflowUtils and styleUtils

* Add CLI documentation to getting-started/cli.mdx

* Add CLI usage instructions

* Add ZoomableImage component to first-steps.mdx

* Update CLI and first steps documentation

* Remove duplicate import and add new imports for ThemedImage and useBaseUrl

* Update Langflow CLI documentation link

* Remove first-steps.mdx and update index.mdx and sidebars.js

* Update Docusaurus dependencies

* Add AstraDB RAG Flow guide

* Remove unused imports

* Remove unnecessary import statement

* Refactor guide for better readability

* Add data component documentation

* Update component headings and add prompt template

* Fix logging level and version display

* Add datetime import and buffer for alembic log

* Update flow names in NewFlowModal and documentation

* Add starter projects to sidebars.js

* Fix error handling in DirectoryReader class

* Handle exception when loading components in setup.py

* Update version numbers in pyproject.toml files

* Update build_langflow_base and build_langflow_backup in Makefile

* Added docs

* Update dependencies and build process

* Add Admonition component for API Key documentation

* Update API endpoint in async-api.mdx

* Remove async-api guidelines

* Fix UnicodeDecodeError in DirectoryReader

* Update dependency version and fix encoding issues

* Add conditional build and publish for base and main projects

* Update version to 1.0.0a2 in pyproject.toml

* Remove duplicate imports and unnecessary code in custom-component.mdx

* Fix poetry lock command in Makefile

* Update package versions in pyproject.toml

* Remove unused components and update imports

* 📦 chore(pre-release-base.yml): add pre-release workflow for base project
📦 chore(pre-release-langflow.yml): add pre-release workflow for langflow project

* Add ChatLiteLLMModelComponent to models package

* Add frontend installation and build steps

* Add Dockerfile for building and pushing base image

* Add emoji package and nest-asyncio dependency

* 📝 (components.mdx): update margin style of ZoomableImage to improve spacing
📝 (features.mdx): update margin style of ZoomableImage to improve spacing
📝 (login.mdx): update margin style of ZoomableImage to improve spacing

* Fix module import error in validate.py

* Fix error message in directory_reader.py

* Update version import and handle ImportError

* Add cryptography and langchain-openai dependencies

* Update poetry installation and remove poetry-monorepo-dependency-plugin

* Update workflow and Dockerfile for Langflow base pre-release

* Update display names and descriptions for AstraDB components

* Update installation instructions for Langflow

* Update Astra DB links and remove unnecessary imports

* Rename AstraDB

* Add new components and images

* Update HuggingFace Spaces URLs

* Update Langflow documentation and add new starter projects

* Update flow name to "Basic Prompting (Hello, world!)" in relevant files

* Update Basic Prompting flow name to "Ahoy World!"

* Remove HuggingFace Spaces documentation

* Add new files and update sidebars.js

* Remove async-tasks.mdx and update sidebars.js

* Update starter project URLs

* Enable migration of global variables

* Update OpenAIEmbeddings deployment and model

* 📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment

📝 (rag-with-astradb.mdx): add margin to image styles to improve spacing and readability

* Update welcome message in index.mdx

* Add global variable feature to Langflow documentation

* Reorganized sidebar categories

* Update migration documentation

* Refactor SplitTextComponent class to accept inputs of type Record and Text

* Adjust embeddings docs

*  (cardComponent/index.tsx): add a minimum height to the card component to ensure consistent layout and prevent content from overlapping when the card is empty or has minimal content

* Update flow name from "Ahoy World!" to "Hello, world!"

* Update documentation for embeddings, models, and vector stores

* Update CreateRecordComponent and parameterUtils.ts

* Add documentation for Text and Record types

* Remove commented lines in sidebars.js

* Add run_flow_from_json function to load.py

* Update Langflow package to run flow from JSON file

* Fix type annotations and import errors

* Refactor tests and fix test data

---------

Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: carlosrcoelho <carlosrodrigo.coelho@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Matheus <jacquesmats@gmail.com>
2024-04-04 02:46:44 -03:00
Gabriel Luiz Freitas Almeida
a255afbabe Update Celery command options 2023-11-28 19:38:16 -03:00
Gabriel Luiz Freitas Almeida
96bb758124 Update Celery command to use gevent pool 2023-11-28 15:38:51 -03:00
Gabriel Luiz Freitas Almeida
d0060fb8b4 Fix Redis port mapping 2023-11-28 14:34:25 -03:00
Gabriel Luiz Freitas Almeida
f506fd1625 🔥 chore(deploy): remove unused docker-compose.test.yml file
🔧 chore(deploy): update docker-compose.override.yml to version 3.8

📦 chore(docker-compose.with_tests.yml): add docker-compose file with tests configuration

This commit adds a new docker-compose file named `docker-compose.with_tests.yml` which includes the configuration for running tests. The file includes the following services:

- `proxy`: Configures Traefik as a reverse proxy with Docker integration and enables access logs, the Traefik dashboard, and API.
- `backend`: Sets up the backend service with dependencies on a database, message broker, and result backend. It also includes labels for Traefik routing.
- `db`: Configures a PostgreSQL database with a volume for data persistence.
- `pgadmin`: Sets up pgAdmin for managing the PostgreSQL database.
- `result_backend`: Configures a Redis instance for the result backend.
- `celeryworker`: Sets up a Celery worker for background task processing.
- `flower`: Configures Flower for monitoring and managing Celery workers.
- `frontend`: Sets up the frontend service with labels for Traefik routing.
- `broker`: Configures RabbitMQ with the management console.
- `prometheus`: Sets up Prometheus for monitoring.
- `grafana`: Configures Grafana for visualization and monitoring.
- `tests`: Extends the `backend` service and runs pytest for running tests.

This file allows running the application with the necessary services for testing and monitoring.

🔧 chore(docker-compose.yml): add missing volumes and networks for services
🔧 chore(docker-compose.yml): add traefik-public network with configurable external setting for flexibility in testing

📝 docs(async-tasks.mdx): update docker-compose command to use the correct file name for running tests
2023-09-26 19:58:50 -03:00
Gabriel Luiz Freitas Almeida
099869f0a6 Remove untested setup 2023-09-26 17:18:13 -03:00
Gabriel Luiz Freitas Almeida
4699027ffe 🔀 chore(docker-compose.override.yml): remove unused 'tests' service configuration
🔧 chore(docker-compose.test.yml): add 'tests' service configuration to run pytest
2023-09-25 17:55:29 -03:00
Gabriel Luiz Freitas Almeida
cf5c7b817e 🔧 chore(docker-compose.override.yml): add traefik labels to avoid conflicts with backend service
🔧 chore(docker-compose.override.yml): configure traefik labels for tests service to route traffic and set load balancer port
2023-09-25 17:47:59 -03:00
Gabriel Luiz Freitas Almeida
df81154536 🚀 chore(docker-compose.yml): add dependencies for the service to improve startup order and reliability 2023-09-25 17:08:54 -03:00
Gabriel Luiz Freitas Almeida
3486248faa 🐳 chore(docker-compose.yml): update volume names for consistency and clarity
- Rename volume `./pgadmin` to `pgadmin-data` for better naming convention and clarity.
- Rename volumes for RabbitMQ:
  - `./.docker/rabbitmq/etc/` to `rabbitmq_data` for consistency and clarity.
  - `./.docker/rabbitmq/data/` to `rabbitmq_data` for consistency and clarity.
  - `./.docker/rabbitmq/logs/` to `rabbitmq_log` for consistency and clarity.

No functional changes, only volume name updates.
2023-09-25 16:26:53 -03:00
Gabriel Luiz Freitas Almeida
be85fcc607 🔧 chore(.env.example): add configuration for new user and update OpenAI API key
🔥 refactor(docker-compose.celery.yml): remove unused celery service configuration
2023-09-25 15:55:10 -03:00
Gabriel Luiz Freitas Almeida
f7ab483748 🔧 chore(.env.example): update RabbitMQ configuration and add OpenAI API key and superuser credentials
- Update RabbitMQ configuration by setting the default username and password to "langflow"
- Add OpenAI API key for integration with OpenAI services
- Add superuser credentials for the Langflow application
2023-09-23 23:27:53 -03:00
Gabriel Luiz Freitas Almeida
d6262b0b86 🔧 chore(docker-compose.override.yml): rename 'queue' service to 'result_backend' for better clarity and consistency
🔧 chore(docker-compose.yml): add 'broker' service for RabbitMQ management console
2023-09-23 23:26:25 -03:00
Gabriel Luiz Freitas Almeida
8557a728d6 🐛 fix(docker-compose.override.yml): expose Redis port 6379 for the queue service
 feat(docker-compose.override.yml): add configuration for the celeryworker service to enable Traefik routing and expose port 7860 for API endpoints
🐛 fix(docker-compose.yml): remove parallel test execution flag from the command for the test service
2023-09-22 10:46:18 -03:00
Gabriel Luiz Freitas Almeida
d4f3640e5f 🐛 fix(Dockerfile): copy only necessary file to avoid unnecessary image rebuilding
 feat(Dockerfile): add support for copying app code and tests to the image to ensure they are included in the deployment
2023-09-22 10:46:01 -03:00
Gabriel Luiz Freitas Almeida
298d9cd1c8 🔧 chore(docker-compose.yml): update pytest command to improve verbosity and parallel test execution 2023-09-17 19:36:15 -03:00
Gabriel Luiz Freitas Almeida
e9fd9b097f 🐳 chore(docker-compose.yml): refactor backend service to use YAML anchors and aliases for code reuse
🚀 feat(docker-compose.yml): add tests service to run pytest with coverage and generate reports
2023-09-16 00:05:26 -03:00
Matheus Jacques
4f6aeefd96 🔧 chore(main.tf): add label to a random worker node to ensure data volume is created
🔧 chore(main.tf): deploy the langflow_stack using docker stack
2023-09-12 11:42:58 +02:00
Matheus Jacques
1ca839899a 🔧 chore(main.tf): use variable for AWS region to improve flexibility and reusability
🔧 chore(main.tf): use variables for instance type, manager count, and worker count to improve configurability and scalability
2023-09-12 11:40:33 +02:00
Matheus Jacques
c2520554b2 🐛 fix(docker-compose.yml): remove unnecessary variable check in node placement constraints to fix deployment issue 2023-09-12 11:40:03 +02:00
Gabriel Luiz Freitas Almeida
e557c0d234 🔧 chore(.env.example): add POSTGRES_PORT variable to specify the port for PostgreSQL connection
🔧 chore(startup-backend.sh): modify startup script to start the backend in development or production mode based on the ENVIRONMENT variable
2023-09-11 14:01:48 -03:00
Gabriel Luiz Freitas Almeida
6e52990322 🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for all services
🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the proxy service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the backend service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the pgadmin service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the queue service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the celeryworker service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the flower service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the frontend service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the prometheus service

🔧 chore(docker-compose.yml): add support for loading environment variables from .env file for the grafana service
2023-09-11 12:16:29 -03:00
Gabriel Luiz Freitas Almeida
6546e2f543 🔧 chore(docker-compose.yml): update flower service image to "ogabrielluiz/langflow:latest" for consistency and reliability
🔧 chore(docker-compose.yml): add build configuration to flower service to use base.Dockerfile for building the image
🔧 chore(docker-compose.yml): update command for flower service to use the correct broker URL and set the port to 5555
🔧 chore(docker-compose.yml): remove unnecessary comment at the end of the file
2023-09-11 11:50:12 -03:00
Matheus Jacques
87339b9442 Fix images and remove depends_on 2023-09-07 16:47:08 +02:00
Matheus Jacques
d4ecb9896d 🔧 chore(main.tf): add installation of git and docker-compose to improve deployment process
 feat(main.tf): add cloning of langflow repository and checkout to celery branch for specific project requirements
2023-08-28 23:42:24 +02:00
Matheus Jacques
b3c0f3b853 🔧 chore(main.tf): add Terraform backend configuration for S3 to store state remotely 2023-08-25 18:19:42 +02:00
Matheus Jacques
d13771d8c9 🔧 chore(terraform): update security group rules to allow ingress and egress traffic on port 8080
🔧 chore(terraform): modify user data script for manager instance to fetch instance metadata with token and start a netcat server on port 8080 to provide join token
🔧 chore(terraform): modify user data script for worker instance to fetch manager IP and join the swarm using the join token obtained from the manager on port 8080
2023-08-24 18:48:44 +02:00
Matheus Jacques
3fe30671d9 fix(terraform): update subnet_id in docker-swarm module to use swarm-public-subnet instead of swarm-subnet for improved clarity
feat(terraform): add aws_subnet resource for swarm-public-subnet to create a public subnet for the swarm cluster
feat(terraform): add aws_internet_gateway resource to create an internet gateway for the swarm VPC
feat(terraform): add aws_route_table resource to create a route table for the swarm VPC
feat(terraform): add aws_route_table_association resource to associate the swarm-public-subnet with the public route table
2023-08-24 17:06:23 +02:00
Gabriel Luiz Freitas Almeida
6afaede719 feat(.gitignore): add .gitignore file to ignore Terraform related files and directories 2023-08-21 13:47:11 -03:00
Gabriel Luiz Freitas Almeida
f4760a38a3 🚀 feat(build-push.sh): add script to build and push Docker images
🚀 feat(build.sh): add script to build Docker images
2023-08-21 13:47:02 -03:00
Gabriel Luiz Freitas Almeida
517a48f885 First implementation of terraform setup 2023-08-21 13:45:41 -03:00
Gabriel Luiz Freitas Almeida
fe65b63400 🔧 chore(deploy): update docker-compose version to 3.8 for better compatibility and features
🐳 chore(deploy): update traefik image version to v3.0 for improved functionality and compatibility
🔧 chore(deploy): remove unnecessary port mappings for backend, queue, pgadmin, redis, prometheus, and grafana services
2023-08-21 08:19:12 -03:00
Gabriel Luiz Freitas Almeida
d0911b3fd2 feat(.env.example): add example environment variables for domain, stack name, Traefik network, and Traefik tags to provide a template for configuring the deployment environment 2023-08-20 23:41:21 -03:00
Gabriel Luiz Freitas Almeida
6ffb994e53 📦 chore(docker-compose.override.yml): add docker-compose.override.yml file to configure Traefik proxy and services for local development
This commit adds a new file `docker-compose.override.yml` to the `deploy` directory. The file contains configuration for the Traefik proxy and services used for local development. The configuration includes:

- Enabling Docker in Traefik to read labels from Docker services
- Adding a constraint to only use services with a specific label for this stack
- Disabling the exposure of all Docker services by default
- Enabling the access log and Traefik log
- Enabling the Traefik Dashboard and API in insecure mode for local development

The file also includes configuration for the following services:

- `proxy`: Configured to listen on ports 80 and 8090, with labels for routing and load balancing
- `pgadmin`: Configured to listen on port 5050
- `flower`: Configured to listen on port 5555
- `backend`: Configured with labels for routing and load balancing on paths `/api/v1`, `/docs`, and `/health`
- `frontend`: Configured with labels for routing and load balancing on the root path

The `traefik-public` network is also defined for use by the Traefik proxy.

This file is intended to be used as an override for the main `docker-compose.yml` file during local development.

🐳 chore(docker-compose.yml): add Traefik reverse proxy configuration for services

🔧 fix(docker-compose.yml): fix path to startup-backend.sh script

🚀 feat(docker-compose.yml): add support for deploying backend, celery worker, flower, frontend, prometheus, and grafana services

🔧 fix(docker-compose.yml): fix volume configuration for db service

🔧 fix(docker-compose.yml): fix network configuration for pgadmin service

🔧 fix(docker-compose.yml): fix network configuration for traefik proxy service

🔧 fix(docker-compose.yml): fix network configuration for flower service

🔧 fix(docker-compose.yml): fix network configuration for frontend service

🔧 fix(docker-compose.yml): fix network configuration for prometheus service

🔧 fix(docker-compose.yml): fix network configuration for grafana service
2023-08-20 23:39:19 -03:00
Gabriel Luiz Freitas Almeida
bff329e278 🔧 chore(flower.env): add FLOWER_UNAUTHENTICATED_API=True to allow unauthenticated access to Flower API 2023-08-20 13:26:29 -03:00
Gabriel Luiz Freitas Almeida
2d85ae9dd4 🚀 feat(docker-compose.yml): upgrade docker-compose version to 3.3 for compatibility with newer features and syntax
🔧 chore(docker-compose.yml): update backend.env file path to remove leading './' for consistency

🔧 chore(docker-compose.yml): remove explicit port mapping for backend service to use the default port

🔧 chore(docker-compose.yml): add deploy configuration for celery worker service to ensure only one replica is deployed

🔧 chore(docker-compose.yml): add prometheus and grafana services with necessary configurations and dependencies

📝 docs(prometheus.yml): add prometheus configuration file with scrape targets for prometheus and flower services
2023-08-20 13:26:02 -03:00
Gabriel Luiz Freitas Almeida
a7ff7da778 🐛 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
2023-08-18 08:51:30 -03:00
Gabriel Luiz Freitas Almeida
79b48efddf 🔧 chore(docker-compose.yml): update volume path to correctly mount parent directory for the app
🔧 chore(docker-compose.yml): update Redis image version to 7.2.0 for the queue service
🔧 chore(docker-compose.yml): update command for the flower service to use environment variables for Redis connection details
🔧 chore(flower.env): add LANGFLOW_REDIS_PASSWORD environment variable
2023-08-17 18:09:33 -03:00
Gabriel Luiz Freitas Almeida
be4f949e70 📦 chore(deploy): add .gitignore file to ignore 'pgadmin' directory in the deploy folder 2023-08-16 19:27:26 -03:00
Gabriel Luiz Freitas Almeida
6b0383be50 📦 chore(deploy): add deployment files and configurations for Docker Compose setup 2023-08-16 15:38:43 -03:00