Spryker project boilerplate

Build Status Minimum PHP Version

License: MIT

Vagrant Installation

In order to install the application boilerplate on your machine, you can follow the instructions described in the link below:

For DevVM based installation instructions, see About the Installation Guides.

If you encounter any issues during or after the installation, see Troubleshooting article.

Docker installation

Docker installation

For detailed installation instructions of Spryker in Docker, see Getting Started with Docker.

For troubleshooting of Docker based instances, see Troubleshooting.

Prerequisites

For the installation prerequisites, see Docker Installation Prerequisites.

Recommended system requirements for MacOS:

Macbook type vCPU RAM
15' 4 6GB
13' 2 4GB

Installation

Run the commands:

mkdir project-boilerplate && cd project-boilerplate
git clone git@github.com:spryker/project-boilerplate.git .
git clone git@github.com:spryker/docker-sdk.git docker

Production-like environment

  1. Run the following commands right after cloning the repository:
docker/sdk boot -s
docker/sdk up
  1. Git checkout with assets and importing data:
git checkout your_branch
git submodule update --init --force docker && docker/sdk boot -s

docker/sdk up --assets --data

Optional up command arguments:

  • --assets - build assets
  • --data - get new demo data
  1. Light git checkout:
git checkout your_branch
git submodule update --init --force docker && docker/sdk boot -s

docker/sdk up
  1. Reload all the data:
docker/sdk clean-data && docker/sdk up && docker/sdk console q:w:s -v -s

Developer environment

  1. Run the commands right after cloning the repository:
docker/sdk boot deploy.dev.yml
docker/sdk up
  1. Git checkout:
git checkout your_branch
git submodule update --init --force docker && docker/sdk boot -s deploy.dev.yml

docker/sdk up --build --assets --data

Optional up command arguments:

  • --build - update composer, generate transfer objects, etc.
  • --assets - build assets
  • --data - get new demo data
  1. If you get unexpected application behavior or unexpected errors:

    1. Run the command:
    git status
    1. If there are unnecessary untracked files (red ones), remove them.

    2. Restrart file sync and re-build the codebase:

    docker/sdk trouble
    rm -rf ./docker && git submodule update --init --force docker && docker/sdk boot deploy.dev.yml
    docker/sdk up --build --assets
  2. If you do not see the expected demo data on the Storefront:

    1. Check the queue broker and wait until all queues are empty.

    2. If the queue is empty but the issue persists, reload the demo data:

    docker/sdk trouble
    rm -rf ./docker && git submodule update --init --force docker && docker/sdk boot deploy.dev.yml
    
    docker/sdk up --build --assets --data

Troubleshooting

No data on Storefront

Use the following services to check the status of queues and jobs:

  • queue.spryker.local
  • scheduler.spryker.local

Fail whale

  1. Run the command:
docker/sdk logs
  1. Add several returns to mark the line you started from.
  2. Open the page with the error.
  3. Check the logs.

MacOS and Windows - files synchronization issues in Development mode

  1. Follow sync logs:
docker/sdk sync logs
  1. Hard reset:
docker/sdk trouble && rm -rf vendor && rm -rf src/Generated && docker/sdk sync && docker/sdk up

Errors

ERROR: remove spryker_logs: volume is in use - [{container_hash}]

  1. Run the command:
docker rm -f {container_hash}
  1. Repeat the failed command.

Error response from daemon: OCI runtime create failed: .... \\\"no such file or directory\\\"\"": unknown.

Repeat the failed command.