Installation for macOS


Before you are ready to run Saleor you will need additional software installed on your computer.


Version 10 or later is required. Download the macOS installer from the Node.js downloads page.


Saleor needs PostgreSQL version 9.4 or above to work. Get the macOS installer from the PostgreSQL download page.

Command Line Tools for Xcode

Download and install the latest version of “Command Line Tools (macOS 10.x) for Xcode 9.x” from the Downloads for Apple Developers page.

Then run:

$ xcode-select --install


Run the following command:

$ /usr/bin/ruby -e "$(curl -fsSL"

Python 3

Use Homebrew to install the latest version of Python 3:

$ brew install python3


Use Homebrew to install Git:

$ brew install git


Use Homebrew to install the graphical libraries necessary for PDF creation:

$ brew install cairo pango gdk-pixbuf libffi


  1. Clone the repository (or use your own fork):

    $ git clone
  2. Enter the directory:

    $ cd saleor/
  3. Install all dependencies:

    We strongly recommend creating a virtual environment before installing any Python packages.

    $ pip install -r requirements.txt
  4. Set SECRET_KEY environment variable.

    We try to provide usable default values for all of the settings. We’ve decided not to provide a default for SECRET_KEY as we fear someone would inevitably ship a project with the default value left in code.

    $ export SECRET_KEY='<mysecretkey>'


    Secret key should be a unique string only your team knows. Running code with a known SECRET_KEY defeats many of Django’s security protections, and can lead to privilege escalation and remote code execution vulnerabilities. Consult Django’s documentation for details.

  5. Create a PostgreSQL user:

    Unless configured otherwise the store will use saleor as both username and password. Remember to give your user the SUPERUSER privilege so it can create databases and database extensions.

    $ createuser --superuser --pwprompt saleor

    Enter saleor when prompted for password.

  6. Create a PostgreSQL database:

    Unless configured otherwise the store will use saleor as the database name.

    $ createdb saleor
  7. Prepare the database:

    $ python migrate


    This command will need to be able to create database extensions. If you get an error related to the CREATE EXTENSION command please review the notes from the user creation step.

  8. Install front-end dependencies:

    $ npm install


    If this step fails go back and make sure you’re using new enough version of Node.js.

  9. Prepare front-end assets:

    $ npm run build-assets
  10. Compile e-mails:

    $ npm run build-emails
  11. Start the development server:

    $ python runserver