---
title: "Self-host Saleor on Edge | Python + GraphQL headless commerce"
description: "Run Saleor on Edge — Python (Django) on real VMs, Postgres, Redis and Celery workers, S3-compatible media storage, global CDN for the GraphQL API and storefront."
url: https://edge.network/solutions/saleor/
---

# Self-host Saleor on Edge | Python + GraphQL headless commerce

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.

[Start free](https://edge.network/account) [See the Django page](https://edge.network/solutions/django)

# 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 →](https://edge.network/solutions/stacks)
[Shopify Hydrogen Self-host your Shopify storefront](https://edge.network/solutions/hydrogen)[PostgreSQL Self-hosted Postgres on dedicated NVMe](https://edge.network/solutions/postgresql)[MySQL MySQL or MariaDB on real VMs](https://edge.network/solutions/mysql)[Redis In-memory cache and queue, your way](https://edge.network/solutions/redis)

## Ship Saleor on Edge

Start free. Bring an existing Saleor instance or scaffold one fresh.

[Start free](https://edge.network/account) [Talk to an engineer](https://edge.network/contact)
