Самостоятельное размещение: обзор
Mildport работает в вашей собственной инфраструктуре — как самодостаточный стек Docker Compose или в Kubernetes через Helm-чарт. Файлы никогда не покидают ваш VPC, а лицензии проверяются офлайн — движок никогда не «звонит домой».
| Сервис | Роль |
|---|---|
mildport |
Движок импорта + REST API с ключом лицензии (слушает на :8090). |
mongo |
Метаданные, сопоставления, журнал доставки. |
pdf-probe |
Декодирующий sidecar — извлечение таблиц из PDF. |
xlsx-decode |
Декодирующий sidecar — таблицы. |
ocr |
Декодирующий sidecar — сканы и фото. |
minio (опционально) |
S3-совместимое объектное хранилище для больших файлов. |
Если у вас уже Postgres, FerretDB — проверенный экспериментальный вариант — та же строка подключения, не производственная база, под которую мы держим поддержку.
cp apps/import-service/.env.example apps/import-service/.env # keys, Mongo, sidecarsdocker compose --env-file apps/import-service/.env up --build✔ mildport listening on :8090✔ mongo · pdf-probe · xlsx-decode · ocrПроверьте состояние:
curl localhost:8090/health# {"status":"ok","service":"mildport"}Preflight
Заголовок раздела «Preflight»Движок поставляется с проверкой preflight, которая не даёт вам развернуть неправильно — она проверяет ключи, хранилище, доступность sidecar-ов и права до выхода в продакшен. Запускайте её как часть вашего развёртывания:
pnpm import:self-host-checkKubernetes (Helm)
Заголовок раздела «Kubernetes (Helm)»В дистрибутив входит Helm-чарт, который разворачивает движок и декодирующие sidecar-ы в вашем
собственном кластере — MongoDB и S3/MinIO вы подключаете свои. Каждый sidecar отключается
отдельно, режим all-in-one собирает движок и три decode-sidecar в один под (семантический
matching остаётся отдельным подом, его можно выключить), а
helm test выполняет тот же preflight внутри кластера перед выходом в продакшен:
helm install mildport ./deploy/helm/mildport -n mildport --create-namespace \ -f values.prod.yamlhelm test mildport -n mildport # выполняет self-host preflight в кластереВместе с чартом поставляется air-gap-runbook: отзеркальте образы в собственный registry, задайте overrides образов и разместите worker pdf.js у себя — исходящая сеть не требуется.
Дальше: Первый импорт · Устранение неполадок · Лицензирование.