Self-host DeepSeek-OCR-WebUI
v4.1Web UI and API to turn images and PDFs into Markdown text
docker compose up -d- Stars
- 447
- RAM
- 16GB+
- Storage
- 50GB+
- Port
- 8001 (Web UI and REST API (docker run maps 8001:8001; PORT env var default))
neosun/deepseek-ocrWhat is DeepSeek-OCR-WebUI?
DeepSeek-OCR-WebUI wraps the DeepSeek-OCR-2 vision model in a browser-based document recognition app with a REST API. Uploaded images and PDFs can be processed in seven modes: document-to-Markdown, general OCR, plain text, chart and formula parsing, image description, find-and-locate with bounding-box annotation, and a custom prompt mode. The Vue 3 interface adds a page sidebar with thumbnails and reordering, a real-time processing queue, health monitoring, and a four-language UI (English, Simplified and Traditional Chinese, Japanese). The FastAPI backend exposes /ocr, /ocr-pdf, /pdf-to-images and /health endpoints, and a bundled Model Context Protocol server lets AI assistants call the OCR service. To self-host, run the all-in-one Docker image (GPU recommended; the model is pre-downloaded inside the image) or install natively on Linux or Apple Silicon Macs with conda/pip and start.sh. CPU-only Docker is supported but described as very slow; the docs list a minimum of a 16GB+ VRAM NVIDIA GPU, 16GB RAM, 50GB disk and CUDA 11.8+.
Should you self-host DeepSeek-OCR-WebUI?
DeepSeek-OCR-WebUI scores 47/100 on selfhost.directory (how scoring works) and ranks #3 of 4 in OCR. It has 447 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.
Its closest alternative on selfhost.directory is PaddleOCR (85/100, 91 855 stars). It scores higher overall, so compare the two before you pick. See DeepSeek-OCR-WebUI vs PaddleOCR side by side.
Features
- Apple Silicon support
- Batch Processing
- Bounding box visualization
- GPU Acceleration
- Health Monitoring
- MCP Server
- Multilingual UI
- PDF upload and conversion
- Rate Limiting
- Real-time processing queue
- REST API
- Result export
- Seven recognition modes
DeepSeek-OCR-WebUI README
FAQ
Are there API call limits?
The API guide states there is no rate limit by default and suggests client-side throttling, connection pooling and server load monitoring.
How do I process multilingual documents?
No extra configuration is needed: the DeepSeek-OCR model detects and recognizes languages natively.
Which image formats are supported?
PNG, JPG/JPEG and PDF (auto-converted to images), plus other formats supported by PIL.
How do I deploy it in production?
Run it via Docker Compose with an NVIDIA device reservation, port mapping, restart policy and a curl-based /health healthcheck.
What if memory usage is too high?
Limit concurrency, use streaming, close file handles promptly, and cap the Docker container memory (for example --memory=8g).
How should I handle large batches of files?
Process files in parallel with a bounded worker pool, for example ThreadPoolExecutor with about 3 workers.
What to do if PDF processing is slow?
Use the GPU version (the docs cite 3-5x speedup), reduce page count or split the file, and raise the request timeout to 600 seconds.
How can I improve recognition accuracy?
Pick the mode matching the content: doc for documents to Markdown, chart for tables, find for keyword locating, and image for picture descriptions.
More in Computer Vision
doods2Self-hosted REST API for object detection in images and video streams with TensorFlow, PyTorch, GPU and EdgeTPU support.
double-takeDouble Take is a self-hosted, open-source web app that unifies facial recognition across multiple detectors and NVRs like Frigate.
LLM VisionSelf-hosted Home Assistant integration using multimodal LLMs to analyze camera feeds, images, videos, and Frigate events with intelligent notifications and event timeline
locate-anythingSelf-hosted web UI for NVIDIA LocateAnything-3B: find objects, text, and UI elements in images via plain-language prompts on your GPU.
RembgOpen-source, self-hosted background remover: a Python library, CLI and HTTP server that cuts subjects out of images using switchable ONNX models.
VisionStateSelf-hosted Home Assistant addon that teaches local AI to recognize states, detect objects, and read meters from camera feeds — all on your CPU.



0 comments