Merge pull request #142 from ggozad/chore/build-docker-slim-only

Main `haiku.rag` docker image no longer automatically built and published
This commit is contained in:
Yiorgis Gozadinos 2025-11-18 14:48:58 +02:00 committed by GitHub
commit 927bf59189
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 31 additions and 81 deletions

View file

@ -1,57 +0,0 @@
name: Build & publish Docker image
on:
workflow_run:
workflows: ["Build & publish haiku.rag to pypi"]
types:
- completed
workflow_dispatch:
jobs:
docker:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
permissions:
contents: read
packages: write
steps:
- name: Free disk space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract version from pyproject.toml
id: version
run: |
VERSION=$(grep -oP '^version = "\K[^"]+' haiku_rag_slim/pyproject.toml)
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
file: docker/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository }}:${{ steps.version.outputs.version }}
ghcr.io/${{ github.repository }}:latest
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -1,7 +1,10 @@
# Changelog
## [Unreleased]
### Changed
- Increase reranking candidate retrieval multiplier from 3x to 10x for improved result quality
- **Docker Images**: Main `haiku.rag` image no longer automatically built and published
## [0.17.0] - 2025-11-17

View file

@ -1,13 +1,21 @@
# haiku.rag Docker Image
Pre-built images are available at `ghcr.io/ggozad/haiku.rag` with all extras (voyageai, mxbai).
The full haiku.rag Docker image includes all features and extras (docling, voyageai, mxbai). You can build it locally using the provided Dockerfile.
## Using Pre-built Image
## Building the Image
Build the full image with all features:
```bash
docker pull ghcr.io/ggozad/haiku.rag:latest
docker build -f docker/Dockerfile -t haiku-rag .
```
This creates an image with:
- All document processing capabilities (Docling)
- VoyageAI embeddings
- MixedBread AI reranking
- Full feature set
## Configuration
Create a configuration file `haiku.rag.yaml`:
@ -36,7 +44,7 @@ Mount your config file and data directory:
docker run -p 8001:8001 \
-v $(pwd)/haiku.rag.yaml:/app/haiku.rag.yaml \
-v $(pwd)/data:/data \
ghcr.io/ggozad/haiku.rag:latest
haiku-rag
```
The container will automatically use the mounted `haiku.rag.yaml` configuration file.
@ -48,13 +56,7 @@ docker run -p 8001:8001 \
-v $(pwd)/haiku.rag.yaml:/app/haiku.rag.yaml \
-v $(pwd)/data:/data \
-e OPENAI_API_KEY=your-key-here \
ghcr.io/ggozad/haiku.rag:latest
```
## Building Locally
```bash
docker build -f docker/Dockerfile -t haiku-rag .
haiku-rag
```
## Docker Compose

View file

@ -95,15 +95,15 @@ agui:
cors_headers: ["*"]
processing:
chunk_size: 256
context_chunk_radius: 0
markdown_preprocessor: ""
converter: docling-local # docling-local or docling-serve
chunker: docling-local # docling-local or docling-serve
chunker_type: hybrid # hybrid or hierarchical
chunk_size: 256
context_chunk_radius: 0
chunking_tokenizer: "Qwen/Qwen3-Embedding-0.6B"
chunking_merge_peers: true
chunking_use_markdown_tables: false
markdown_preprocessor: ""
providers:
ollama:

View file

@ -77,21 +77,23 @@ See [Remote processing](remote-processing.md) for setup instructions and [Docume
Two Docker images are available:
### Full Image (Self-contained)
Includes all features and document processing built-in:
```bash
docker pull ghcr.io/ggozad/haiku.rag:latest
docker run -p 8001:8001 -v $(pwd)/data:/data ghcr.io/ggozad/haiku.rag:latest
```
### Slim Image (Minimal)
Minimal dependencies - use with external docling-serve for document processing:
Pre-built slim image with minimal dependencies - use with external docling-serve for document processing:
```bash
docker pull ghcr.io/ggozad/haiku.rag-slim:latest
```
See `examples/docker/docker-compose.yml` for a complete setup with docling-serve.
### Full Image (Self-contained)
Build locally to include all features and document processing without docling-serve:
```bash
docker build -f docker/Dockerfile -t haiku-rag .
docker run -p 8001:8001 -v $(pwd)/data:/data haiku-rag
```
See `docker/README.md` for complete build and configuration instructions.