services: qdrant: image: qdrant/qdrant # Specifies the Qdrant image to use container_name: qdrant # Sets the container name to qdrant ports: - "6333:6333" # Maps port 6333 on the host to port 6333 in the container volumes: - qdrant_data:/qdrant/storage # Mounts the qdrant_data volume to /qdrant/storage in the container winy: build: context: ./app # Specifies the build context as the ./app directory dockerfile: Dockerfile # Uses the Dockerfile in the build context environment: - QDRANT_CLIENT=http://qdrant:6333 - OLLAMA=http://ollama:11434 container_name: winy # Sets the container name to winy ports: - "8501:8501" # Maps port 8501 on the host to port 8501 in the container depends_on: - qdrant # Ensures the qdrant service is started before winy - ollama # Ensures the ollama service is started before winy ollama: image: ollama/ollama # Specifies the Ollama image to use container_name: ollama # Sets the container name to ollama ports: - "11434:11434" # Maps port 11434 on the host to port 11434 in the container deploy: resources: reservations: devices: - driver: nvidia # Specifies the driver to use for GPU count: 1 # Reserves 1 GPU capabilities: [gpu] # Specifies that the device capability is GPU volumes: qdrant_data: # Defines the qdrant_data volume