✨ feat(docker-compose.celery.yml): add db service with PostgreSQL image and configure environment variables for database connection ✨ feat(docker-compose.celery.yml): add pgadmin service with pgAdmin4 image and configure environment variables for admin login 🔧 chore(docker-compose.celery.yml): add db service as a dependency for the queue service
103 lines
2.4 KiB
YAML
103 lines
2.4 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
backend:
|
|
build:
|
|
context: ./
|
|
dockerfile: base.Dockerfile
|
|
depends_on:
|
|
- queue
|
|
- db
|
|
environment:
|
|
- LANGFLOW_CACHE_TYPE=redis
|
|
- LANGFLOW_REDIS_HOST=queue
|
|
- LANGFLOW_REDIS_PORT=6379
|
|
- LANGFLOW_REDIS_DB=0
|
|
- LANGFLOW_REDIS_EXPIRE=3600
|
|
- LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@db:5432/langflow
|
|
ports:
|
|
- "7860:7860"
|
|
volumes:
|
|
- ./:/app
|
|
command: bash -c "uvicorn --factory langflow.main:create_app --host 0.0.0.0 --port 7860 --reload --log-level debug"
|
|
|
|
db:
|
|
image: postgres:15.4
|
|
environment:
|
|
- POSTGRES_USER=langflow
|
|
- POSTGRES_PASSWORD=langflow
|
|
- POSTGRES_DB=langflow
|
|
ports:
|
|
- "5432:5432"
|
|
|
|
pgadmin:
|
|
image: dpage/pgadmin4
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: admin@admin.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
ports:
|
|
- "5050:80"
|
|
depends_on:
|
|
- db
|
|
volumes:
|
|
- pgadmin:/var/lib/pgadmin
|
|
|
|
queue:
|
|
image: redis:latest
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
celeryworker:
|
|
depends_on:
|
|
- queue
|
|
environment:
|
|
- LANGFLOW_CACHE_TYPE=redis
|
|
- LANGFLOW_REDIS_HOST=queue
|
|
- LANGFLOW_REDIS_PORT=6379
|
|
- LANGFLOW_REDIS_DB=0
|
|
- LANGFLOW_REDIS_EXPIRE=3600
|
|
- BROKER_URL=redis://queue:6379/0
|
|
- RESULT_BACKEND=redis://queue:6379/0
|
|
- C_FORCE_ROOT=true # ! Only for development
|
|
|
|
build:
|
|
context: ./
|
|
dockerfile: base.Dockerfile
|
|
command: celery -A langflow.worker.celery_app worker --loglevel=DEBUG
|
|
|
|
flower:
|
|
networks:
|
|
- default
|
|
depends_on:
|
|
- queue
|
|
build:
|
|
context: ./
|
|
dockerfile: base.Dockerfile
|
|
environment:
|
|
- LANGFLOW_CACHE_TYPE=redis
|
|
- LANGFLOW_REDIS_HOST=queue
|
|
- LANGFLOW_REDIS_PORT=6379
|
|
- LANGFLOW_REDIS_DB=0
|
|
- LANGFLOW_REDIS_EXPIRE=3600
|
|
command: celery -A langflow.worker.celery_app --broker=redis://queue:6379/0 flower --port=5555
|
|
ports:
|
|
- "5555:5555"
|
|
|
|
frontend:
|
|
build:
|
|
context: ./src/frontend
|
|
dockerfile: ./dev.Dockerfile
|
|
args:
|
|
- BACKEND_URL=http://backend:7860
|
|
|
|
depends_on:
|
|
- backend
|
|
environment:
|
|
- VITE_PROXY_TARGET=http://backend:7860
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- ./src/frontend/public:/home/node/app/public
|
|
- ./src/frontend/src:/home/node/app/src
|
|
- ./src/frontend/package.json:/home/node/app/package.json
|
|
restart: on-failure
|