Usage & Enterprise Capabilities
Saleor is a modern e-commerce platform designed for speed, flexibility, and scalability. Unlike traditional monolithic platforms, Saleor is built from the ground up as a headless solution, meaning the frontend is decoupled from the backend. This allows developers to build custom shopping experiences across web, mobile, and even IoT devices using the powerful GraphQL API.
By following MACH principles, Saleor ensures that your e-commerce stack is future-proof and capable of handling complex business requirements. It excels in environments where multi-channel selling and global expansion are priorities, providing robust tools for managing different markets, tax rules, and localized content within a single dashboard.
Self-hosting Saleor provides enterprises with the ultimate control over their commerce engine while benefiting from the performance and security of a modern Python/Django core.
Key Benefits
Ultimate Developer Freedom: Use any frontend technology (Next.js, Vue, mobile) to build your storefront.
Lightning Fast Performance: GraphQL and a optimized Python core ensure rapid response times even under heavy load.
Global Ready: Native support for multiple regions, currencies, and languages out of the box.
Elastic Extensibility: Extend Saleor with your own microservices or third-party apps via webhooks.
Future-Proof Stack: Built on modern technologies like Django, Graphene, and React.
Production Architecture Overview
A production Saleor deployment involves several key services:
Saleor Core: The Python/Django backend hosting the GraphQL API.
PostgreSQL: The primary database for all commerce data.
Redis: Used for caching and as a task broker for Celery.
Celery Workers: Handle asynchronous tasks like sending emails or processing uploads.
Dashboard: A static React application for management.
Storefront: A decoupled frontend (e.g., Next.js or Saleor's starter storefront).
Persistent Storage: For media uploads and logs.
Implementation Blueprint
Implementation Blueprint
Prerequisites
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start dockerDocker Compose Production Setup
Saleor provides a comprehensive saleor-platform repository for easier orchestration.
version: '3'
services:
api:
image: ghcr.io/saleor/saleor:latest
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgres://saleor:saleor@db:5434/saleor
- REDIS_URL=redis://redis:6379/1
depends_on:
- db
- redis
db:
image: library/postgres:15-alphine
ports:
- "5434:5432"
environment:
- POSTGRES_USER=saleor
- POSTGRES_PASSWORD=saleor
volumes:
- saleor-db:/var/lib/postgresql/data
redis:
image: library/redis:7-alpine
volumes:
- saleor-redis:/data
volumes:
saleor-db:
saleor-redis:Start the API:
docker-compose up -dKubernetes Production Deployment (Recommended)
Saleor is highly scalable on Kubernetes.
helm repo add saleor https://saleor.github.io/saleor-helm/
helm install saleor saleor/saleor --namespace e-commerce --create-namespaceBenefits:
Stateless Scaling: Scale core API pods horizontally to handle traffic.
High Availability: Built-in redundancy for services and workers.
Resource Management: Precise control over CPU and memory for different components.
Scaling Strategy
Separate Core and Workers: Scale Celery workers independently of the GraphQL API.
Database Optimization: Use managed PostgreSQL services with read replicas for catalog browsing.
Cached GraphQL: Implement persistent query caching or use an API gateway like Apollo Router.
Asset Offloading: Use S3 or GCS for all product images and media.
Security & Maintenance
GraphQL Security: Enable query complexity limits and depth limiting to prevent DOS.
Regular Updates: Saleor iterates quickly; keep your Core and Dashboard versions in sync.
Backup: Perform regular PostgreSQL dumps and state backups.
Audit Logs: Monitor dashboard activity for sensitive configuration changes.