version: '3' services: api_server: build: context: ../backend dockerfile: Dockerfile depends_on: - relational_db - vector_db restart: always ports: - "8080:8080" env_file: - .env environment: - POSTGRES_HOST=relational_db - QDRANT_HOST=vector_db volumes: - local_dynamic_storage:/home/storage background: build: context: ../backend dockerfile: Dockerfile.background depends_on: - relational_db - vector_db restart: always env_file: - .env environment: - POSTGRES_HOST=relational_db - QDRANT_HOST=vector_db volumes: - local_dynamic_storage:/home/storage web_server: build: context: ../web dockerfile: Dockerfile depends_on: - api_server restart: always env_file: - .env environment: - INTERNAL_AUTH_URL=http://api_server:8080 ports: - "3000:3000" relational_db: image: postgres:15.2-alpine restart: always # POSTGRES_USER and POSTGRES_PASSWORD should be set in .env file env_file: - .env ports: - "5432:5432" volumes: - db_volume:/var/lib/postgresql/data vector_db: image: qdrant/qdrant:v1.1.3 restart: always volumes: - qdrant_volume:/qdrant/storage volumes: local_dynamic_storage: db_volume: qdrant_volume: