Skip to content

Prerequisites

install.sh is designed to do as much setup as it can for you — including installing Docker — but a few things must be in place first.

OSArchitecturesNotes
Linuxx86_64, arm64Tested on Amazon Linux 2023, Ubuntu 22.04+, Debian 12
macOSarm64 (Apple Silicon), x86_64Docker Desktop required

The CloudFormation template uses Amazon Linux 2023 on t4g.large (arm64).

These must be present on PATH before running:

CommandPurposeAuto-installed?
bashShellNo (must be installed)
curlDownload installer + bundleYes — via your OS package manager
tarExtract release archiveYes — via your OS package manager
opensslGenerate random secretsYes — via your OS package manager
dockerRun the stackNo (must be installed)
docker composeOrchestrate containersNo (must be installed)
npm (Node 18+)Install @deepsql/mcpNo (skipped if missing)

The installer detects your package manager (dnf, yum, apt-get, apk, pacman, zypper, or brew on macOS) and installs the small tools (curl, tar, openssl) automatically when missing. Architecture (x86_64 / arm64) is handled by the package manager — no extra config needed.

If npm is missing, the MCP step is skipped with a clear message — the core stack still installs.

ResourceMinimumRecommended
vCPUs22+ (t4g.large = 2 vCPU, 8 GB)
RAM8 GB8 GB+
Disk (root)50 GB50 GB (CloudFormation default)
Disk typeanygp3 SSD or equivalent

The Postgres data volume lives inside the Docker volume mount on the root disk by default.

The installer needs outbound HTTPS (port 443) to:

HostWhy
install.deepsql.aiDownload installer + bundled LLM config
github.com, codeload.github.comPull the deepsql-self-host release archive
ghcr.io (and *.actions.githubusercontent.com)Pull deepsql/backend and deepsql/frontend images
registry.npmjs.orgInstall @deepsql/mcp
Azure OpenAI endpointRuntime LLM calls (configured during install)

The script runs as the invoking user. It needs:

  • Linux: sudo available if Docker isn’t installed (the Docker installer needs root). If running as root (e.g. EC2 UserData), no sudo needed.
  • macOS: Homebrew if Docker isn’t installed.
  • Write access to $HOME/.deepsql/ (where the bundle is unpacked when piped from the internet).

DeepSQL ships with its own Postgres+pgvector container for its internal data — you don’t need to provide one for that.

To manage your own Aurora/RDS through DeepSQL:

  • DeepSQL must be able to reach your DB endpoint (port 5432 for Postgres, 3306 for MySQL) over the network.
  • For AWS deploys, put the EC2 instance in the same VPC as the DB and allow inbound from its security group on the DB security group.

See Networking & Aurora/RDS access for the full walkthrough.