# DeepData All-in-One Data Work Platform
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg) ![Backend: Spring Boot 3](https://img.shields.io/badge/backend-Spring%20Boot%203-blue) ![Frontend: React](https://img.shields.io/badge/frontend-React%2018-61DAFB) ![Python: 3.12](https://img.shields.io/badge/python-3.12+-blue) **DeepData is an enterprise-level data processing platform for model fine-tuning and RAG retrieval, supporting core functions such as data collection, data management, operator marketplace, data cleaning, data synthesis, data annotation, data evaluation, and knowledge generation.** [简体中文](./README-zh.md) | [English](./README.md) If you like this project, please give it a Star⭐️!
## 🌟 Core Features - **Core Modules**: Data Collection, Data Management, Operator Marketplace, Data Cleaning, Data Synthesis, Data Annotation, Data Evaluation, Knowledge Generation. - **Visual Orchestration**: Drag-and-drop data processing workflow design. - **Operator Ecosystem**: Rich built-in operators and support for custom operators. ## 🚀 Quick Start ### Prerequisites - Git (for pulling source code) - Make (for building and installing) - Docker (for building images and deploying services) - Docker-Compose (for service deployment - Docker method) - Kubernetes (for service deployment - k8s method) - Helm (for service deployment - k8s method) - **K8s deployment additionally requires**: [Sealed Secrets Controller](https://github.com/bitnami-labs/sealed-secrets) (for encrypted secret management) ### Secret Management (K8s deployment only) DeepData K8s deployment uses **Bitnami Sealed Secrets** to manage sensitive configuration such as database passwords and JWT secrets. All secrets are stored in encrypted form in Git (`deployment/kubernetes/sealed-secrets/`) and automatically decrypted by the Sealed Secrets Controller in the cluster at deploy time. **Online environment - install Sealed Secrets Controller:** ```bash # Install via Helm (recommended) helm repo add sealed-secrets https://bitnami-labs.github.io/sealed-secrets helm install sealed-secrets sealed-secrets/sealed-secrets -n kube-system # Verify installation kubectl get pods -n kube-system | grep sealed-secrets ``` **Air-gapped / offline environment:** 1. Download the Sealed Secrets image on an internet-connected machine: ```bash # Download controller image (~60MB) docker pull bitnami/sealed-secrets-controller:latest docker save bitnami/sealed-secrets-controller:latest -o sealed-secrets-controller.tar # Download kubeseal CLI (for updating secrets) # macOS: brew install kubeseal # Linux: wget https://github.com/bitnami-labs/sealed-secrets/releases/latest/download/kubeseal-linux-amd64 ``` 2. Transfer the image to your offline registry, then install via Helm with the custom image reference. **Updating secrets:** ```bash # When passwords change, re-encrypt with kubeseal echo -n "new-password" | kubeseal --raw --name deepdata-conf --namespace deepdata --scope namespace-wide ``` > Note: Docker deployments do not require Sealed Secrets — secrets are managed via the `.env` file (excluded from Git via `.gitignore`). ### Docker Quick deploy ```shell make build # Build all images from this repository make install # Deploy base services (deepdata + milvus) ``` > Images are built from source in this repository — no external registry is required. ### Clone the Code ```bash git clone https://gitea.apescale.com/figmar/deepdata.git cd deepdata ``` ### Deploy the basic services ```bash make install ``` This project supports deployment via two methods: docker-compose and helm. After executing the command, please enter the corresponding number for the deployment method. The command echo is as follows: ```shell Choose a deployment method: 1. Docker/Docker-Compose 2. Kubernetes/Helm Enter choice: ``` If the machine you are using does not have make installed, please run the following command to deploy it: ```bash docker compose -f deployment/docker/deepdata/docker-compose.yml --profile milvus up -d ``` Once the container is running, access http://localhost:30000 in a browser to view the front-end interface. To list all available Make targets, flags and help text, run: ```bash make help ``` If you are in an offline environment, you can run the following command to download all dependent images: ```bash make download ``` ### Deploy Label Studio as an annotation tool ```bash make install-label-studio ``` ### Build and deploy Mineru Enhanced PDF Processing ```bash make build-mineru make install-mineru ``` ### Deploy the DeepFlow service ```bash make install-deepflow ``` ### Local Development and Deployment After modifying the local code, please execute the following commands to build the image and deploy using the local image. ```bash make build make install dev=true ``` ### Uninstall ```bash make uninstall ``` When running make uninstall, the installer will prompt once whether to delete volumes; that single choice is applied to all components. The uninstall order is: milvus -> label-studio -> deepdata, which ensures the deepdata network is removed cleanly after services that use it have stopped. ## 📚 Documentation ### Core Documentation - **[DEVELOPMENT.md](./DEVELOPMENT.md)** - Local development environment setup and workflow - **[AGENTS.md](./AGENTS.md)** - AI assistant guidelines and code style ### Backend Documentation - **[backend/README.md](./backend/README.md)** - Backend architecture, services, and technology stack - **[backend/api-gateway/README.md](./backend/api-gateway/README.md)** - API Gateway configuration and routing - **[backend/services/main-application/README.md](./backend/services/main-application/README.md)** - Main application modules - **[backend/shared/README.md](./backend/shared/README.md)** - Shared libraries (domain-common, security-common) ### Runtime Documentation - **[runtime/README.md](./runtime/README.md)** - Runtime architecture and components - **[runtime/deepdata-python/README.md](./runtime/deepdata-python/README.md)** - FastAPI backend service - **[runtime/python-executor/README.md](./runtime/python-executor/README.md)** - Ray executor framework - **[runtime/ops/README.md](./runtime/ops/README.md)** - Operator ecosystem - **[runtime/datax/README.md](./runtime/datax/README.md)** - DataX data framework - **[runtime/deepflow/README.md](./runtime/deepflow/README.md)** - DeepFlow LLM service ### Frontend Documentation - **[frontend/README.md](./frontend/README.md)** - React frontend application ## 🤝 Contribution Guidelines Thank you for your interest in this project! We warmly welcome contributions from the community. Whether it's submitting bug reports, suggesting new features, or directly participating in code development, all forms of help make a project better. • 📮 [GitHub Issues](../../issues): Submit bugs or feature suggestions. • 🔧 [GitHub Pull Requests](../../pulls): Contribute code improvements. ## 📄 License DeepData is open source under the [MIT](LICENSE) license. You are free to use, modify, and distribute the code of this project in compliance with the license terms.