This commit is contained in:
Alexander Svan
2025-04-01 07:18:08 +02:00
commit b0ce430841
5 changed files with 132 additions and 0 deletions

10
README.md Normal file
View File

@@ -0,0 +1,10 @@
# Vector Database POC
## Getting started
Start a developer console in NixOS with all need dependencies
```bash
nix develop
```

42
docker-compose-nvidia.yml Normal file
View File

@@ -0,0 +1,42 @@
services:
chroma:
image: chromadb/chroma:latest
ports:
- "8000:8000"
volumes:
- ./chroma_db_data:/db
environment:
- POSTGRES_HOST=chroma-db
- POSTGRES_PORT=5432
- POSTGRES_USER=chroma
- POSTGRES_PASSWORD=chroma
- POSTGRES_DB=chroma
depends_on:
- chroma-db
chroma-db:
image: postgres:15-alpine
environment:
POSTGRES_USER: chroma
POSTGRES_PASSWORD: chroma
POSTGRES_DB: chroma
volumes:
- ./chroma_db_data:/var/lib/postgresql/data
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ./ollama_models:/root/.ollama
devices:
- /dev/nvidia0:/dev/nvidia0
environment:
- OLLAMA_HOST=0.0.0.0
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]

33
docker-compose.yml Normal file
View File

@@ -0,0 +1,33 @@
services:
chroma:
image: chromadb/chroma:latest
ports:
- "8000:8000"
volumes:
- ./chroma_db_data:/db
environment:
- POSTGRES_HOST=chroma-db
- POSTGRES_PORT=5432
- POSTGRES_USER=chroma
- POSTGRES_PASSWORD=chroma
- POSTGRES_DB=chroma
depends_on:
- chroma-db
chroma-db:
image: postgres:15-alpine
environment:
POSTGRES_USER: chroma
POSTGRES_PASSWORD: chroma
POSTGRES_DB: chroma
volumes:
- ./chroma_db_data:/var/lib/postgresql/data
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ./ollama_models:/root/.ollama
environment:
- OLLAMA_HOST=0.0.0.0

26
flake.lock generated Normal file
View File

@@ -0,0 +1,26 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1743315132,
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "52faf482a3889b7619003c0daec593a1912fddc1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

21
flake.nix Normal file
View File

@@ -0,0 +1,21 @@
{
description = "A flake for Terraform development";
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: {
devShells.x86_64-linux.default =
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in
pkgs.mkShell {
buildInputs = with pkgs; [
docker-compose
];
};
};
}