This approach is deprecated and will be replaced by a Flex PaaS recipe. See docs
This template builds Shopware PaaS using Composer. To get started on PaaS, please visit https://developer.shopware.com/docs/products/paas
The first time the site is deployed, Shopware's command line installer will run and initialize Shopware. It will not run again unless the installer/installed
is removed. (Do not remove that file unless you want the installer to run on the next deploy!)
The installer will create an administrator account with username/password admin
/shopware
. You need to change this password immediately. Not doing so is a security risk.
As the theme assets are generated in the build hook and cannot be changed in runtime, we need to dump the theme configuration and run a second deployment to have theme assets build. See Stateless Builds section for this
This project is built on the shopware/production repo. All plugins MUST be installed through Composer. The in-browser plugin manager will not work as the disk is read-only.
The following changes have been made relative to a plain Shopware production project. If using this project as a reference for your own existing project, replicate the changes below to your project.
.platform.app.yaml
, .platform/services.yaml
, and .platform/routes.yaml
files have been added. These provide PaaS-specific configuration and are present in all projects on PaaS. You may customize them as you see fit.platformsh/symfonyflex-bridge
, has been added. It is a bridge library which connects Symfony Flex-based application to PaaS.platformsh-env.php
file will map PaaS environment variables to the enviroment variables expected by Shopware. It is auto-included from composer.json
as part of the autoload process.config/packages/framework.yaml
config/packages/shopware.yaml
has been updated to disable auto updateconfig/packages/shopware.yaml
has been updated to disable the admin worker (a message consumer is started instead, see the workers
section in .platform.app.yaml
)This build uses "Building without Database".
To support the stateless build for the theme, the theme-config is checked into git for it being available during the build process (an alternative is to store it on an external object storage).
To update the config
IMPORTANT: You have to run this once after the first install, otherwise the Frontend will not load css/js files correctly.
platform ssh -A app 'bin/console theme:dump'
(this will generate new config files in files/theme config)platform mount:download --mount 'files' --target 'files' -A app
git add files/theme-config
, git commit -m 'update theme config'
)git push
).platform/services.yaml
.platform.app.yaml
SHOPWARE_ES_HOSTS
, SHOPWARE_ES_INDEXING_ENABLED
and SHOPWARE_ES_INDEX_PREFIX
are set in platformsh-env.php
.SHOPWARE_ES_ENABLED
(either uncomment in platformsh-env.php
or add as a variable
).platform/services.yaml
.platform.app.yaml
shopware-queue
and a messages
exchange. To do this you can e.g. use the platform CLI to open a tunnel (ssh -L 15672:rabbitmqqueue.internal:15672 $(platform ssh --pipe -A app)
) and open the UI via http://localhost:15672/
. You can get the credentials via platform relationships
. RABBITMQ_URL
is set in platformsh-env.php
.composer require enqueue/amqp-bunny
config/packages/enqueue.yaml
FASTLY_API_TOKEN
and FASTLY_SERVICE_ID
are set in the environment or contact Support when its missing..platform.app.yaml
by removing hashtag before mv config/packages/fastly.yaml.dist config/packages/fastly.yaml