Video coming soon…

⚡ Setup Saleor — High-Performance Headless Commerce

Deploy Saleor, the GraphQL-first headless commerce platform built for high performance, flexible product catalogs, and multi-channel sales.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install — Saleor commerce API running in one command.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/ecommerce/saleor/saleor-ubuntu.sh
chmod +x saleor-ubuntu.sh
sudo bash saleor-ubuntu.sh

Tutorial Steps

1 Download & Run the Installer

The script installs Docker, pulls the Saleor API, Dashboard, PostgreSQL, and Redis images, and starts all services. Saleor API and Admin Dashboard will be available on port 8000.

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/ecommerce/saleor/saleor-ubuntu.sh
chmod +x saleor-ubuntu.sh
sudo bash saleor-ubuntu.sh

2 Access the Dashboard

Open your browser and navigate to the Saleor Dashboard. The default staff login credentials are printed in the installer output. Log in and change the password immediately:

http://<your-server-ip>:8000/dashboard/

3 Set Up Channels & Products

Navigate to Channels in the Dashboard and create your first sales channel with a currency and country. Then go to Catalog → Products to add your product catalog with variants, pricing per channel, and stock levels. Assign products to the channel to make them available.

4 Query via GraphQL

Use the built-in GraphQL Playground to explore and test the Saleor API. Query products, create orders, and manage checkout flows — all through a single GraphQL endpoint:

http://<your-server-ip>:8000/graphql/

Ports Used

PortPurpose
8000Saleor API & Admin Dashboard
5432PostgreSQL database (internal)
6379Redis cache & queue (internal)

Overview

Saleor is an open-source headless e-commerce platform built with Python (Django) and GraphQL. It provides a powerful GraphQL API for all commerce operations, a React-based admin dashboard, and is designed for high-performance storefronts built with modern JavaScript frameworks.

Why Use It

Saleor's GraphQL-first design makes it ideal for frontend teams using Apollo or similar clients. It avoids REST API under-fetching and over-fetching by letting storefronts query exactly what they need. The modern architecture supports complex product structures, multi-channel selling, and custom extensions.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Saleor runs on port 8000. Place it behind a reverse proxy with HTTPS. The PostgreSQL database (port 5432), Redis (port 6379), and Celery worker should never be exposed publicly — all communicate internally within the Docker network.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    Alternatives include Medusa (Node.js, composable), WooCommerce (WordPress, PHP), Shopify (SaaS), and Commerce Layer (cloud, API-first). Choose Saleor for a GraphQL-first Python commerce engine with multi-channel support and a modern developer experience.

                    When Not to Use It

                    Avoid Saleor if your team has no Python experience — debugging and extending Saleor requires Django knowledge. Also avoid for simple stores where WooCommerce or PrestaShop would launch much faster with less infrastructure complexity.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.

                      Contact Us

                      Frequently Asked Questions

                      Why does Saleor use GraphQL instead of REST?

                      GraphQL allows storefronts to request exactly the data they need in one query, avoiding REST API problems like under-fetching (needing multiple API calls) and over-fetching (receiving unnecessary data). For complex storefronts with many data requirements, GraphQL reduces API calls significantly and improves performance.

                      What is a channel in Saleor?

                      A channel represents a sales outlet — for example, your main website, a mobile app, or a marketplace listing. Each channel can have its own currency, pricing, product availability, and order settings. This allows one Saleor instance to power multiple storefronts with different configurations.

                      Does Saleor include a storefront?

                      No — Saleor is a headless commerce engine. The storefront must be built separately. Saleor provides an official React storefront starter on GitHub built with Next.js that you can use as a starting point. Saleor also has a companion React admin dashboard that is self-hosted separately.

                      What payment providers does Saleor support?

                      Saleor uses a Saleor Apps system for payment integrations. Official payment apps exist for Stripe, Adyen, Braintree, and others. Install a payment app by deploying it as a separate service and registering it in the Saleor dashboard. Custom payment apps can be built following the Saleor App API.

                      How complex can product attributes be in Saleor?

                      Saleor supports highly complex product structures. Define product types with any combination of attributes (color, size, material, custom fields). Products can have multiple variants based on attribute combinations. Attributes support various types: text, numeric, boolean, date, file, and referenced objects like other products.

                      Does Saleor support multi-language content?

                      Yes. Saleor has built-in translation support. In the dashboard, translate product names, descriptions, categories, and other content into multiple languages. The API returns translations based on the requested language code in the query.

                      What is the Saleor Apps system?

                      Saleor Apps are external microservices that extend Saleor's functionality via webhooks and a permissions API. They can add payment gateways, tax calculations, fulfillment services, and more. Apps are registered in the Saleor dashboard and communicate with Saleor via its API.

                      How do I upgrade Saleor?

                      Pull the new Saleor Docker image, review the changelog for migration instructions, stop the containers, run database migrations with python manage.py migrate inside the container, then restart. Always test upgrades in a staging environment first, especially for major version changes.