Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/scripts/docs-after-clone.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#! /usr/bin/env bash
set -e

[[ -z "$1" ]] && echo "Missing working directory argument" && exit 1

echo "Migrating structure"
sh ./.github/scripts/migrate-multi-product.sh
25 changes: 25 additions & 0 deletions .github/scripts/migrate-multi-product.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#! /usr/bin/env bash
set -e

mv concepts/translations concepts/framework/translations || echo "Concepts > Translations already migrated"

mkdir products/tools || echo "Product > Tools already created"
mv products/cli products/tools/cli || echo "Products > CLI already migrated"

mkdir products/frontends || echo "Products > Frontends already created"
mv products/digital-sales-rooms products/frontends/digital-sales-rooms || echo "DSR already migrated"
mv products/sales-agent products/frontends/sales-agent || echo "Sales agent already migrated"

mkdir products/services || echo "Products > Services already created"
mv products/Nexus products/services/nexus || echo "Nexus already migrated"
touch products/services/shopware-payments.md || echo "Payments already created"
touch products/services/shopware-analytics.md || echo "Analytics already created"
touch products/services/shopware-intelligence.md || echo "Intelligence already created"

mkdir products/environments || echo "Products > Environments already created"
mv products/paas products/environments/paas || echo "PaaS already migrated"
mv products/saas.md products/environments/saas.md || echo "SaaS already migrated"

touch products/tools/mcp.md
touch products/environments/local.md
touch products/environments/ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ When loading translations, the system follows a defined priority order to resolv
look at its documentation.
3. Country-agnostic translations (`en` and `de`) – These are shipped with Shopware and its plugins. They ensure that the
system always has a reliable fallback language and provide a consistent developer experience without requiring you
to wait until your translations are accepted at [translate.shopware.com](https://crowdin.com/project/shopware6). For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](./../../concepts/translations/fallback-language-selection).
to wait until your translations are accepted at [translate.shopware.com](https://crowdin.com/project/shopware6). For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](./fallback-language-selection).
4. Built-in translation system – Finally, the translations installed via the built-in translation system are applied.

## Built-in translation system and Flysystem
Expand Down Expand Up @@ -225,5 +225,4 @@ configuration details loaded from the `translation.yaml` file.
You can require it via dependency injection and because of the usage of the `TranslationConfigLoader` with lazy loading,
the configuration is always available when needed.

[migration-guide]: ../../resources/references/upgrades/core/translation/language-pack-migration.md
[language-layer-docs]: TODO
[migration-guide]: ../../../guides/upgrades-migrations/language-pack-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ The command supports several options:

## Implementation guidelines for extension developers

For detailed instructions, see the [Extension Translation Migration](./../../resources/references/upgrades/core/translation/extension-translation) guide. In short:
For detailed instructions, see the [Extension Translation Migration](../../../guides/upgrades-migrations/extension-translation) guide. In short:

- **Create a complete base file** (`messages.<language>.base.json`) for each supported language.
- **Add patch files only when needed** – keep them minimal.
Expand All @@ -62,4 +62,4 @@ For detailed instructions, see the [Extension Translation Migration](./../../res
## Conclusion

The country-independent snippet layer streamlines translation maintenance by consolidating common strings into a neutral fallback file and isolating regional vocabulary into small patch files.
For further examples, refer to [Built-in Translation Handling](./built-in-translation-system) and [Extension Translation Migration](./../../resources/references/upgrades/core/translation/extension-translation).
For further examples, refer to [Built-in Translation Handling](./built-in-translation-system) and [Extension Translation Migration](../../../guides/upgrades-migrations/extension-translation).
6 changes: 3 additions & 3 deletions guides/installation/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
nav:
title: Shopware 6 Installation
title: Installation
position: 1
---

# Overview of Shopware 6 Community Edition Installation

:::info
The recommended way for developers to build Shopware is with the Docker setup, made simple as of **March 2026** with a [Shopware CLI](./../../products/cli/index.md) installation path. Docker provides a consistent, production-like environment for development. Previous installation methods are available in the [Legacy Setups](./legacy-setups/index.md) section.
The recommended way for developers to build Shopware is with the Docker setup, made simple as of **March 2026** with a [Shopware CLI](../../products/tools/cli/index.md) installation path. Docker provides a consistent, production-like environment for development. Previous installation methods are available in the [Legacy Setups](./legacy-setups/index.md) section.
:::

Welcome to the Installation Guide for Shopware 6 Community Edition (CE)! This guide will help you set up a local Shopware 6 development environment, whether you’re:
Expand All @@ -27,7 +27,7 @@ Docker enables production-like conditions consistent across teams and CI/CD, and
## Prerequisites

- [Hardware requirements](./system-requirements.md): Ensure your system meets them (PHP, DB, memory, and so on) before you install
- [Shopware CLI](./../../products/cli/index.md)
- [Shopware CLI](../../products/tools/cli/index.md)
- Docker installed (recommended)

:::info
Expand Down
Empty file added products/environments/ci.md
Empty file.
Empty file added products/environments/local.md
Empty file.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ We encourage you to look at our [self-onboarding guide](https://docs.blackfire.i

We recommend you install the [Firefox Blackfire extension](https://addons.mozilla.org/en-US/firefox/addon/blackfire/) or the [Chrome Blackfire extension](https://chromewebstore.google.com/detail/blackfire-profiler/miefikpgahefdbcgoiicnmpbeeomffld?hl=en) so you can trigger profiles of targeted transactions or group of transactions.

![Blackfire profile](../../../assets/blackfire-profile.png)
![Blackfire profile](../../../../assets/blackfire-profile.png)
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Make sure to replace `%place your key here%` with your actual token. You can fin

## Extending Shopware - plugins and apps

The PaaS recipe uses the [Composer plugin loader](../../../guides/hosting/installation-updates/cluster-setup#composer-plugin-loader), which expects all extensions being installed via Composer.
The PaaS recipe uses the [Composer plugin loader](../../../../guides/hosting/installation-updates/cluster-setup#composer-plugin-loader), which expects all extensions being installed via Composer.

## Manually trigger rebuilds

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ relationships:

## Configure instance

Follow the setup and indexing steps to prepare your instance as described in the [setup Elasticsearch](../../../guides/hosting/infrastructure/elasticsearch/elasticsearch-setup#prepare-shopware-for-elasticsearch).
Follow the setup and indexing steps to prepare your instance as described in the [setup Elasticsearch](../../../../guides/hosting/infrastructure/elasticsearch/elasticsearch-setup#prepare-shopware-for-elasticsearch).

After that, the following environment variables are provided by the Composer package `shopware/paas-meta:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This guide explains the repository setup using **GitHub**. You can also integrat

## Create a Shopware project

Firstly, create a new project with `composer create-project shopware/production <folder-name>` using the [Symfony Flex](../../../guides/installation/template.md) template.
Firstly, create a new project with `composer create-project shopware/production <folder-name>` using the [Symfony Flex](../../../../guides/installation/legacy-setups/symfony-cli-setup.md#create-a-new-project) template.

This will create a brand new Shopware 6 project in the given folder. Now, change it into the newly created project and require the PaaS configuration with `composer req paas`.

Expand Down Expand Up @@ -77,7 +77,7 @@ shopware <paas-url>.git (push)

## Migrating from the old template to the new template

If you have already used the [Shopware PaaS old template](https://github.com/shopwareArchive/paas), please follow the guide to [migrate it to the new structure](../../../guides/installation/template#how-to-migrate-from-production-template-to-symfony-flex).
If you have already used the [Shopware PaaS old template](https://github.com/shopwareArchive/paas), please follow the guide to [migrate it to the new structure](../../../../products/tools/cli/project-commands/autofix.md#migrate-a-project-to-symfony-flex).

The following tasks have to be done additionally to the flex migration:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ In our template there are 4 different services enabled by default:

## [files / theme-config](https://github.com/shopware/recipes/tree/main/shopware/paas-meta/6.4/files/theme-config)

We suggest checking in your theme configuration to version control in this directory. Read more on the concept of [builds without database](../../../guides/hosting/installation-updates/deployments/build-w-o-db).
We suggest checking in your theme configuration to version control in this directory. Read more on the concept of [builds without database](../../../../guides/hosting/installation-updates/deployments/build-w-o-db).

## Automatic Environment Variables

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,11 @@ Yes. Deployments are designed to be zero downtime and use Kubernetes rolling upd

## In what order do deployment steps run?

Database migrations run first. After that, the remaining deployment flow is handled by the [deployment helper](../../../guides/hosting/installation-updates/deployments/deployment-helper#execution-flow).
Database migrations run first. After that, the remaining deployment flow is handled by the [deployment helper](../../../../guides/hosting/installation-updates/deployments/deployment-helper#execution-flow).

## Can I configure pre-deployment and post-deployment hooks?

Yes. Use the [deployment helper](../../../guides/hosting/installation-updates/deployments/deployment-helper#configuration) to define deployment hooks.
Yes. Use the [deployment helper](../../../../guides/hosting/installation-updates/deployments/deployment-helper#configuration) to define deployment hooks.

## Can I automate deployments from CI/CD?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ This command initiates the build process, waits until it's done, and runs the de

Deployments are designed to be zero downtime and use Kubernetes rolling updates.

During deployment, database migrations run first. After that, the remaining deployment flow is handled by the [deployment helper](../../../../guides/hosting/installation-updates/deployments/deployment-helper#execution-flow).
During deployment, database migrations run first. After that, the remaining deployment flow is handled by the [deployment helper](../../../../../guides/hosting/installation-updates/deployments/deployment-helper#execution-flow).

This works well for regular Shopware deployments because breaking database changes are expected only during major Shopware upgrades. When upgrading across major versions, make sure your deployment remains backward compatible throughout the rollout.

Pre-deployment and post-deployment hooks are supported through the [deployment helper configuration](../../../../guides/hosting/installation-updates/deployments/deployment-helper#configuration).
Pre-deployment and post-deployment hooks are supported through the [deployment helper configuration](../../../../../guides/hosting/installation-updates/deployments/deployment-helper#configuration).

Automated deployments from CI/CD are supported. The CLI can run in non-interactive mode and supports machine-to-machine authentication with tokens.

Expand Down Expand Up @@ -103,7 +103,7 @@ sw-paas application deploy get

## Plugin Management

Plugin management is done [via Composer](../../../../guides/hosting/installation-updates/extension-management#installing-extensions-with-composer) because the platform runs in a high-availability and clustered environment.
Plugin management is done [via Composer](../../../../../guides/hosting/installation-updates/extension-management#installing-extensions-with-composer) because the platform runs in a high-availability and clustered environment.

In such setups, local changes aren't feasible, as all instances must remain identical and stateless. This ensures consistency across all deployments.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ Additionally, before installation, verify that each plugin supports **S3-based s

## How to uninstall plugins

To uninstall plugins in the PaaS environment, use the [Deployment Helper](../../../../guides/hosting/installation-updates/deployments/deployment-helper#removal-of-extensions) which provides a streamlined process for extension management.
To uninstall plugins in the PaaS environment, use the [Deployment Helper](../../../../../guides/hosting/installation-updates/deployments/deployment-helper#removal-of-extensions) which provides a streamlined process for extension management.

The uninstallation process involves two steps:

1. **Set the extension to remove**: Configure the extension state as `remove` in your `.shopware-project.yml` file and deploy the changes to uninstall the extension.

2. **Remove from source code**: After the deployment, remove the extension from your source code and deploy again.

For detailed instructions and configuration examples, refer to the [Removal of extensions](../../../../guides/hosting/installation-updates/deployments/deployment-helper#removal-of-extensions) section in the Deployment Helper documentation.
For detailed instructions and configuration examples, refer to the [Removal of extensions](../../../../../guides/hosting/installation-updates/deployments/deployment-helper#removal-of-extensions) section in the Deployment Helper documentation.

## Generating the required files

Expand Down Expand Up @@ -93,4 +93,4 @@ For the full configuration reference, see the [Application YAML Configuration](.

## Hooks Configuration

Shopware PaaS Native uses the deployment helper to execute custom hooks for your application. To see how these hooks are configured, refer to the [Deployment Helper documentation](../../../../guides/hosting/installation-updates/deployments/deployment-helper#configuration).
Shopware PaaS Native uses the deployment helper to execute custom hooks for your application. To see how these hooks are configured, refer to the [Deployment Helper documentation](../../../../../guides/hosting/installation-updates/deployments/deployment-helper#configuration).
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ Applications in Shopware PaaS Native are created by default with two S3-compatib

Shopware filesystem is configured to use S3-compatible object storage by default for new applications. This storage setup is part of the platform design and should not be changed later.

You can learn more about the Shopware filesystem [here](../../../../guides/hosting/infrastructure/filesystem.md).
You can learn more about the Shopware filesystem [here](../../../../../guides/hosting/infrastructure/filesystem.md).
2 changes: 1 addition & 1 deletion products/saas.md → products/environments/saas.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ nav:

With the SaaS platform, Shopware provides updates, hosting, and infrastructure. Also, there are ways to extend it.

The [App system](../concepts/extensions/apps-concept) gives you great freedom to develop extensions for SaaS stores.
The [App system](../../concepts/extensions/apps-concept.md) gives you great freedom to develop extensions for SaaS stores.
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ https://dsr.shopware.io/de-DE - Deutsch
https://dsr.shopware.io/en-US - English (US)
```

![ ](../../../assets/setup-domain-for-sales-channel-DSR.png)
![ ](../../../../assets/setup-domain-for-sales-channel-DSR.png)

- These *Digital Sales Rooms* domains should be selected as *Available domains* in [Configuration Page - Appointments](./plugin-config.md#appointments)

![ ](../../../assets/fill-domain-into-configuration.png)
![ ](../../../../assets/fill-domain-into-configuration.png)
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ There are a lot of settings on the configuration page, but most of them are alre

Open Shopware CMS, select **Marketing** > **Digital Sales Rooms** > **Configuration**

![ ](../../../assets/products-digitalSalesRooms-configuration.png)
![ ](../../../../assets/products-digitalSalesRooms-configuration.png)

## Fill the settings

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ nav:

You can create interactive live video events for your customers straight from your Shopware website without having to switch between a presentation tool, video conferencing system, and store system. It is one sophisticated solution to highlight your products, engage your customers, and reinforce brand loyalty.

![ ](../../assets/products-digitalSalesRooms.png)
![ ](../../../assets/products-digitalSalesRooms.png)

::: warning
*Digital Sales Rooms* is a license extension and is not available as open source.
Expand All @@ -30,8 +30,8 @@ Review the below minimum operating requirements before you install the *Digital
* [node](https://nodejs.org/en) >= v18
* [pnpm](https://pnpm.io/installation) >= 8
* [Shopware Frontends framework](https://frontends.shopware.com/) based on Nuxt 3.
* Instance of [Shopware 6](../../guides/installation/) (version 6.6.0 and above).
* Recommend installing with [devenv](../../guides/installation/setups/devenv.md)
* Instance of [Shopware 6](../../../guides/installation/index.md) (version 6.6.0 and above).
* Recommend installing with [devenv](../../../guides/installation/legacy-setups/devenv-setup.md)
* Third party services:
* [Daily.co](https://www.daily.co/) - Refer to setup instructions for [realtime video call](./setup-3rd-party/realtime-video-dailyco.md)
* [Mercure](https://mercure.rocks/)- Refer to setup instructions for [realtime Mercure service](./setup-3rd-party/realtime-service-mercure.md)
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ In this part, we will learn how to get and install the **Digital Sales Rooms** p

If you are a merchant with **Shopware Beyond**, you can access [account.shopware.com](https://auth.shopware.com/login?return_to=https:%2F%2Faccount.shopware.com%2Fportal) and create a [wildcard environment](https://docs.shopware.com/en/account-en/extension-partner/wildcard-environments?category=account-en/extension-partner) with attached plugins.

![ ](../../../assets/products-digitalSalesRooms-wildcard.png)
![ ](../../../../assets/products-digitalSalesRooms-wildcard.png)

By this way, you can get the plugin quickly into Shopware instance in multiple ways (via composer, direct download or through your Shopware Account).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ There are different ways to set up Mercure; we choose the quickest and easiest f
- *Hub subscriber secret* - The JWT key used for authenticating subscribers
- *Hub publisher secret* - The JWT key used for authenticating publishers

![ ](../../../assets/products-digitalSalesRooms-mercureConfigExample.png)
![ ](../../../../assets/products-digitalSalesRooms-mercureConfigExample.png)

- Copy all the necessary information, and paste it into [the proper inputs of the configuration page](../configuration/plugin-config.md#realtime-service).

![Mercure configuration](../../../assets/products-digitalSalesRooms-mercureConfig.png)
![Mercure configuration](../../../../assets/products-digitalSalesRooms-mercureConfig.png)

### Setup via Docker

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ The service is responsible for streaming a video between the attendees.
- Visit the “developers” section on the left
- Copy the *API KEY* and paste it [here](../configuration/plugin-config.md#video-and-audio)

![DailyAPIConfig](../../../assets/products-digitalSalesRooms-videoConfig.png)
![DailyAPIConfig](../../../../assets/products-digitalSalesRooms-videoConfig.png)
Loading
Loading