Back to Apps
Saleor

Deploy Saleor on Your Own Server

An open-source, GraphQL-first e-commerce platform delivering ultra-fast, dynamic and personalized shopping experiences

πŸ“¦ Other

Want to deploy Saleor on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Saleor?

Saleor is an open-source ecosystem for building rich e-commerce experiences. Its centerpiece is Saleor GraphQL API that processes complex online store logic. **You will need access to your server via SSH to perform some commands after deployment. This needs to be done only once.**

Learn more

Self-Host Saleor

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

Core
Dashboard
Database
Cache
Mail
Security
3

Deploy

Copy the configuration and run it on your server.

services:
  saleor:
    image: ghcr.io/saleor/saleor-dashboard:3.12.1
    environment:
      API_URL: http://saleor-api.your-domain.com/graphql/
  saleor-api:
    image: ghcr.io/saleor/saleor:3.12.5
    environment:
      ALLOWED_CLIENT_HOSTS: saleor-api.your-domain.com
      ALLOWED_HOSTS: saleor-api.your-domain.com
      CELERY_BROKER_URL: redis://saleor-cache
      DASHBOARD_URL: http://saleor.your-domain.com
      DATABASE_URL: postgresql://saleor:082352f6e0f4b659@saleor-db/saleor
      DEFAULT_CHANNEL_SLUG: default-channel
      DEFAULT_FROM_EMAIL: noreply@example.com
      ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL: "False"
      SECRET_KEY: 18179272c2efa9b8
    volumes:
      - saleor-media:/app/media
    depends_on:
      - saleor-db
      - saleor-cache
  saleor-cache:
    image: redis:7.0-alpine
    volumes:
      - saleor-cache:/data
  saleor-db:
    image: postgres:15.0-alpine
    environment:
      POSTGRES_DB: saleor
      POSTGRES_PASSWORD: 082352f6e0f4b659
      POSTGRES_USER: saleor
    volumes:
      - saleor-db:/var/lib/postgresql/data
  saleor-worker:
    environment:
      ALLOWED_CLIENT_HOSTS: saleor-api.your-domain.com
      ALLOWED_HOSTS: saleor-api.your-domain.com
      CELERY_BROKER_URL: redis://saleor-cache
      DATABASE_URL: postgresql://saleor:082352f6e0f4b659@saleor-db/saleor
      DEFAULT_CHANNEL_SLUG: default-channel
      DEFAULT_FROM_EMAIL: noreply@example.com
      ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL: "False"
      SECRET_KEY: 18179272c2efa9b8
    volumes:
      - saleor-media:/app/media
    depends_on:
      - saleor-cache
volumes:
  saleor-media: {}
  saleor-cache: {}
  saleor-db: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:80

Why Self-Host Saleor?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

ghcr.io/saleor/saleor-dashboard:${SALEOR_DASHBOARD_VERSION}

Official Docs

saleor.io

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"