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:
commit
927bf59189
5 changed files with 31 additions and 81 deletions
57
.github/workflows/docker-publish.yml
vendored
57
.github/workflows/docker-publish.yml
vendored
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue