
Deploy Saleor on Your Own Server
An open-source, GraphQL-first e-commerce platform delivering ultra-fast, dynamic and personalized shopping experiences
Want to deploy Saleor on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
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.**
Self-Host Saleor
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
Core
Dashboard
Database
Cache
Security
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
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.ioWant 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)"