Diese Seite ist auch auf Deutsch verfügbar. Zur deutschen Seite wechseln

Installing Shopware 6 for extension development

Overview

When it comes to installing a Shopware 6 for extension development, there are multiple ways to get a running instance.

In this post, you will learn about the different methods, their differences, and how to find the right way for you. It is an extension of the video you see below, which you should watch as an introduction to the topic.

All things that are shown to you here are also explained in full detail in our documentation. So if you only need step-by-step instructions and don't care or already know about what's behind a Shopware 6 dev setup: Go directly to the system installation guides.

Video

Prerequisites

There are no prerequisites at this point. You are expected to read through this article, decide which way you want to install Shopware 6, and then follow the documentation for the way you've chosen.

This blog entry serves as an overview and a helper for decision making. It is not a full tutorial.

Installing via docker

This is the recommended way since it is the way most core developers at Shopware use to install their environment. This means it is always up-to-date and brings all the tools you will need - and a lot more you probably don't.

Is it for me?

Yes, if:

  • You are using Linux
    • Alternatively: You can do this in a virtual machine running Linux on whatever OS.
  • You know how to use a shell
  • You have used docker in the past
  • You know how to use git

Go to "Installing via docker" in the documentation.

Installing bare metal (Local installation)

This way gives you the most control. You are installing Shopware 6 in an existing environment you set up yourself.

The drawback is: You have to set up the environment yourself.

One special note here about Windows systems: Because of path length restrictions in Windows, you might run into issues. Consider using WSL.

Is it for me?

Yes, if:

Go to "Local installation" in the documentation and look out for "preparation" at the top of the page.
Also, take a look at the system requirements.

Installing bare metal on MacOS (Local installation)

This will obviously only work if you're using a device made by Apple and running macOS. It is still a bare-metal version of the installation, but a lot of the heavy lifting is already done by either MAMP or Valet+.

The benefit here is: You don't have to deal with virtualization or docker, but you don't have to set up a web server and database manually either.

The decision between MAMP and Valet+ is mostly about taste. If you already know one of these, use it. If not, use MAMP.

Is it for me?

Yes, if:

  • You are running MacOS
  • You are confident in interacting with your Mac through a terminal
  • You know how to use brew

Go to "MAMP installation" in the documentation or go to "Valet+ installation" in the documentation

Installing with Vagrant

Vagrant is a "one size fit's all" solution. It uses Virtualbox to spawn a virtual Linux PC on your machine and you interact with the Shopware 6 source files through SCP.

It's basically the same as if someone created a pre-configured server somewhere on the web and handed you the credentials for the SCP connection. Although it is a bit like a blackbox, the benefits here are that it runs on any operating system that can run vagrant/virtualbox and is extremely easy to set up. Any customization is rather difficult, which means for most people: either use it as-is, or don't use it.

Is it for me?

Yes, if:

  • Your preferred IDE can deal with SCP
  • Your computer is capable of running a Virtualbox virtual machine
  • You don't care about installation details and just want to get started

Go to "Vagrant installation" in the documentation

Installing with Dockware

The gist* of dockware is: "I want to use docker, but it should feel like a vagrant setup."
There is actually a good reason for this: Docker is way more lightweight since it doesn't emulate a separate PC. And the default docker setup from Shopware uses bind-mounts, which perform very poorly on some operating systems.

So with Dockware you get a blackbox that is created and maintained by a third party, namely the Shopware agency dasistweb. The benefit is, you just need docker and an SCP-capable IDE and you're good to go. As with vagrant, any customization is rather difficult.

* (this is the opinion of the author of this article, not the slogan of the project)

Is it for me?

Yes, if:

  • You know how to install and use docker-compose
  • You don't want to use vagrant
  • Your IDE knows SCP (see vagrant installation above)
  • You're not shy of writing a docker-compose.yml file

Go to "Dockware installation" in the documentation

What's next?

After installing Shopware 6 and starting with the development of your extension you might have some further questions. The fastest way to get in contact with other community members is by joining our community slack!

Newsletter

Never miss out - get all the latest news sent straight to your inbox.