Saleor Dashboard is an open-source, GraphQL-powered single-page application that gives operators a browser interface for running a Saleor e-commerce backend, built for merchants, store administrators, and development teams who host their own Saleor instance.
What it is
Saleor Dashboard is the administration client for Saleor, an open-source e-commerce platform. It is written in TypeScript as a React single-page application and speaks to a Saleor backend exclusively over GraphQL, which means the dashboard holds no store data of its own — it reads and writes through the Saleor API and renders the result in the browser. The project lives in the Saleor ecosystem alongside the Saleor server itself, which the README lists as a prerequisite: there is no useful dashboard without a running Saleor instance to point it at.
The concrete problem it solves is store administration without hand-written API work. Before a dashboard exists, routine tasks such as inspecting orders, products, and configuration for a Saleor store have to be driven directly against the GraphQL API. The dashboard replaces that manual query-and-script workflow with a maintained interface, and it keeps that interface aligned with the schema by supporting both stable and staging Saleor graphql.schema files during development.
Key capabilities
- A GraphQL client layer for a Saleor backend, developed against both stable and staging Saleor schemas as described in
docs/multi-schema.md.
- A development server started with
pnpm run dev, which by default serves the dashboard over http://localhost:9000.
- Optional named-URL development through portless: the repository ships a
portless.json configuration and can serve the dashboard at a stable https://dashboard.localhost instead of fighting over port 9000.
- Per-worktree development URLs when portless is used, with the branch name prepended, for example
https://my-branch.dashboard.localhost.
- Environment-variable configuration, documented in
docs/configuration.md, with CORS handling tied to the Saleor instance's allowed client hosts.
- Error tracking support through a Sentry adapter, covered by
docs/error-tracking.md and docs/sentry-adapter.md.
- Container and deployment paths, documented in
docs/docker.md and docs/deployment.md, alongside a test suite described in docs/running-tests.md.
Who uses it and how
- Store operators and administrators who need to manage a Saleor store through a browser rather than through direct GraphQL calls against the API.
- Developers running several checkouts or git worktrees at the same time, who use portless so each one gets its own URL instead of competing for port 9000.
- Teams maintaining both stable and staging Saleor backends, who develop against multiple
graphql.schema variants.
- Teams that need visibility into front-end failures and therefore wire the dashboard into Sentry through the documented adapter.
- Teams deploying the dashboard as a container, following the Docker and deployment documentation.
Getting started
Clone the repository, run pnpm install, configure environment variables as described in docs/configuration.md, then start the development server with pnpm run dev. This requires Node.js v24, the PNPM package manager, and a running Saleor instance; Docker usage is documented separately in docs/docker.md.
How it compares
No comparable dashboards or alternative administration clients are named in the facts for this project, so on that evidence Saleor Dashboard stands alone in this registry. It is best understood not as a choice between competing products but as the official administration client paired with the Saleor server itself.
When to use it — and when not to
A self-hoster must operate Node.js v24 with PNPM, maintain a running Saleor instance, keep environment variables and CORS allowed client hosts in sync, and optionally provision container deployment and Sentry error tracking. Anyone without a Saleor backend, or without the appetite to run one, should not pick this up, because the dashboard has no standalone purpose. The repository also carries 153 open issues and a README that defers most operational detail to separate documentation files, so adopters should read docs/configuration.md and docs/deployment.md before assuming the setup is turnkey.
project readme (upstream, from github) — read inline

Saleor Dashboard
A GraphQL-powered, single-page dashboard application for Saleor.
Get to know Saleor:
Talk to a human
|
Talk to the API
🏠 Website
•
📚 Docs
•
📰 Blog
•
🐦 Twitter
•
💬 Discord
•
🔎 Explore Code
Prerequisites
- Node.js v24
- A running instance of Saleor
- PNPM package manager - preferably installed via corepack
Development
- Clone the repository:
git clone https://github.com/saleor/saleor-dashboard.git
- Enter the project directory:
cd saleor-dashboard
- Install the dependencies:
pnpm install
Configure the env vars as described in docs/configuration.md.
Start the development server with:
pnpm run dev
Note:
If you see CORS errors, check CORS configuration of your Saleor instance or CORS settings in the Cloud Console.
Named URLs with portless (optional)
portless serves the dev server on a stable https://dashboard.localhost instead of http://localhost:9000. Useful when you run several checkouts or worktrees at once — each one gets its own URL instead of fighting over port 9000.
The repo is already configured (portless.json), but portless itself is not a dependency — install it globally:
npm install -g portless
Then, instead of pnpm run dev:
portless
The first run asks for your password once, to bind port 443 and trust a local CA. It runs the dev script and prints the URL. In a git worktree the branch name is prepended, e.g. https://my-branch.dashboard.localhost.
pnpm run dev keeps working as before — portless is opt-in.
Docs