Commit graph

33 commits

Author SHA1 Message Date
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