aipackage/ansible/roles/chromadb/tasks/main.yml

54 lines
1.2 KiB
YAML

---
# ChromaDB — vector database for RAG pipelines
- name: Install ChromaDB in cezen conda env
become_user: cezen
shell: |
/opt/cezen/miniconda/bin/conda run -n cezen pip install chromadb
retries: 3
delay: 10
- name: Create ChromaDB data directory
file:
path: /opt/cezen/data/chromadb
state: directory
owner: cezen
group: cezen
- name: Create ChromaDB systemd service
copy:
dest: /etc/systemd/system/chromadb.service
content: |
[Unit]
Description=ChromaDB Vector Database
After=network.target
[Service]
Type=simple
User=cezen
Group=cezen
WorkingDirectory=/opt/cezen/data/chromadb
ExecStart=/opt/cezen/miniconda/envs/cezen/bin/chroma run \
--host 0.0.0.0 \
--port 8100 \
--path /opt/cezen/data/chromadb
Restart=always
RestartSec=5
Environment="PATH=/opt/cezen/miniconda/envs/cezen/bin:/usr/local/bin:/usr/bin:/bin"
[Install]
WantedBy=multi-user.target
mode: "0644"
- name: Enable and start ChromaDB
systemd:
name: chromadb
enabled: yes
state: started
daemon_reload: yes
- name: Wait for ChromaDB to be ready
wait_for:
host: localhost
port: 8100
timeout: 30