Catalog / Vector databases

Milvus

Vector database for similarity search over embeddings at scale

CIS Level 1 hardened Ubuntu 24.04 LTS image by Lynxroute · unique credentials at first boot · CVE-scanned · SBOM and CIS report inside

Availability and pricing
CloudVersionSoftware priceLast build
AWS Marketplace
EC2 AMI · all commercial regions
3.0.3$0.05/hr
Recommended instance: m6i.xlarge · 5-day free trial
2026-10-24Listing ↗
Azure Marketplace
VM image · plan payg-gen2 · Gen2
3.0.2$0.028/vCPU/hr
Recommended VM: Standard_D4s_v3
2026-09-21Listing ↗

Software price only; cloud infrastructure is billed separately by the provider. Prices in USD.

Image facts
Base OSUbuntu 24.04 LTS
HardeningCIS Level 1, Ubuntu 24.04 LTS (tailored)
LicenseApache-2.0
UpstreamMilvus (LF AI & Data Foundation)
Machine-readableproduct.json · catalog.json
What is Milvus

Milvus is an open-source vector database purpose-built for similarity search over embeddings. It stores high-dimensional vectors alongside scalar metadata and returns nearest-neighbour results across very large collections in milliseconds, which makes it the storage layer for retrieval-augmented generation, semantic search, recommendation, deduplication and image or audio similarity. Written in Go and C++ with a SIMD-accelerated search core, it supports multiple index types and distance metrics (COSINE, L2, inner product), hybrid search combining vector similarity with scalar filtering, sparse and dense vectors, and full-text search. Clients connect over gRPC or a RESTful API, with official SDKs for Python, Java, Go, Node.js and C#. This image runs the standalone configuration - the Milvus engine with etcd for metadata and MinIO for object storage - persisting vectors, indexes and the write-ahead log to the instance's EBS volume. Milvus is a graduated project of the LF AI and Data Foundation. Apache-2.0 license, no vendor lock-in.

What the Lynxroute image adds

Security hardening:

  • Authentication is enabled before the database first starts, and a unique 24-character database password is generated on your own instance at first boot - the documented upstream default password never exists on your instance
  • The object-storage credential and the management-console password are generated at first boot as well, and written to a root-only credentials file. Nothing is baked into the image
  • The management console is published only through an nginx TLS reverse proxy protected by its own credentials, and only the console path is proxied - the rest of the management port is not reachable from outside
  • The metrics and management port is bound to 127.0.0.1 only
  • MinIO object storage is bound to 127.0.0.1 only, and the etcd metadata store publishes no host port at all
  • Container confinement is left at the platform default rather than relaxed
  • Container log rotation capped so a chatty or restarting container cannot fill the root volume
  • UFW firewall pre-configured - only 22, 80, 443 and the database API on 19530 reachable; object storage and metadata ports blocked externally
  • fail2ban, auditd and AppArmor pre-configured
  • HTTPS enabled by default with a self-signed certificate; Certbot and the nginx plugin are pre-installed so a trusted certificate is one command away
  • CVE scan - every image is scanned for vulnerabilities before release

OS hardening (CIS Level 1):

  • CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
  • auditd, SSH hardening, Kernel hardening, IMDSv2 enforced

Compliance artifacts:

  • SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
  • CIS Conformance Report at /etc/lynxroute/cis-report.html
  • CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md

Milvus holds its indexes in RAM and requires a CPU with AVX2, so the recommended instance type is m6i.xlarge (4 vCPU, 16 GB) and no burstable tier is offered.

Deploy

Launch in one command

Credentials are generated at first boot and written to /root/milvus-credentials.txt.

# subscribe once on the AWS Marketplace listing, then:
aws ec2 run-instances \
  --image-id resolve:ssm:/aws/service/marketplace/prod-oc4kenkospxq6/latest \
  --instance-type m6i.xlarge --key-name my-key --security-group-ids sg-xxxxxxxx
# accept the plan terms once, then:
az vm image terms accept --publisher lynxroute --offer milvus --plan payg-gen2
az vm create -g my-rg -n milvus --size Standard_D4s_v3 \
  --image lynxroute:milvus:payg-gen2:latest --admin-username azureuser --generate-ssh-keys
Release notes

Latest release

The most recent release with notes; the full release history is in product.json.

Milvus 3.0.3

AWS · 2026-10-24
  • Milvus updated 3.0.2 -> 3.0.3, a patch release. Apache-2.0 unchanged
  • Breaking for API clients: the legacy non-underscore /api/v1 REST routes are removed from the management port (use REST v2, gRPC, or /healthz for probes), and binlog imports need the new ImportBinlog privilege. The bundled WebUI console is unaffected
  • Security: management-endpoint credentials are redacted from config dumps and logs, malformed sparse vectors are rejected, and collection metadata now requires access rights
  • New: Function Chain for Hybrid Search, element-level partial updates for Array, Struct and JSON fields, and IS NULL filtering on nullable vector fields
  • Fixes import rollbacks removing visible data, wrong reranker scores, stale load completion and intermittent search failures during concurrent inserts
  • Object store moves to the maintained pgsty/minio community build (AGPL-3.0), as upstream MinIO no longer publishes images
  • Rebuilt on the current CIS Level 1 hardened Ubuntu 24.04 LTS base for the latest Ubuntu security updates