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.
Runs Saleor (Django) + Postgres + Redis + Celery on a VM
S3-compatible bucket via `django-storages` for media
Caches the GraphQL API responses and the storefront
Optional: replace Saleor thumbnails with edge transforms
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
Ship Saleor on Edge
30-day trial. Bring an existing Saleor instance or scaffold one fresh.