Skip to content

Dockware

Dockware is basically a managed Docker setup for Shopware 6. It makes it possible to start Shopware 6 very quickly using dockware.io. It comes with everything you need for a smooth development workflow. This includes all available Shopware 6 versions, MySQL, Adminer, Mailcatcher, easy PHP switching, XDebug, useful make commands, and more.

INFO

Dockware is maintained by dasistweb GmbH. They provide detailed documentation as well. This way, we will cover just the basics here. For support please refer to Dockware GitHub.

Dockware versions

Dockware images come in several versions, so you can choose the one which fits your needs best. You can find a brief overview below, but as always, please refer to their website for a detailed comparison.

ImageDescriptionBasis
dockware #playLaunch Shopware in just a couple of seconds locally on your system. Test every functionality and play around while verifying your requirements.Production
dockware #devThis is the solution for instant coding. Run Shopware 6, prepare your IDE and immediately start with your own customizations and plugins. Provides Xdebug, watchers or more.Production
dockware #contributeThis image supports Shopware 6 modification to contribute to the official Shopware 6 Github platform. Contains all dev tools and the already installed demo data.development
dockware #essentialsThis is a plain Dockware environment without Shopware.---
dockware #flexThis provides a flexible Apache and PHP container for all kinds of Symfony and Shopware projects. It is an image for individualization, e.g., you can manage the Shopware version on your own.---

Quickstart

First things first, install Docker on your local machine.

With this, you are almost ready to start, but you just need to use the following command on your host system to get it going:

bash
# quick run with latest PHP and Shopware
$ docker run --rm -p 80:80 dockware/dev:latest

DANGER

Beware that this is meant for a quick start. The parameter --rm will throw everything away. If the container is stopped, the whole database etc., will be gone. So if you want a persistent solution, head over to the "Using docker-compose" paragraph.

This command will install Dockware #dev version, which is based on Production template. If you want to use development template, you need to use #contribute version. As soon as the docker image is downloaded and Dockware is ready, you will see this text:

bash
SUCCESS - Shopware is now ready!
-----------------------------------------------------
SHOP URL: http://localhost
ADMIN URL: http://localhost/admin
ADMINER URL: http://localhost/adminer.php
MAILCATCHER URL: http://localhost/mailcatcher

Further ways to start

You can start the Dockware image with different shopware versions:

bash
docker run --rm -p 80:80 --env PHP_VERSION=7.2 dockware/dev:latest

Using docker-compose

Create docker-compose.yml

Create a new docker-compose.yml in the folder where you want to start your project and use our template below.

Dockware does already come with an installed Shopware 6. You can change the Shopware version along with the PHP version in your compose file.

Here is an overview of what versions are available: https://hub.docker.com/r/dockware/dev

yaml
version: "3"

services:

    shopware:
      # use either tag "latest" or any other version like "6.5.3.0", ...
      image: dockware/dev:latest
      container_name: shopware
      ports:
         - "80:80"
         - "3306:3306"
         - "22:22"
         - "8888:8888"
         - "9999:9999"
      volumes:
         - "db_volume:/var/lib/mysql"
         - "shop_volume:/var/www/html"
      networks:
         - web
      environment:
         # default = 0, recommended to be OFF for frontend devs
         - XDEBUG_ENABLED=1
         # default = latest PHP, optional = specific version
         - PHP_VERSION=8.1

volumes:
  db_volume:
    driver: local
  shop_volume:
    driver: local

networks:
  web:
    external: false

Start Docker

Open the folder with your compose file in your terminal and execute this command to start your container:

bash
docker-compose up -d

Prepare development

Now download the current version of Shopware to your host into the "src" directory.

This is required to have code completion and IntelliSense right in your IDE.

bash
mkdir -p ./src
docker cp shopware:/var/www/html/. ./src

Prepare IDE

Open the "src" folder with your preferred IDE and wait until it finishes loading. Then add a new SFTP connection to your container. (we recommend Automatic-Upload if possible)

Now you are done and ready to develop your own plugins and projects.

INFO

Default credentials for Dockware can be found at https://docs.dockware.io/use-dockware/default-credentials

Next steps

You might want to start writing your very own plugin. Head over to "Plugin base guide" to get a grip on that topic.

INFO

Refer to this video on Using Dockware that explains the basics of Dockware. Also available on our free online training "Shopware 6 Backend Development".