An automated, containerized build of DeepTutor bundled with the Docling document parsing engine and persistent model caching.
- Up-to-date with Upstream: Automatically tracks and builds against
ghcr.io/hkuds/deeptutor:latest. - Docling Engine Installed: Includes
deeptutor[parse-docling]for rich PDF, table, and OCR extraction. - Persistent AI Model Storage: Configured to store all Docling, Hugging Face, and PyTorch model weights inside the
/app/data/cachepersistent volume so they survive container reboots and rebuilds. - Smart CI/CD: Daily GitHub Actions check for new upstream releases by SHA256 digest and only triggers a rebuild when upstream pushes updates.
docker run -d \
--name deeptutor-docling \
-p 3782:3782 \
-p 8001:8001 \
-v ./data:/app/data \
<your-dockerhub-username>/deeptutor-docling:latestCreate a docker-compose.yml:
services:
deeptutor:
image: <your-dockerhub-username>/deeptutor-docling:latest
container_name: deeptutor-docling
restart: unless-stopped
ports:
- "3782:3782" # Frontend (Web UI)
- "8001:8001" # Backend (FastAPI)
volumes:
- ./data:/app/dataStart the container:
docker compose up -dAccess the UI at http://localhost:3782 (Backend API at http://localhost:8001).
Models downloaded by Docling and Hugging Face are routed into the mounted /app/data volume:
| Component | Path in Container | Path on Host |
|---|---|---|
| Docling Models & Artifacts | /app/data/cache/docling/models |
./data/cache/docling/models |
| Hugging Face Hub | /app/data/cache/huggingface/hub |
./data/cache/huggingface/hub |
| PyTorch Cache | /app/data/cache/torch |
./data/cache/torch |
To enable automated Docker Hub publishing for your repository:
- Go to repository Settings → Secrets and variables → Actions.
- Add the following secrets:
DOCKERHUB_USERNAME: Your Docker Hub username.DOCKERHUB_TOKEN: Personal Access Token from Docker Hub (Account Settings → Security).