Stop building full docker image
This commit is contained in:
parent
0a9c31cf74
commit
f728fea489
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
|
# Changelog
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
- Increase reranking candidate retrieval multiplier from 3x to 10x for improved result quality
|
- 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
|
## [0.17.0] - 2025-11-17
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,21 @@
|
||||||
# haiku.rag Docker Image
|
# 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
|
```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
|
## Configuration
|
||||||
|
|
||||||
Create a configuration file `haiku.rag.yaml`:
|
Create a configuration file `haiku.rag.yaml`:
|
||||||
|
|
@ -36,7 +44,7 @@ Mount your config file and data directory:
|
||||||
docker run -p 8001:8001 \
|
docker run -p 8001:8001 \
|
||||||
-v $(pwd)/haiku.rag.yaml:/app/haiku.rag.yaml \
|
-v $(pwd)/haiku.rag.yaml:/app/haiku.rag.yaml \
|
||||||
-v $(pwd)/data:/data \
|
-v $(pwd)/data:/data \
|
||||||
ghcr.io/ggozad/haiku.rag:latest
|
haiku-rag
|
||||||
```
|
```
|
||||||
|
|
||||||
The container will automatically use the mounted `haiku.rag.yaml` configuration file.
|
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)/haiku.rag.yaml:/app/haiku.rag.yaml \
|
||||||
-v $(pwd)/data:/data \
|
-v $(pwd)/data:/data \
|
||||||
-e OPENAI_API_KEY=your-key-here \
|
-e OPENAI_API_KEY=your-key-here \
|
||||||
ghcr.io/ggozad/haiku.rag:latest
|
haiku-rag
|
||||||
```
|
|
||||||
|
|
||||||
## Building Locally
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker build -f docker/Dockerfile -t haiku-rag .
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Docker Compose
|
## Docker Compose
|
||||||
|
|
|
||||||
|
|
@ -95,15 +95,15 @@ agui:
|
||||||
cors_headers: ["*"]
|
cors_headers: ["*"]
|
||||||
|
|
||||||
processing:
|
processing:
|
||||||
chunk_size: 256
|
|
||||||
context_chunk_radius: 0
|
|
||||||
markdown_preprocessor: ""
|
|
||||||
converter: docling-local # docling-local or docling-serve
|
converter: docling-local # docling-local or docling-serve
|
||||||
chunker: docling-local # docling-local or docling-serve
|
chunker: docling-local # docling-local or docling-serve
|
||||||
chunker_type: hybrid # hybrid or hierarchical
|
chunker_type: hybrid # hybrid or hierarchical
|
||||||
|
chunk_size: 256
|
||||||
|
context_chunk_radius: 0
|
||||||
chunking_tokenizer: "Qwen/Qwen3-Embedding-0.6B"
|
chunking_tokenizer: "Qwen/Qwen3-Embedding-0.6B"
|
||||||
chunking_merge_peers: true
|
chunking_merge_peers: true
|
||||||
chunking_use_markdown_tables: false
|
chunking_use_markdown_tables: false
|
||||||
|
markdown_preprocessor: ""
|
||||||
|
|
||||||
providers:
|
providers:
|
||||||
ollama:
|
ollama:
|
||||||
|
|
|
||||||
|
|
@ -77,21 +77,23 @@ See [Remote processing](remote-processing.md) for setup instructions and [Docume
|
||||||
|
|
||||||
Two Docker images are available:
|
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)
|
### 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
|
```bash
|
||||||
docker pull ghcr.io/ggozad/haiku.rag-slim:latest
|
docker pull ghcr.io/ggozad/haiku.rag-slim:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
See `examples/docker/docker-compose.yml` for a complete setup with docling-serve.
|
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