--- # ChromaDB — vector database for RAG pipelines - name: Create isolated ChromaDB virtual environment command: /usr/bin/python3 -m venv /opt/cezen/chromadb-venv args: creates: /opt/cezen/chromadb-venv/bin/python - name: Install pinned ChromaDB in its isolated environment pip: name: chromadb==0.5.23 virtualenv: /opt/cezen/chromadb-venv 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/chromadb-venv/bin/chroma run \ --host 0.0.0.0 \ --port 8100 \ --path /opt/cezen/data/chromadb Restart=always RestartSec=5 Environment="PATH=/opt/cezen/chromadb-venv/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: 60 ignore_errors: true