Document Engine reference architecture
A broad range of platforms is available to you if you choose to host Document Engine yourself, including public cloud vendors or your own data center. Nutrient doesn’t impose any specific requirements on the infrastructure beyond necessary capabilities — e.g. a PostgreSQL database if you’re using Document Engine with storage — and you can use any approach that fits your needs.
Our experience hosting Document Engine at Nutrient, together with insights from customer deployments, has led to a reference architecture that underpins our managed solutions. This same architecture is the focus of our guides, and our Support team has deep expertise with it — we recommend using it as the foundation for your own infrastructure design.
Opinionated by design
Rather than trying to cover every possible scenario, we focus on an approach that is practical, broadly applicable, avoids vendor lock-in, and keeps prerequisites to a minimum — while still allowing maximum flexibility.
This philosophy naturally led us to Kubernetes(opens in a new tab) as the platform for orchestrating containers, both for Document Engine and, optionally, its dependencies. To simplify deployment and management, we provide a Helm chart(opens in a new tab).
Reference architecture
To run Document Engine in its most complete configuration, you need:
- A Kubernetes cluster
- Capable of running Linux containers for ARM64 or AMD64 architectures.
- With an Ingress controller(opens in a new tab) to expose Document Engine internally or externally.
- A PostgreSQL database to store metadata and configuration (deployed in the same cluster or externally, with a broad range of managed databases supported).
- An object storage service to store assets. Document Engine supports AWS Simple Storage Service (S3) and S3-compatible solutions (such as Google Cloud Storage), as well as Azure Blob Storage.
- A cache service to speed up rendering and processing of frequently accessed documents. Document Engine supports Redis.
The rest is handled by Helm. Document Engine Helm chart values(opens in a new tab) contain all the necessary details to connect the building blocks. Helm can also be managed by GitOps tools like ArgoCD(opens in a new tab) or Flux(opens in a new tab), or other infrastructure-as-code solutions of your choice.
Refer to our guides for additional information on setting up Document Engine using Helm and setting up Ingress to expose it to your applications.
We also have public examples(opens in a new tab) for setting up a Kubernetes cluster and installing Document Engine.