How to Install Spryker Commerce OS: A Complete Step-by-Step Guide

Spryker Commerce OS is a powerful, headless, and modular e-commerce platform for building scalable and customisable solutions. Whether you’re building a custom B2B/B2C marketplace or experimenting with a demo shop, Spryker gives you the flexibility to scale and innovate. Running Spryker in development mode is the best way to explore, prototype, and customize features as a developer.

This guide will walk you through installing Spryker in development mode on macOS and Linux using Docker.

Prerequisites

Before you begin, ensure the following tools are installed:

ToolmacOS CommandLinux (Ubuntu/Debian) Command
DockerInstall Dockersudo apt install docker.io
Docker ComposeIncluded with Docker Desktopsudo apt install docker-compose
Gitbrew install gitsudo apt install git
Node.js & npmbrew install nodesudo apt install nodejs npm
Composergetcomposer.orggetcomposer.org

For Linux:
Add your user to the Docker group to avoid using sudo every time:

sudo usermod -aG docker $USER
newgrp docker

Then log out and log back in or reboot your machine.

Step 1: Clone the Spryker Demo Shop

Spryker provides a full B2C demo shop with modules, data, and frontend:

git clone https://github.com/spryker-shop/b2c-demo-shop.git
cd b2c-demo-shop

Step 2: Clone the Docker SDK

Clone the Docker SDK

Install it globally using Composer:

git clone https://github.com/spryker/docker-sdk.git --single-branch docker

Step 3: Configure and start the instance

Bootstrap the local docker setup::

docker/sdk bootstrap deploy.dev.yml

Step 4: Start Docker Services

Build and start the instance:

docker/sdk up

This will start all necessary containers for PHP, MySQL, Redis, Elasticsearch, RabbitMQ, etc.

Step 5: Add Domains to Hosts File

Edit your /etc/hosts file on macOS or Linux:

sudo nano /etc/hosts

Add these lines:

127.0.0.1 backend-api.eu.spryker.local
127.0.0.1 backend-api.us.spryker.local
127.0.0.1 backend-gateway.eu.spryker.local
127.0.0.1 backend-gateway.us.spryker.local
127.0.0.1 backoffice.eu.spryker.local
127.0.0.1 backoffice.us.spryker.local
127.0.0.1 date-time-configurator-example.spryker.local
127.0.0.1 glue-backend.eu.spryker.local
127.0.0.1 glue-backend.us.spryker.local
127.0.0.1 glue-storefront.eu.spryker.local
127.0.0.1 glue-storefront.us.spryker.local
127.0.0.1 glue.eu.spryker.local
127.0.0.1 glue.us.spryker.local
127.0.0.1 mail.spryker.local
127.0.0.1 mp.eu.spryker.local
127.0.0.1 mp.us.spryker.local
127.0.0.1 queue.spryker.local
127.0.0.1 scheduler.spryker.local
127.0.0.1 spryker.local
127.0.0.1 swagger.spryker.local
127.0.0.1 yves.eu.spryker.local
127.0.0.1 yves.us.spryker.local

Save and exit (Ctrl + O, then Enter, then Ctrl + X). I have included these URLs because I’m using the default deployment configuration. If you want to set it up for a specific store only, you can modify the .yml file accordingly to suit your store-specific needs.

Step 6: Build and start the instance

docker/sdk up

Depending on the hardware performance, the first project launch can take up to 20 minutes.

Step 7: Open the Storefront and Backoffice

To see the storefront, backoffice, rabbitmq, jenkins & redis urls open your browser and navigate to http://spryker.local/.

Backoffice Admin Login:

The default credentials to access the Back Office are located inside /src/Pyz/Zed/User/UserConfig.php.

Email:    admin@spryker.com
Password: change123

RabbitMq Login:

To access RabbitMQ UI, use spryker as a username and secret as a password. You can adjust the credentials in deploy.yml.

Username: spryker
Password: secret

For a more in-depth guide or additional configuration options, you can refer to the official Spryker documentation: Install Spryker – Official Guide

With your Spryker environment now set up, you’re ready to start building powerful, modular e-commerce solutions. Happy coding!

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top