WebsitePlatform Login

Local Deployment

Simple local DataVault setup with Hugging Face embeddings

Local Setup: Deploy DataVault on your local machine with local files and Hugging Face embedding models.

If your network uses SSL inspection or internal certificates, you may need to mount your company CA bundle and set VAULT_CUSTOM_CA_FILE so downloads (Hugging Face models, rclone) work without disabling certificate checks.

Setup

Create your project directory:

mkdir datavault-local && cd datavault-local
mkdir -p {config,data,documents}

Configuration

Environment File

config/vault.env
VAULT_ID=your-vault-id-from-dashboard
VAULT_SECRET=your-vault-secret-from-dashboard
MEINGPT_URL=https://app.meingpt.com

Main Configuration

config/app_config.yaml
version: 1.0
meingpt_url: $MEINGPT_URL

vault:
  id: $VAULT_ID
  secret: $VAULT_SECRET
  standalone_mode: false
  data_dir: ./tmp
  ingestion_interval: 300
  tasks_batch_size: 3
  chunk_size: 256
  chunk_overlap: 26

weaviate:
  connection_type: local
  host: weaviate
  port: 8001
  grpc_host: weaviate
  grpc_port: 50051
  api_key: ""

embedding_model:
  provider: "huggingface_local"
  model: "sentence-transformers/all-mpnet-base-v2"
  rpm: 1000
  tpm: 100000

logging:
  log_level: "INFO"
  log_to_file: true
  log_file_path: "logs/app.log"
  uvicorn_log_file_path: "logs/uvicorn.log"

data_pools:
  - id: local-documents
    type: local
    base_path: ./documents

Docker Compose

docker-compose.yaml
services:
  vault:
    image: meingpt/vault:latest
    ports:
      - 8080:8080
    depends_on:
      - weaviate
    networks:
      - vault_network
    volumes:
      - ./config/app_config.yaml:/app/src/vault/config/app_config.yaml:ro
      - ./data:/data/vault
      - ./documents:/app/documents:ro
    environment:
      - VAULT_CONFIG_FILE_PATH=/app/src/vault/config/app_config.yaml
    env_file:
      - ./config/vault.env

  piko:
    image: ghcr.io/andydunstall/piko:latest
    command:
      - agent
      - http
      - your-vault-id-from-dashboard
      - vault:8080
      - --connect.url
      - https://piko.deploy.selectcode.dev
    env_file:
      - ./config/vault.env
    networks:
      - vault_network

  weaviate:
    image: cr.weaviate.io/semitechnologies/weaviate:1.28.3
    command:
      - --host
      - 0.0.0.0
      - --port
      - '8001'
      - --scheme
      - http
    expose:
      - 8001
      - 50051
    volumes:
      - weaviate_data:/var/lib/weaviate
    restart: on-failure:3
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
      ENABLE_API_BASED_MODULES: 'true'
      CLUSTER_HOSTNAME: 'node1'
    ports:
      - 8001:8001
      - 50051:50051
    networks:
      - vault_network

volumes:
  weaviate_data:

networks:
  vault_network:

Deploy

  1. Add documents to the documents/ folder
  2. Start services: docker compose up -d
  3. Check health: curl http://localhost:8080/health
  4. Monitor logs: docker compose logs -f vault

Troubleshooting

  • Check service status: docker compose ps
  • View logs: docker compose logs vault
  • Test Weaviate: curl http://localhost:8001/v1/.well-known/ready
  • Restart services: docker compose restart

That's it. Your local DataVault will process documents from the documents/ folder using local Hugging Face embeddings.