-
Notifications
You must be signed in to change notification settings - Fork 303
docs: restructures installation and moves legacy setups #2111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
|
sushmangupta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have suggested changes to some sections so far. Let me know if we have to proceed this way, or if I can make the changes directly to your branch ?
|
|
||
| --- | ||
|
|
||
| # Overview of Shopware 6 Installation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Push this file content into index.md file.
| - developing a plugin, app, or theme | ||
| - contributing to the Shopware core | ||
|
|
||
| Our setup is based on [Docker](https://www.docker.com/), a platform that enables developers to develop, ship, and run applications inside containers: lightweight, standalone, and executable packages. Docker enables production-like conditions consistent across teams and CI/CD, and makes it easy to reset or rebuild environments (`docker compose down -v`). When you need you need full service parity (e.g. caching, queues, search), Docker shines. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Our setup is based on [Docker](https://www.docker.com/), a platform that enables developers to develop, ship, and run applications inside containers: lightweight, standalone, and executable packages. Docker enables production-like conditions consistent across teams and CI/CD, and makes it easy to reset or rebuild environments (`docker compose down -v`). When you need you need full service parity (e.g. caching, queues, search), Docker shines. | |
| The Shopware 6 development environment is primarily supported and recommended to be used with [Docker](https://www.docker.com/). This platform enables developers to develop, ship, and run applications inside containers: lightweight, standalone, and executable packages. Docker enables production-like conditions consistent across teams and CI/CD, and makes it easy to reset or rebuild environments. Docker is especially useful when full service parity is required (e.g., caching, queues, search). |
|
|
||
| Our setup is based on [Docker](https://www.docker.com/), a platform that enables developers to develop, ship, and run applications inside containers: lightweight, standalone, and executable packages. Docker enables production-like conditions consistent across teams and CI/CD, and makes it easy to reset or rebuild environments (`docker compose down -v`). When you need you need full service parity (e.g. caching, queues, search), Docker shines. | ||
|
|
||
| Our [Docker setup](./docker-setup.md) aims to provide a smooth onboarding experience aligned with modern development practices. It runs your entire Shopware environment in containers, including all backend services (PHP, MySQL, Node, an Elasticsearch-compatible search engine, Redis, Mailhog, etc.). No manual installation required. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Our [Docker setup](./docker-setup.md) aims to provide a smooth onboarding experience aligned with modern development practices. It runs your entire Shopware environment in containers, including all backend services (PHP, MySQL, Node, an Elasticsearch-compatible search engine, Redis, Mailhog, etc.). No manual installation required. | |
| The [Docker-based setup](./docker-setup.md) aims to provide a smooth onboarding experience aligned with modern development practices. It runs your entire Shopware environment in containers, including all backend services (PHP, MySQL, Node, an Elasticsearch-compatible search engine, Redis, Mailhog, etc.). No manual installation is required. |
|
|
||
| Our [Docker setup](./docker-setup.md) aims to provide a smooth onboarding experience aligned with modern development practices. It runs your entire Shopware environment in containers, including all backend services (PHP, MySQL, Node, an Elasticsearch-compatible search engine, Redis, Mailhog, etc.). No manual installation required. | ||
|
|
||
| The pages that follow assume that you're using Docker itself. That said, the Shopware community has produced some related tooling for developers who prefer more automated or GUI-friendly ways to run Docker environments: DDEV and Dockware. Both are **community-maintained** and not officially supported by Shopware. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| The pages that follow assume that you're using Docker itself. That said, the Shopware community has produced some related tooling for developers who prefer more automated or GUI-friendly ways to run Docker environments: DDEV and Dockware. Both are **community-maintained** and not officially supported by Shopware. | |
| The pages that follow assume that you're using Docker itself. | |
| Shopware community has produced some related tooling for developers who prefer more automated or GUI-friendly ways to run Docker environments: [DDEV](#DDEV) and Dockware(#Dockware setup). Both are **community-maintained** and not officially supported by Shopware. |
|
|
||
| --- | ||
|
|
||
| # Overview of Shopware 6 Installation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:::info
The installation workflow has been streamlined to focus on a Docker-based setup as the primary approach. Previous methods are available in the Legacy Setups section.
:::
| The Docker setup installs development dependencies (`require-dev`) and [`shopware/dev-tools`](https://github.com/shopware/dev-tools). This enables the Symfony profiler, [demo data](https://github.com/shopware/SwagPlatformDemoData), linting tools, and test tooling. | ||
| ::: | ||
|
|
||
| Project creation takes a few minutes to complete. In your terminal, this prompt will eventually appear: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Project creation takes a few minutes to complete. In your terminal, this prompt will eventually appear: | |
| Project creation takes a few minutes to complete. When prompted in the terminal, you will see:: |
|
|
||
| This command starts Shopware and all required services (web server, database, search, Mailpit, etc.) in the background. Docker images already include all required PHP extensions and services, so the system-check step of the installer is always fulfilled. | ||
|
|
||
| **Tip:** You can check container status anytime with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Tip:** You can check container status anytime with: | |
| :::info | |
| You can check the container status anytime with the below command | |
| ::: |
| docker compose ps | ||
| ``` | ||
|
|
||
| “Healthy” means the service passed its internal health check and is ready to use. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the service status doesn't show "Healthy", then how do we proceed?
| What happens during `make setup`: | ||
|
|
||
| - The Makefile runs the Shopware installer inside the web container | ||
| - Shopware is installed automatically (no browser wizard required) | ||
| - A MariaDB database is created | ||
| - An admin user is created, with username `admin` and password `shopware` | ||
| - Required services (database, search, mail, etc.) are running inside Docker and already configured | ||
| - The Shopware project is configured to connect to the database via the Docker service name `database` | ||
| - Database credentials are defined in the `compose.yaml` | ||
| - If search was enabled during project creation, an Elasticsearch-compatible search service runs as part of the Docker stack |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| What happens during `make setup`: | |
| - The Makefile runs the Shopware installer inside the web container | |
| - Shopware is installed automatically (no browser wizard required) | |
| - A MariaDB database is created | |
| - An admin user is created, with username `admin` and password `shopware` | |
| - Required services (database, search, mail, etc.) are running inside Docker and already configured | |
| - The Shopware project is configured to connect to the database via the Docker service name `database` | |
| - Database credentials are defined in the `compose.yaml` | |
| - If search was enabled during project creation, an Elasticsearch-compatible search service runs as part of the Docker stack | |
| :::info | |
| What happens during `make setup`: | |
| - The Makefile runs the Shopware installer inside the web container | |
| - Shopware is installed automatically (no browser wizard required) | |
| - A MariaDB database is created | |
| - An admin user is created, with username `admin` and password `shopware` | |
| - Required services (database, search, mail, etc.) are preconfigured and runs inside the Docker | |
| - The Shopware project is configured to connect to the database via the Docker service name `database` | |
| - Database credentials are defined in the `compose.yaml` | |
| - If search was enabled during project creation, an Elasticsearch-compatible search service runs as part of the Docker stack | |
| ::: |
| You verify the installation succeeded by opening <http://localhost:8000>. | ||
|
|
||
| Use `make up` and `make down` to start or stop your environment. Use `docker compose down -v` to fully reset it. The `-v` flag deletes the containers, networks, and volumes, meaning all stored data will be lost. | ||
|
|
||
| On the next page, we'll help you to start developing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| You verify the installation succeeded by opening <http://localhost:8000>. | |
| Use `make up` and `make down` to start or stop your environment. Use `docker compose down -v` to fully reset it. The `-v` flag deletes the containers, networks, and volumes, meaning all stored data will be lost. | |
| On the next page, we'll help you to start developing. | |
| Verify that the installation completed successfully by opening <http://localhost:8000>. | |
| Use the following commands to manage the development environment: | |
| ```bash | |
| # Start the environment | |
| make up | |
| # Stop the environment | |
| make down | |
| # Fully reset the environment ( "-v" flag removes containers, networks, and volumes - all stored data will be lost) | |
| docker compose down -v |
Proceed to the next section to begin development.
sushmangupta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have suggested changes to some sections so far. Let me know if we have to proceed this way, or if I can make the changes directly to your branch ?
This PR reflects a product decision to highlight Docker as our primary installation method. Documentation about other methods remains, and is now stored in a separate folder.
Edits divide software requirements from hardware requirements.
The main page includes a line that takes users directly to the install section.