Descripción general del autoalojamiento
Mildport se ejecuta en tu propia infraestructura — como una pila Docker Compose autónoma o en Kubernetes mediante el chart de Helm. Los archivos nunca salen de tu VPC, y las licencias se verifican sin conexión — el motor nunca llama a casa.
La pila
Sección titulada «La pila»| Servicio | Rol |
|---|---|
mildport |
El motor de importación + la API REST con clave de licencia (escucha en :8090). |
mongo |
Metadatos, mapeos, registro de entrega. |
pdf-probe |
Sidecar de decodificación — extracción de tablas PDF. |
xlsx-decode |
Sidecar de decodificación — hojas de cálculo. |
ocr |
Sidecar de decodificación — escaneos y fotos. |
minio (opcional) |
Almacenamiento de objetos compatible con S3 para archivos grandes. |
Si tu entorno ya corre Postgres, FerretDB es una opción experimental verificada — la misma cadena de conexión, no una base de producción para la que mantengamos soporte.
Levántalo
Sección titulada «Levántalo»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 · ocrComprueba la salud:
curl localhost:8090/health# {"status":"ok","service":"mildport"}Preflight
Sección titulada «Preflight»El motor incluye una comprobación preflight que se niega a dejarte desplegar mal — valida claves, almacenamiento, accesibilidad de los sidecars y derechos antes de salir a producción. Ejecútala como parte de tu despliegue:
pnpm import:self-host-checkKubernetes (Helm)
Sección titulada «Kubernetes (Helm)»La distribución incluye un chart de Helm que despliega el motor y los sidecars de
decodificación en tu propio clúster — MongoDB y S3/MinIO los aportas tú. Cada sidecar se puede
desactivar individualmente, un modo all-in-one agrupa el motor y los tres sidecars de
decodificación en un único pod (el matching semántico sigue en un pod aparte, desactivable), y helm test ejecuta el mismo preflight dentro del clúster antes de salir
a producción:
helm install mildport ./deploy/helm/mildport -n mildport --create-namespace \ -f values.prod.yamlhelm test mildport -n mildport # ejecuta el preflight de self-host en el clústerJunto al chart se incluye un runbook air-gap: replica las imágenes en tu propio registro, define los overrides de imagen y aloja tú mismo el worker de pdf.js — sin necesidad de red saliente.
Siguiente: Tu primer import · Solución de problemas · Licencias.