Installation & System Requirements

The product is one pre-built, multi-arch container image, UI, API, and migrations baked in. Beyond an OCI runtime there is nothing to compile or install on the host. Everything below sizes and places that single image.

Sizing

The app process is stateless (all durable state is in the metadata Postgres), so horizontal scale is linear, add replicas behind a load balancer. Per-replica floor and a sane baseline:

ResourceMinimumRecommendedNotes
vCPU24Concurrency-bound; scale out replicas before scaling up.
RAM2 GB4 GBHeadroom is dominated by large result sets and concurrent sessions.
Disk (app)1 GB5 GBImage is ~250-400 MB; the rest is metadata Postgres growth.
Metadata Postgres1316Bundled for evaluation; externalize to managed/HA Postgres for production.

Tooling floors: Docker Engine 20.10+ / Compose 2.0+ for the Compose path; Kubernetes 1.24+ / Helm 3.10+ for the Helm path.

Platform matrix

DimensionSupported
Image architecturelinux/amd64, linux/arm64 (Graviton, Apple silicon)
Container runtimesDocker Engine, Podman, containerd
OrchestrationKubernetes (EKS, AKS, GKE, OpenShift, k3s, on-prem), Compose, Swarm, ECS Fargate, Azure Container Apps, Cloud Run, Fly.io, Railway
Host OSLinux; macOS and Windows Server (Linux containers) for dev
ClientCurrent Chromium, Firefox, and Safari. WebSockets required for live notifications.

Network posture

The deployment runs entirely inside your perimeter, no inbound internet and no outbound call to Simcha are required. License validation is fully offline. The only outbound egress the app ever needs is to systems you explicitly integrate:

Two listeners are exposed by the app (UI and API); the metadata Postgres port stays internal to the deployment. Ports are configurable, see the Configuration Reference.

Obtaining the image

docker pull simchasolutions/db-studio:1.0.1

The delivery bundle (docker-compose.yml, .env.example, helm/) and the license key are provided separately.

Air-gapped installs

With no registry reachable, request the image as a tarball and side-load it, identical artifact, no build step:

docker load -i simcha-db-studio-<version>.tar

Nothing else about an air-gapped deployment differs, license activation and all core function are already network-independent.

Deployment paths

License activation

First access presents activation. The key (SDB-<base64url-payload>.<base64url-signature>) is RSA-verified against the public key baked into the build, tier and seat entitlements resolve locally with no network call. Activation state persists in the metadata store across restarts.

Upgrades

Migrations are additive and idempotent (guarded IF NOT EXISTS), the app adds tables/columns and never drops existing data. Back up the metadata database before every upgrade regardless.

Uninstall

Support