Install Venia sample data

The Venia storefront looks best when running against a Magento 2 backend with the Venia sample data installed.

The builpack create-env-file command defaults to the URL for a Magento 2 cloud instance that has the Venia sample data installed, so setting up a Magento 2 instance and installing sample data into it is now an optional step.

Follow the instructions on this page to install the Venia sample data into your Magento 2 development instance.


  • PHP 7.1.3+
  • System access to a Magento 2 instance

If you have the previous magento2-sample-data module installed, you need to remove the sample data modules and re-install Magento with a clean database.

Step 1. Copy or create the deploy script

If you have cloned the PWA Studio repository into the same machine as your Magento instance, copy over the following PWA Studio file into the root directory of your Magento instance:


If you do not have access to the PWA Studio repository, copy the following content into a file in the root directory of your Magento instance:

Show content for

#!/usr/bin/env bash add_composer_repository () { name=$1 type=$2 url=$3 echo "adding composer repository ${url}" ${composer} config ${composerParams} repositories.${name} ${type} ${url} } add_venia_sample_data_repository () { name=$1 add_composer_repository ${name} github "${githubBaseUrl}/${name}.git" } execute_install () { composer='/usr/bin/env composer' composerParams='--no-interaction --ansi' moduleVendor='magento' moduleList=( module-catalog-sample-data-venia module-configurable-sample-data-venia module-customer-sample-data-venia module-sales-sample-data-venia module-tax-sample-data-venia sample-data-media-venia ) githubBaseUrl='' cd $install_path for moduleName in "${moduleList[@]}" do add_venia_sample_data_repository ${moduleName} done ${composer} require ${composerParams} $(printf "${moduleVendor}/%s:dev-master@dev " "${moduleList[@]}") } skip_interactive=0 install_path=./ while test $# -gt 0; do case "$1" in --help) echo "Magento 2 Venia Sample data script install." echo "if no options are passed, it will start interactive mode and ask for your Magento absolute path" echo "" echo "Usage:" echo " [options]" echo "Options:" echo " --help Displays this!" echo " --yes Skip interactive mode and installs data" echo " --path your Magento 2 absolute path, otherwise will install in current directory." echo "" exit 0 ;; --yes) skip_interactive=1 shift ;; --path*) if test $# -gt 0; then install_path=`echo $1 | sed -e 's/^[^=]*=//g'` fi shift ;; *) break ;; esac done if [ "$skip_interactive" == 1 ]; then echo "Skipping interactive mode.." echo "Install path ${install_path}" execute_install else echo "Please specify absolute path to your Magento 2 instance" read -p 'Magento root folder: ' install_path echo "Sample data will be installed there." echo "" read -p "Are you sure you want to continue? [y/n]" yn case $yn in y ) execute_install ;; n ) echo "Sample Data installation failed." exit 0 ;; * ) echo "Exiting..." exit 1 ;; esac fi

Step 2. Execute the deploy script

Execute the script in the root directory of your Magento instance to add the Venia sample data modules to Magento:


Step 3. Install the sample data modules

Run the following command in the Magento root directory to install the Venia data from the modules:

bin/magento setup:upgrade

Step 4. Reindex the new data

Run the following command in the Magento root directory to reindex the data from the modules:

bin/magento indexer:reindex

Step 5. Verify installation

Log into the Admin section or visit the store of your Magento instance to verify the sample data installation.