Edge
Saleor logo

For Saleor

Saleor on Edge,
Python GraphQL commerce

Self-host the modern Python + GraphQL commerce stack on real VMs. S3-compatible media, global CDN for the API, and a private network connecting Django, Postgres and Celery.

# settings.py — S3 storage

DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage'

AWS_S3_ENDPOINT_URL = 'https://storage.edge.run'

AWS_STORAGE_BUCKET_NAME = 'saleor-media'

# Provision a VM

$ edge compute create \

--image ubuntu-24-04 --plan medium \

--script ./bootstrap-saleor.sh

# Front it with the CDN

$ edge cdn create api.shop.example.com \

--origin https://<vm-ip>

Why Saleor teams pick Edge

All the platform plumbing of Saleor Cloud, on infrastructure that doesn't bill per request.

GraphQL-first commerce

A single, well-typed GraphQL endpoint for the entire store. Pair it with any front-end — Saleor's React storefront or your own Next.js app.

Python / Django on real VMs

Django + Gunicorn or Uvicorn on a sized-to-fit VM. Real CPU, real RAM, no per-request pricing — same as our standalone Django stack page.

S3 storage backend

Configure `django-storages` with Edge Storage for product imagery and downloadable goods. Standard Django plumbing, durable bucket.

Celery workers without surprises

Run async tasks (webhooks, email, exports) on the same VM or a dedicated worker VM. Backed by Redis on Edge Compute.

Global CDN for the API

Cache GraphQL GETs and storefront pages at the Edge CDN. Mutations and authenticated calls fall through to the origin Django app.

Multi-channel ready

Saleor's multi-channel feature works cleanly on a single host — different countries, currencies and warehouses, one Django process.

Reference architecture

How Saleor maps to Edge

Saleor core (Django) + Postgres + Redis + Celery workers on one or two VMs, your storefront on its own VM or static-hosted from Storage.

Compute

Runs Saleor (Django) + Postgres + Redis + Celery on a VM

Storage

S3-compatible bucket via `django-storages` for media

CDN

Caches the GraphQL API responses and the storefront

Image Optimization

Optional: replace Saleor thumbnails with edge transforms

DNS

Anycast DNS for `api.`, `dashboard.` and `shop.` subdomains

# Storefront → Saleor GraphQL on Edge

const query = gql`

query {

products(first: 12) {

edges { node { id name slug pricing { ... } } }

}

}

`

# Cached at Edge CDN

const data = await fetch('https://api.shop.example.com/graphql/', {

method: 'POST', body: JSON.stringify({ query })

})

Common questions

How does this compare to Saleor Cloud?

Same software, you control the host. Self-hosting on Edge gives you predictable bills, root access, and the ability to colocate the Django app, database and storefront on the same private network.

Which storefront should I use?

The official React Storefront is a solid Next.js starter. You can also bring your own Vue, Svelte or Astro front-end — any framework that can hit a GraphQL endpoint.

How do I deploy code updates?

Standard Django deploy: pull, `pip install`, `manage.py migrate`, restart. Wrap it in a CI step or systemd path unit. Or build a Docker image and use our Docker stack page for a container-based deploy.

What about payments?

Saleor has official payment plugins for Stripe, Adyen, Braintree and authorize.net. They all work as documented — payment processing is direct between Saleor and the gateway, no Edge involvement.

By Stack

Other stacks on Edge

View all stacks →

Ship Saleor on Edge

30-day trial. Bring an existing Saleor instance or scaffold one fresh.