06_qdrant.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ---
  2. # playbooks/06_qdrant.yml
  3. # Deploy Qdrant vector database on ai_server
  4. - name: "Qdrant | Deploy Qdrant vector database"
  5. hosts: ai_server
  6. become: true
  7. gather_facts: false
  8. tags:
  9. - qdrant
  10. vars:
  11. qdrant_data_dir: /mnt/ai_data/qdrant
  12. qdrant_container_name: qdrant
  13. tasks:
  14. - name: "Qdrant | Create data directory"
  15. ansible.builtin.file:
  16. path: "{{ qdrant_data_dir }}"
  17. state: directory
  18. mode: "0755"
  19. owner: root
  20. group: root
  21. tags:
  22. - qdrant-deploy
  23. - name: "Qdrant | Run Qdrant container"
  24. community.docker.docker_container:
  25. name: "{{ qdrant_container_name }}"
  26. image: qdrant/qdrant:latest
  27. state: started
  28. restart_policy: unless-stopped
  29. ports:
  30. - "127.0.0.1:6333:6333"
  31. - "127.0.0.1:6334:6334"
  32. volumes:
  33. - "{{ qdrant_data_dir }}:/qdrant/storage"
  34. tags:
  35. - qdrant-deploy
  36. - name: "Qdrant | Wait for Qdrant to be ready"
  37. ansible.builtin.uri:
  38. url: "http://127.0.0.1:6333/healthz"
  39. method: GET
  40. status_code: 200
  41. timeout: 5
  42. register: qdrant_health
  43. retries: 15
  44. delay: 5
  45. until: qdrant_health.status == 200
  46. tags:
  47. - qdrant-deploy
  48. - name: "Qdrant | Display status"
  49. ansible.builtin.debug:
  50. msg: "Qdrant is running and healthy on ports 6333 (HTTP) and 6334 (gRPC)"
  51. tags:
  52. - qdrant-deploy