Recommended
+Complete stack
++ Install PostgreSQL, the DocumentDB extension, and the gateway + together. Guided setup creates a private instance with persistent + storage and systemd services. +
+ + Install the complete stack + +From 2734489dd03b5b22bda7ff41974a48ca38b2fd19 Mon Sep 17 00:00:00 2001
From: Guanzhou Song
+ {currentFeedback?.error
+ ? "Could not copy. Select the command text and copy it manually."
+ : currentFeedback ? `${label} copied. Run it in your terminal.` : ""}
+
+ For macOS and Windows, choose Docker.
+
+ Recommended: {aptTargetLabels.ubuntu24} with PostgreSQL 18.
+
+ Also available for {rpmFullStackDistros.map((target) => rpmTargetLabels[target]).join("; ")}.
+
+ Pre-GA: fresh installs only. In-place upgrades from earlier releases are not supported.
+
+ First configure the PostgreSQL (PGDG) and DocumentDB repositories
+ and signing keys, then install the packages.
+
+ Create a private PostgreSQL instance and start the gateway.
+ The wizard prompts for your admin password in the terminal.
+
+ The complete instructions continue through connecting and your first query.
+
+ Install and start Docker, then run DocumentDB Local in a container.
+
+ Replace the placeholders with your own local-development credentials.
+ Command-line passwords can remain in shell history; do not reuse production credentials.
+ Port 10260 is exposed only on loopback.
+
+ Wait for DocumentDB to be ready, then connect with your app or shell.
+ Follow the full instructions for TLS, connection examples, and data persistence.
+
{command}
diff --git a/app/components/HomeQuickstart.tsx b/app/components/HomeQuickstart.tsx
new file mode 100644
index 0000000..028d5ac
--- /dev/null
+++ b/app/components/HomeQuickstart.tsx
@@ -0,0 +1,126 @@
+"use client";
+
+import { useState } from "react";
+import Link from "next/link";
+import CommandSnippet from "./CommandSnippet";
+import {
+ aptTargetLabels,
+ buildSetupCommand,
+ rpmFullStackDistros,
+ rpmTargetLabels,
+} from "../lib/packageInstall";
+
+const nativeInstallHref = "/packages?method=packages&family=apt&target=ubuntu24&pg=18&arch=auto";
+const setupCommand = buildSetupCommand("18");
+const dockerCommand = `docker run -dt --name documentdb \\
+ -p 127.0.0.1:10260:10260 \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest \\
+ --username '
+ Run directly on Linux
+
+
+
+ 1. Install the complete stack
+ 2. Set up after installation
+
+ Run locally with Docker
+
+
- Choose one install path first. After DocumentDB is running, verify the - connection with mongosh before moving to a driver quick start. + Install with Native Linux packages or Docker once. Create a working + instance, then insert and read a document using a shell, driver, or editor.
- Use Docker for the fastest local setup, or Linux packages for a - persistent host installation. + Use native packages on a supported Linux host, or Docker for + containers and macOS/Windows evaluation.
- Run locally with Docker + Native Linux: complete stack
- Best for evaluation, local development, and quick testing. + Recommended: {aptTargetLabels.ubuntu24} with PostgreSQL 18. + The command detects amd64 or arm64 on your host and configures + trusted package repositories before installing system-wide packages. +
++ Pre-GA, fresh installation only; in-place upgrades from earlier + releases are not supported. Removing packages preserves data. +
++ Setup creates a new private PostgreSQL instance and prompts for + your admin password. The gateway binds all interfaces by default: + firewall port 10260 before setup. Self-signed TLS is for local + development; use trusted certificates for network access.
+ For EL9 RPM/dnf commands, other supported choices, and the full walkthrough, see the{" "} + + Linux Packages Quick Start + + . +
- Install from Linux packages + Docker: local container
- Use the repository-backed package flow when you want a persistent - server install. Generate the exact apt or rpm command with the{" "} - - Package Finder - - . + With Docker installed, run a local instance on Linux, macOS, or + Windows. Replace the credential placeholders before running. + The port stays on loopback. +
+
+ Wait for the readiness banner in{" "}
+ docker logs documentdb before connecting.
+ For persistence, certificates, and the full walkthrough, see the{" "} + + Docker Quick Start + + . +
- Recommended: verify with mongosh + Insert and read your first document
- This is the fastest shared validation path after either install - option because it confirms authentication, TLS, and a working - endpoint before you add editor or driver setup. If you already - know your target workflow, you can skip this and continue directly - with VS Code or a driver quick start. + Install mongosh separately for the shell walkthrough below, or + use your preferred language or editor. Each guide connects to + the instance you already created and verifies an insert and read. + Sample data is optional.
- Choose Docker for the fastest local setup, or Linux packages for a persistent - install. On Ubuntu 24.04 and EL9 (Rocky Linux, AlmaLinux, CentOS Stream, or - registered Red Hat Enterprise Linux), the packages install the full DocumentDB - stack — the PostgreSQL extension, the wire-protocol gateway, the administrator - tools and systemd units. Starting with v0.116, the hosted package matrix is - intentionally smaller and mirrors only combinations attached to the current - official release. +
Start simple. Keep control.
++ Run directly on Linux with guided setup, or use Docker. Start with the complete + database stack; choose individual components when you need more control.
-+ Native packages: Ubuntu 24.04 and EL9 · PostgreSQL 17/18 · AMD64 and ARM64 +
+ Looking for individual package downloads? + -{state.error} No installation commands are shown for this link.
- Starts DocumentDB locally on port 10260 for quick evaluation and development.
+ {method === "packages" ? (
+ <>
+
+ The selected
- The prebuilt package matrix was reduced in v0.116
-
- documentdb.io now publishes only the combinations built and tested for the
- current release: Ubuntu 24.04 and EL9, PostgreSQL 17 or 18, on both supported
- architectures. EL9 covers Rocky Linux, AlmaLinux, CentOS Stream, and registered
- Red Hat Enterprise Linux with different prerequisite commands. Packages from
- earlier releases are not carried forward to make unsupported targets appear
- current. This also withdraws the older PostgreSQL 16 extension packages
- previously served for Ubuntu 24.04 and EL9.
-
- Need another distribution or PostgreSQL major? We welcome community builds.
- Check out the matching source tag and use our version-parameterized{" "}
-
- packaging scripts
-
- . The extension, gateway, and remaining stand-alone packages use separate
- scripts. PostgreSQL 15 is extension-only. These builds are on demand and are
- not official release assets hosted by documentdb.io.
- Package Finder
- Target: {selectedTargetText} · Architecture: {selectedArchText} · package names{" "}
-
+ Architecture is resolved in your terminal, not from your browser. Use a supported AMD64 or ARM64 Linux host with sudo and systemd.
+ Registered RHEL needs an active subscription.
- The generated command adds the PostgreSQL upstream repositories that provide
- PostgreSQL,
- It installs the full DocumentDB stack for this target: the extension, the gateway
- runtime, the administrator tools and the systemd units.
-
- Then run the setup wizard. The generated command pins the PostgreSQL major
- you selected and creates a new private instance, so another installed major
- or an existing system cluster cannot be selected by accident. It installs
- the extensions, bootstraps the admin user and starts the gateway — the
- package install above on its own does not leave a reachable endpoint. It
- prompts for the admin password. For automation, use the complete{" "}
-
- unattended setup
- {" "}
- instructions.
-
- Sample data is opt-in. After installing{" "}
-
- The gateway then listens on port{" "}
-
- Running in a clean Ubuntu container as
- {isFullStack
- ? "What gets installed"
- : "Need the MongoDB-compatible gateway?"}
-
- A per-major DocumentDB install resolves five package names. Installing{" "}
-
- Use the Docker image for the fastest gateway-backed local setup. If you want a
- package-backed host install that still works with
- Compared with earlier releases, v0.116 reduces the hosted package matrix. The
- repository contains only package combinations attached to{" "}
-
- {release.tagName}
-
- . Other combinations remain build-on-demand targets in the source repository;
- see the{" "}
-
- packaging guide
- {" "}
- to build the package you need from the matching tag.
-
- Use Package Finder above to generate the exact command for your selected
- target, or see the{" "}
-
- Linux Packages Quick Start
- {" "}
- for the supported repository components and install commands written out in full.
+
- documentdb.io no longer publishes packages for Ubuntu 22.04, Debian 11/12/13,
- RHEL-compatible 8, or PostgreSQL 16. Existing installations keep running, but
- they receive no package updates and cannot reinstall those packages from the
- documentdb.io repository.
-
- Empty signed metadata remains at the retired repository URLs so{" "}
- Checking the published package release... Cannot confirm the current repository release. {releaseError}
+ Reference release: {release.tagName}, not confirmed current. Installation commands are
+ withheld until availability can be confirmed.{" "}
+ Browse release assets{" "}
+ or .
+
- To remain on an older target, use the matching GitHub release assets or build
- from that release tag. Those paths are not part of the current hosted support
- matrix.
-
+ Published repository release:{" "}
+ {release.tagName}
+ {" · "}{targetLabel}{" · "}{arch === "auto" ? "AMD64 / ARM64" : arch}
+
- Use the commands below to discover available versions before pinning, and pin{" "}
-
- APT and RPM use different version syntax, and individual subpackages can carry
- different release suffixes. Always copy the exact version returned below for{" "}
-
+ The complete package set for this selection is not present in the published release.
+ Choose another target or a specific available architecture, or{" "}
+ inspect the release assets.
APT — list then pin RPM — list then pin
- See all releases and release notes on{" "}
-
- GitHub Releases
-
- .
+ )}
+
+
+ Run this in your Linux terminal. It adds the PostgreSQL and DocumentDB repositories
+ and signing keys, enables the required distribution repositories, and installs the complete
+ stack. Review the command before running it. Installation does not start a usable DocumentDB endpoint.
Commands will appear after your selection and the published package set are confirmed.
- Individual
+ The wizard creates a new private PostgreSQL instance for major {pg}, configures the extensions,
+ creates your admin login, and starts the gateway and services at boot. It asks for the admin
+ password in your terminal. Keep that password for the connection step.
- Choose an asset whose PostgreSQL version and architecture match your host.
+ {canInstall &&
+ The gateway listens on port 10260 on all interfaces by default. Restrict that port with your
+ firewall before setup. Use trusted TLS certificates before exposing it beyond local development.
- Docker starts a gateway-backed local endpoint on port 10260. On Ubuntu 24.04 and
- EL9 the packages give you the same thing: install, then run{" "}
-
+ Need automation? Follow the complete{" "}
+ unattended setup{" "}
+ instructions. Already managing PostgreSQL? Use the{" "}
+ operations guide{" "}
+ instead of creating a new instance.
+
+ Install and start Docker first. Replace both credential placeholders before running the
+ command. This local example exposes port 10260 only on your machine's loopback interface.
+ The container initializes the database; do not run the native setup wizard inside it.
+ For persistent volumes and a versioned image, follow the{" "}
+ Docker quickstart.
+
+ Install{" "}
+ mongosh{" "}
+ separately, then connect from the same host as DocumentDB.{" "}
+ {method === "packages" ? "Use the admin password you chose during setup." : "Use the username and password you chose for Docker."}{" "}
+ The shell prompts for the password; it is not included in the connection URI.
+ In mongosh, insert a document and read it back:
+ Expect an acknowledged insert and a document containing "Hello, DocumentDB!".
+ The example uses the {guide.description}
+ Your private database lives under
+ Sample data is optional. After installing mongosh, add{" "}
+
+ See the operations guide{" "}
+ for logs, TLS, user management, and cleanup. Removing packages or using{" "}
+
+ Browse GitHub release assets{" "}
+ for individual DEB/RPM files, checksums, and the package inventory. Select the matching distribution,
+ PostgreSQL major, and architecture; install the matching package set together.
+
+ The optional
+ Other OS/PostgreSQL combinations are build-on-demand targets, not current hosted packages.
+ See the {releaseStatus === "live" ? "matching release packaging guide" : "reference release packaging guide"}.
+ PostgreSQL 15 is extension-only for native packaging.
+
+ For fresh installs, list available versions before pinning. APT and RPM use different version
+ syntax, and individual subpackages can carry different release suffixes. Use the version
+ reported for
+ The hosted matrix was reduced in v0.116. Ubuntu 22.04, Debian 11/12/13, EL8, and
+ PostgreSQL 16 packages are no longer served here. Existing installations are not
+ automatically migrated, and do not receive package updates from these retired targets.
+ Empty signed repository metadata remains so unrelated package operations continue to work.
+
+ Use matching older release assets or build from that source tag if you must stay on a
+ retired target. For a current installation, use a clean supported host. In-place upgrades
+ from earlier releases are not supported.
+
+ Complete Linux quickstart
+ {" · "}Advanced operations
+ {" · "}Docker quickstart
+
A powerful, scalable, fully MongoDB compatible open-source database built for modern applications
+
Open source and MIT licensed, with native BSON, advanced
indexing, and vector search on PostgreSQL.
+ Run directly on Linux without a source build or container.
+ Start with the complete stack and guided setup, or use Docker.
+
- Start DocumentDB Local with Docker, then connect on port
- 10260.
-
- {item.description}
- One complete stack. No package decisions.
+ {selectedPackageNames} package brings PostgreSQL, the extension,
+ gateway, setup tools, and services together. The number {pg} is the PostgreSQL major,
+ not the DocumentDB release.
{selectedPackageNames}
+
+ pg_cron,{" "}
- pgvector, PostGIS, and{" "}
- rum for PostgreSQL 17.
- mongosh, add{" "}
- --load-sample-data to seed the{" "}
- StoreData database with 41,505 stores
- and 2 ratings. The command above leaves the new instance empty.
- 10260. It binds all interfaces by
- default, so firewall the port before exposing it to a network. For existing
- PostgreSQL clusters, real certificates, upgrades, reset, and other day-2
- tasks, use the{" "}
-
- operations guide
-
- .
- root?
- Run export DEBIAN_FRONTEND=noninteractive in the shell first
- (and omit sudo from the command above).
- Without it, tzdata prompts for input partway through
- and the install hangs with no visible error.
- {selectedPackageNames} pulls in
- everything below; the optional documentdb{" "}
- meta package selects PostgreSQL 18.
-
- {packageRoles.map((entry) => (
-
- >
- ) : (
- mongosh,
- the Linux package guide includes the exact non-root gateway follow-up commands
- and host build prerequisites.
-
- Current release package catalog
-
-
-
-
-
-
-
-
- Format
- Distributions
- Architectures
- PostgreSQL versions
- Package naming
- Version served
-
-
- APT
- Ubuntu 24.04 ·
- ubuntu24amd64, arm64
- 17, 18
-
-
- documentdb-<pg>
- {release.metaVersion}
-
-
-
- RPM
-
- Rocky/Alma/CentOS Stream 9 or registered RHEL 9 ·{" "}
-
- rpm/rhel9
- x86_64, aarch64
- 17, 18
-
-
- documentdb-<pg>
- {release.metaRpmVersion}
-
- Migrating from repository targets retired in v0.116
-
- apt update and{" "}
- dnf makecache do not break unrelated
- package operations. Remove the DocumentDB source if that host will not move to
- the current matrix:
-
- Version pinning and listing available versions
-
- {selectedPackageNames} — the package your
- selected target actually installs.
- {selectedPackageNames}; do not infer it
- from the extension or another package.
+ {selectionReady && releaseStatus === "live" && !packagesAvailable && (
+
- apt-cache madison {selectedPackageNames}
-
-
- sudo apt install {selectedPackageNames}=<VERSION>
-
-
- dnf --showduplicates list {selectedPackageNames}
-
-
- sudo dnf install {selectedPackageNames}-<VERSION>
-
- 1. Install the packages
+
- Direct package downloads
-
- .deb and{" "}
- .rpm files are attached to each release on
- GitHub. Recent release examples:
+ 2. Configure and start DocumentDB
+
- Troubleshooting quick checks
-
-
- sudo apt update && apt search documentdb && apt-cache policy
- postgresql-18-documentdb
-
-
- sudo dnf clean all && dnf search documentdb && rpm -qi
- postgresql18-documentdb
-
-
- 3. Connect and try it
-
-
- {buildSetupCommand(packageFamily === "apt" ? aptPgVersion : rpmPgVersion)}
-
- {", "}which creates a private database instance for the selected PostgreSQL major and
- starts the gateway.
+ 1. Start a Docker container
+ {method === "packages" ? "3" : "2"}. Connect and run your first query
+ mydb database. The self-signed certificate bypass is
+ for local development only; use trusted certificates and remove the bypass for other deployments.
+
- {guide.title}
-
- Keep control after the first query
+ /var/lib/documentdb-local/{pg}/data.
+ The per-major package uses documentdb-local@{pg}.target for service management.
+ A restart preserves your data.
+ --load-sample-data to seed the{" "}
+ StoreData database when running setup. The default setup leaves your new instance empty.
+ --restore does not erase database data.
+ All downloads and package details
+ documentdb meta package selects PostgreSQL 18 and adds the public{" "}
+ documentdb-local.target alias. The commands above install the explicit per-major
+ package instead.
+
+ {packageRoles.map((entry) => (
+
+ Available versions and retired targets
+ {selectedPackageNames}, not the extension's version.
+ Troubleshooting and manual instructions
+
+
+
- Run locally with Docker
-
-
- {quickStartSteps.map((item) => (
-
-
+ Installation choices +
++ No source build required. Guided setup. Choose what you manage. +
+ + Read about native Linux packages + +Recommended
++ Install PostgreSQL, the DocumentDB extension, and the gateway + together. Guided setup creates a private instance with persistent + storage and systemd services. +
+ + Install the complete stack + +Advanced
++ Use PostgreSQL you manage on the same host as the gateway, + not a remotely hosted database. Review configuration changes + and restart requirements before setup. +
+ + Read the local PostgreSQL guide + +Advanced
++ Add DocumentDB to your local PostgreSQL installation for SQL use. + The extension alone does not create a MongoDB-compatible network endpoint. +
+ + Read the extension-only guide + +- Start locally with Docker, then explore the project on GitHub. + Install directly on Linux, or use Docker on Linux, macOS, and Windows.