Merge branch 'release/0.4.0' into feature/edit-chunk-text
This commit is contained in:
commit
d1054813ad
5 changed files with 132 additions and 0 deletions
|
|
@ -36,3 +36,6 @@
|
|||
|
||||
# Database path (inside container)
|
||||
# DB_PATH=./data/docling_studio.db
|
||||
|
||||
# OpenSearch URL (used by docker-compose.dev.yml, auto-set to service name)
|
||||
# OPENSEARCH_URL=http://opensearch:9200
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
|
|||
### Added
|
||||
|
||||
- Inline chunk text editing: double-click or edit button to modify chunk text, with save/cancel and "modified" badge
|
||||
- Docker Compose dev stack (`docker-compose.dev.yml`) with OpenSearch, Dashboards, hot-reload backend and Vite frontend
|
||||
|
||||
### Fixed
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,35 @@ Thank you for your interest in contributing to Docling Studio! This guide will h
|
|||
|
||||
## Development Setup
|
||||
|
||||
### Docker Dev Stack (recommended)
|
||||
|
||||
The fastest way to get the full stack running (backend + frontend + OpenSearch):
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.dev.yml up
|
||||
```
|
||||
|
||||
This starts:
|
||||
|
||||
| Service | URL | Notes |
|
||||
|---------|-----|-------|
|
||||
| Frontend (Vite) | http://localhost:3000 | HMR enabled |
|
||||
| Backend (FastAPI) | http://localhost:8000 | Auto-reload on file changes |
|
||||
| OpenSearch | http://localhost:9200 | Single-node, security disabled |
|
||||
| OpenSearch Dashboards | http://localhost:5601 | Index inspection UI |
|
||||
|
||||
Source code is bind-mounted — edits on your host are reflected immediately.
|
||||
|
||||
To use remote conversion mode instead of local:
|
||||
|
||||
```bash
|
||||
CONVERSION_MODE=remote docker compose -f docker-compose.dev.yml up
|
||||
```
|
||||
|
||||
### Manual Setup
|
||||
|
||||
If you prefer running services directly on your machine:
|
||||
|
||||
### Backend (Python 3.12+)
|
||||
|
||||
```bash
|
||||
|
|
|
|||
11
README.md
11
README.md
|
|
@ -13,6 +13,17 @@ Upload a PDF, configure the extraction pipeline, and visualize the results — t
|
|||
|
||||

|
||||
|
||||
|
||||
## Star History
|
||||
|
||||
<a href="https://www.star-history.com/?repos=scub-france%2FDocling-Studio&type=timeline&legend=top-left">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=scub-france/Docling-Studio&type=timeline&theme=dark&legend=top-left" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=scub-france/Docling-Studio&type=timeline&legend=top-left" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=scub-france/Docling-Studio&type=timeline&legend=top-left" />
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
## Features
|
||||
|
||||
- **Home page** with quick upload and recent documents
|
||||
|
|
|
|||
88
docker-compose.dev.yml
Normal file
88
docker-compose.dev.yml
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
# =============================================================================
|
||||
# Docling Studio — Development stack
|
||||
#
|
||||
# Usage:
|
||||
# docker compose -f docker-compose.dev.yml up
|
||||
#
|
||||
# Includes OpenSearch single-node + Dashboards for search/sync features.
|
||||
# Frontend runs Vite dev server with HMR, backend runs with --reload.
|
||||
# =============================================================================
|
||||
|
||||
services:
|
||||
# --- OpenSearch (single-node, security disabled for local dev) ---
|
||||
opensearch:
|
||||
image: opensearchproject/opensearch:2
|
||||
environment:
|
||||
discovery.type: single-node
|
||||
DISABLE_SECURITY_PLUGIN: "true"
|
||||
OPENSEARCH_JAVA_OPTS: "-Xms512m -Xmx512m"
|
||||
ports:
|
||||
- "9200:9200"
|
||||
volumes:
|
||||
- opensearch_data:/usr/share/opensearch/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
# --- OpenSearch Dashboards (index inspection UI) ---
|
||||
opensearch-dashboards:
|
||||
image: opensearchproject/opensearch-dashboards:2
|
||||
environment:
|
||||
OPENSEARCH_HOSTS: '["http://opensearch:9200"]'
|
||||
DISABLE_SECURITY_DASHBOARDS_PLUGIN: "true"
|
||||
ports:
|
||||
- "5601:5601"
|
||||
depends_on:
|
||||
opensearch:
|
||||
condition: service_healthy
|
||||
|
||||
# --- Backend (FastAPI with hot-reload) ---
|
||||
document-parser:
|
||||
build:
|
||||
context: ./document-parser
|
||||
target: ${CONVERSION_MODE:-local}
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- ./document-parser:/app
|
||||
- uploads_data:/app/uploads
|
||||
- db_data:/app/data
|
||||
environment:
|
||||
CORS_ORIGINS: ${CORS_ORIGINS:-http://localhost:3000,http://localhost:5173}
|
||||
DOCLING_SERVE_URL: ${DOCLING_SERVE_URL:-}
|
||||
DOCLING_SERVE_API_KEY: ${DOCLING_SERVE_API_KEY:-}
|
||||
RATE_LIMIT_RPM: ${RATE_LIMIT_RPM:-100}
|
||||
MAX_FILE_SIZE_MB: ${MAX_FILE_SIZE_MB:-50}
|
||||
BATCH_PAGE_SIZE: ${BATCH_PAGE_SIZE:-0}
|
||||
OPENSEARCH_URL: http://opensearch:9200
|
||||
command: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
|
||||
depends_on:
|
||||
opensearch:
|
||||
condition: service_healthy
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 4g
|
||||
|
||||
# --- Frontend (Vite dev server with HMR) ---
|
||||
frontend:
|
||||
image: node:20-alpine
|
||||
working_dir: /app
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
- frontend_node_modules:/app/node_modules
|
||||
environment:
|
||||
VITE_APP_VERSION: dev
|
||||
command: ["sh", "-c", "npm install && npm run dev -- --host"]
|
||||
depends_on:
|
||||
- document-parser
|
||||
|
||||
volumes:
|
||||
opensearch_data:
|
||||
uploads_data:
|
||||
db_data:
|
||||
frontend_node_modules:
|
||||
Loading…
Reference in a new issue