Show HN: Wharf – Self-Host Postgres, MySQL, Mongo, Redis, ClickHouse in Docker Wharf, an open-source self-hosted database management platform previously named alldb, lets users spin up PostgreSQL, MongoDB, MySQL, Redis, and ClickHouse instances in Docker with a connection URL and data browser within 10–30 seconds. The product, which requires Docker and Docker Compose and pulls pre-built images from GitHub Container Registry, includes real user accounts, live CPU/memory resize, CSV/JSON export, and an optional natural-language 'Ask your data' query box backed by OpenRouter. Wharf's superadmin account is mandatory on every fresh instance, and the platform is designed to be self-hosted or run as a shared instance with per-user accounts. Where your data docks. Spin up a database, get a URL, look at your data — in one place, done exceptionally well. Landing page source /drk1rd/wharf/blob/main/landing not yet deployed to a live URL — see landing/README.md to preview or deploy it · Contributing /drk1rd/wharf/blob/main/CONTRIBUTING.md · Security policy /drk1rd/wharf/blob/main/SECURITY.md Open source. Self-host it on your own infrastructure, or run one shared instance and give people accounts on it — same product either way. Every instance adapts to who's looking at it: a Simple view connection URL, .env snippet, browse button by default, an Advanced view metrics, logs, config, backups one click away — same instance, not two products. Ships PostgreSQL, MongoDB, MySQL, Redis, and ClickHouse , real user accounts, live CPU/memory resize with no restart, CSV/JSON export, and an Ask your data natural-language query box backed by OpenRouter https://openrouter.ai with your choice of model. See PLAN.md /drk1rd/wharf/blob/main/PLAN.md for the full product plan, the competitive reasoning behind the scope, and an honest go/no-go assessment. This repo was previously named alldb ; the product is now calledWharf. The git repository name is unchanged. Requires Docker and Docker Compose. Pulls pre-built images from GitHub Container Registry — no local build or Node/npm needed on the host. cd deploy docker compose up - Web UI: http://localhost:5173 http://localhost:5173 - API: http://localhost:8080 http://localhost:8080 Pins to latest the most recent tagged release by default; set WHARF VERSION=v1.2.0 to pin a specific release instead. Before the first release is cut, or if you'd rather build from source e.g. for local development , use the build overlay instead: cd deploy docker compose -f docker-compose.yml -f docker-compose.build.yml up --build The first thing you'll see is a "Create your superadmin account" screen — Wharf requires this before anything else works, on every fresh instance. That account gets full management access to every database and every other account created afterward see Settings → Users once you're in . There's no anonymous or single-user mode to opt out of; every request needs a real session or the WHARF TOKEN admin credential, from the very first request onward. Once that's done, click a database engine to create an instance — within ~10–30 seconds you'll have a connection URL and a data browser for it. To enable Ask your data ask a database question in plain English instead of writing SQL/Mongo queries by hand , set OPENROUTER API KEY on the control plane. Off by default — the UI shows a hint instead of the input box until it's configured. Each signed-in user picks their own model from OpenRouter's live catalog in Settings or inline per question ; there's no single hardcoded model. Set e.g. WHARF MAX INSTANCES 10 so one enthusiastic tester can't exhaust the host by creating instances in a loop. On its own this only caps count — live resize below still lets any single instance grow to 16 cores / 32GB, so also set cores and/or WHARF MAX TOTAL CPU to cap the combined cpu/memory reserved across every instance on the host. Both are enforced on create WHARF MAX TOTAL MEMORY MB and resize; either is optional and unset means no limit on that dimension. Have testers sign up for real accounts rather than sharing one login — each account only sees its own instances plus anything created before any account existed . You're already the superadmin from completing the initial setup step, so you can see and manage everything by default; set WHARF TOKEN too if you also want an admin/CLI bypass that doesn't need a browser session. Expose it — the fastest path for a handful of people is a tunnel from a machine you already have docker compose up locally, then cloudflared tunnel --url http://localhost:5173 or ngrok http 5173 for a public HTTPS URL , rather than standing up new cloud infra for a short pilot. Set WHARF COOKIE SECURE=true once it's served over HTTPS so session cookies get the Secure flag. If docker pull fails with a 403/denied for the image, it's likely because this is the very first published release: GHCR packages published via a workflow's default token are private by default on first publish, regardless of the repo's own visibility. That needs a one-time manual fix in the repo's Packages tab on GitHub package → Package settings → Change visibility → Public — it isn't something the publish workflow itself can do. See PLAN.md §17 for the full reasoning and what's still deliberately not built billing, org/team accounts, an onboarding flow . Run the control plane directly against your local Docker daemon: npm install npm run dev:control-plane http://localhost:8080, needs /var/run/docker.sock npm run dev:web http://localhost:5173, proxies /api to :8080 npm install --workspace cli node cli/bin/wharf.js signup first time on a fresh instance — becomes its superadmin node cli/bin/wharf.js login afterward, or on any other machine node cli/bin/wharf.js create postgres node cli/bin/wharf.js list node cli/bin/wharf.js url