Skip to content

Shopware - #2478

Open
TaiKamilla wants to merge 5 commits into
community-scripts:mainfrom
TaiKamilla:add-shopware
Open

TaiKamilla wants to merge 5 commits into
community-scripts:mainfrom
TaiKamilla:add-shopware

Conversation

@TaiKamilla

@TaiKamilla TaiKamilla commented Oct 28, 2026 •

Copy link
Copy Markdown

✍️ Description

New script: Shopware 6 (open-source e-commerce platform, Symfony + Vue.js) in a Debian 13 LXC, set up following the official Shopware hosting and performance guides (shopware/docs → guides/hosting/), not a minimal dev install:

  • PHP 8.5 FPM (newest version in Shopware's own CI; 8.2+ required), memory_limit 512M, extra modules soap, zstd. php.ini tweaks from Performance Tweaks (zend.assertions, opcache interned strings / max files, realpath cache).
  • MariaDB 12.3 LTS (MARIADB_VERSION="12.3", the version Shopware CI tests; 13.x is rolling) with max_allowed_packet 64M, group_concat_max_len 320000 and an sql_mode without ONLY_FULL_GROUP_BY, as the docs ask.
  • Valkey 9 (Shopware's recommended Redis-compatible store). Debian 13 only ships 8.1, so the upstream prebuilt binaries from download.valkey.io are deployed with fetch_and_deploy_from_url + get_latest_github_release. Two instances, because the docs require different eviction/persistence per data type (Infrastructure → Redis):
    • valkey@cache (:6379, no persistence, volatile-lru): app/system cache (redis_tag_aware), delayed HTTP cache invalidation.
    • valkey@persistent (:6380, AOF everysec, volatile-lru): sessions, cart, number ranges, increment storage, lock store and the Messenger transports (symfony/redis-messenger, one stream per transport).
    • Run via a valkey@.service template with DynamicUser=yes (no useradd).
  • OpenSearch 3.x single node (localhost only, security plugin off, 1 GB heap, 1 shard / 0 replicas) for storefront and admin search. SHOPWARE_ES_THROW_EXCEPTION=0 as in the docs' production example: OpenSearch needs about a minute after a container boot, and this way the shop serves from MariaDB in that window instead of answering 500. Optional via var_opensearch=no for small shops (search then falls back to MariaDB). The 2.x apt repo is signed with a SHA1-bound key that Debian 13's sqv rejects, so the 3.x repo + opensearch-release.pgp is used (Shopware supports OpenSearch 3 since 6.7.3.1).
  • Node.js 24 LTS (listed as required by the docs, for building extension assets).
  • HTTP cache enabled, admin worker disabled, CLI workers as systemd units (messenger:consume async low_priority failed, scheduled-task:run), mails through the queue, monolog level error, .env.local.php dumped.
  • nginx with Shopware's reference server block, enabled via nginx_enable_site.
  • Admin user/password via var_admin_user / var_admin_pass (generated with random_password when empty) / var_admin_email, saved to ~/shopware.creds.

Update: check_for_gh_release against shopware/shopware; create_backup of .env.local and config/packages/prod (Flex recipes may touch config), maintenance mode → system:update:prepare → composer update → restore_backup → system:update:finish. Stays inside the template's ~v6.7.0 line; major upgrades (6.8) are manual and noted in the JSON. Valkey binaries are updated the same way against valkey-io/valkey.

Upstream research: Shopware has no release tarball meant for self-hosting; the documented production install is composer create-project shopware/production, used here. The official production images (shopware/docker) are Alpine + PHP-FPM + Caddy/Nginx with external DB/Redis/OpenSearch; this script reproduces that stack bare-metal inside one LXC. shopware/core 6.7.15.1 requires PHP ~8.2 || ~8.3 || ~8.4 || ~8.5.

🔗 Related PR / Issue

Link: #

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No breaking changes – Existing functionality remains intact.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🏗️ arm64 Support (X in brackets)

  • arm64 supported - Tested and supported on arm64.
  • arm64 not tested - Assumed to work on arm64, but testing has not been done.
  • arm64 not supported - Confirmed upstream dependencies or binaries do not support arm64.

var_arm64=yes: every component publishes arm64 builds (Sury PHP, MariaDB 12.3 trixie repo, OpenSearch 3.x apt, Valkey noble-arm64 tarball, Node). I have no arm64 host to test on.


🖥️ Tested on (X in brackets)

  • Proxmox VE – Created on a Proxmox VE host and the app works.
  • Incus – Created on an Incus host and the app works.

Unattended clean runs on Proxmox VE (Debian 13 template, unprivileged, default resources 2 CPU / 6 GB / 20 GB): all services active (nginx, php8.5-fpm, mariadb, valkey@cache, valkey@persistent, opensearch, shopware-worker, shopware-scheduler), storefront 200 (~28-47 ms once cached), /admin 200, Admin API login OK, full reindex queued through the Valkey transport and drained by the worker, 18 OpenSearch indices, 0 CRITICAL entries in var/log, ~2 GB RAM used. Also tested: container restart (all services come back) and update_script() run inside the container with the version files removed (Valkey and Shopware both went through the update path, services back up, storefront/admin 200, config restored). Versions installed: Shopware 6.7.15.1, PHP 8.5.12, MariaDB 12.3.3, Valkey 9.1.3, OpenSearch 3.9.0.


🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • ✨ New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔍 Code & Security Review (X in brackets)

  • Follows CODE-AUDIT.md & CONTRIBUTING.md guidelines
  • Uses correct script structure (AppName.sh, AppName-install.sh, AppName.json)
  • No hardcoded credentials
  • No Docker / Docker Compose – The application is installed bare-metal; Docker is not used.
  • No git pull – Updates use fetch_and_deploy_gh_release, fetch_and_deploy_codeberg_release, fetch_and_deploy_gl_release, or fetch_and_deploy_from_url instead of git pull.

Deviation to flag: Shopware itself is installed and updated with Composer (composer create-project / composer update), which is the only production install method Shopware documents; there is no deployable release archive.


🤖 AI Assistance (X in brackets)

  • No AI used – Scripts were written without AI assistance.
  • AI was used – I confirm the scripts were built using AGENTS.md and .github/agents/pve-script-creator.agent.md as guidance, and the output has been reviewed and corrected to match those guidelines.

Claude Opus 5.5 (Anthropic) running as an agent, default reasoning effort: researched the Shopware hosting docs and CI matrix, drafted the three files from the EspoCRM template, then iterated through several real unattended installs on Proxmox VE, fixing every failure found (OpenSearch 2.x SHA1 key, stale Symfony container after composer require, one Messenger stream per transport, version file from composer.lock). Reviewed and approved by the author before submission.


📋 Additional Information (optional)

  • Default resources are 2 CPU / 6 GB RAM / 20 GB disk because of the OpenSearch heap; with var_opensearch=no 4 GB is enough.
  • The shop is set up on the container IP; for a domain or reverse proxy, change APP_URL in /opt/shopware/.env.local and the sales channel domain (JSON notes).

📦 Application Requirements (for new scripts)

⚠️ Do not remove this section.
It is used by automated PR validation checks.
If this PR is not a new script submission, leave the checkboxes unchecked.

Required for 🆕 New script submissions.
Pull requests that do not meet these requirements may be closed without review.

  • The application is at least 6 months old
  • The application is actively maintained
  • The application has 1,000+ GitHub stars
  • Official release tarballs are published
  • I understand that not all scripts will be accepted due to various reasons and criteria by the community-scripts ORG

🌐 Source

@TaiKamilla
TaiKamilla requested a review from a team as a code owner October 28, 2026 00:05
@github-actions

Copy link
Copy Markdown
Contributor

Try this script

ct/shopware.sh, run in the Proxmox VE shell or on an Incus host:

COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/TaiKamilla/DevScripts/add-shopware \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/TaiKamilla/DevScripts/add-shopware/ct/shopware.sh)"

COMMUNITY_SCRIPTS_URL is not optional for ct/. Fetching the ct/ script from a
branch does not tell the engine where that branch is — with bash -c "$(curl …)"
there is no file on disk for the scripts root to be derived from, so it would fall
back to upstream main and look for the install script there.

Against a core branch as well

Add COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/OWNER/core/BRANCH
to test an engine change at the same time. The two resolve independently.

Useful flags while testing

dev_mode=net logs every fetch with status and duration, so you can confirm the
branch is really being used. dev_mode=keep stops a failed build from deleting
the container along with the evidence.

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ Requirements check passed. Thanks for fixing the description — the stale mark has been removed.

@github-actions github-actions Bot added requirements missing PR description misses template items; closes after 7 days unless fixed or keep-open stale labels Nov 4, 2026
@github-actions github-actions Bot removed requirements missing PR description misses template items; closes after 7 days unless fixed or keep-open stale labels Nov 4, 2026
@TaiKamilla

Copy link
Copy Markdown
Author

This might be interesting to you @shyim

This is the main project:
https://community-scripts.org

github-actions[bot]

This comment was marked as resolved.

@michelroegl-brunner

Copy link
Copy Markdown
Member

/test

@github-actions

Copy link
Copy Markdown
Contributor

Proxmox script test

@michelroegl-brunner @TaiKamilla ❌ 0/2 passed at 11b70cd

Script Platform Install Update Duration Detail
ct/shopware.sh pve ❌ – 6m26s install script exited 2: in line 143: exit code 2 (composer exited with status 2): while executing command composer create-project shopware/production /opt/shopware --no-interaction --no-dev --prefer-
ct/shopware.sh incus ❌ – 3m21s failed services: opensearch.service
ct/shopware.sh arm64 ⚠️ – 0m00s no result (runner or job failure)

ARM64 (information only, not counted): 0/1 passed; failures there do not block this PR.

❌ ct/shopware.sh (pve) — build log
… 8 earlier lines cut, the full log is in the run artifacts
  ✔️  Setup PHP 8.5
  ⏳   Setup Composer
  ✔️  Setup Composer
  ⏳   Setup Node.js 24
  ✔️  Setup Node.js 24 (npm 12.2.2)
  ⏳   Tuning MariaDB and PHP
  ✔️  Tuned MariaDB and PHP
  💡   GitHub API rate limit reached; read the release from github.com instead. A token avoids this: var_github_token
  ⏳   Downloading from https://download.valkey.io/releases/valkey-9.1.3-noble-x86_64.tar.gz
  ✔️  Downloaded valkey-9.1.3-noble-x86_64.tar.gz
  ⏳   Extracting archive to /opt/valkey
  ✔️  Successfully deployed archive to /opt/valkey
  ⏳   Configuring Valkey
  ✔️  Configured Valkey
  ⏳   Installing OpenSearch
  ✔️  Installed OpenSearch
  ⏳   Installing Shopware
  ✖️  in line 143: exit code 2 (composer exited with status 2): while executing command composer create-project shopware/production /opt/shopware --no-interaction --no-dev --prefer-dist
  --- Output of the failing command ---
    - shopware/administration v6.7.10.2 requires shopware/core v6.7.10.2 -> found shopware/core[v6.7.10.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.11.0 requires shopware/core v6.7.11.0 -> found shopware/core[v6.7.11.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.11.1 requires shopware/core v6.7.11.1 -> found shopware/core[v6.7.11.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.12.1 requires shopware/core v6.7.12.1 -> found shopware/core[v6.7.12.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.12.2 requires shopware/core v6.7.12.2 -> found shopware/core[v6.7.12.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.13.0 requires shopware/core v6.7.13.0 -> found shopware/core[v6.7.13.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.13.1 requires shopware/core v6.7.13.1 -> found shopware/core[v6.7.13.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.14.0 requires shopware/core v6.7.14.0 -> found shopware/core[v6.7.14.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.14.1 requires shopware/core v6.7.14.1 -> found shopware/core[v6.7.14.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.14.2 requires shopware/core v6.7.14.2 -> found shopware/core[v6.7.14.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.15.0 requires shopware/core v6.7.15.0 -> found shopware/core[v6.7.15.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.15.1 requires shopware/core v6.7.15.1 -> found shopware/core[v6.7.15.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.16.0 requires shopware/core v6.7.16.0 -> satisfiable by shopware/core[v6.7.16.0].
    - shopware/administration v6.7.6.0 requires shopware/core v6.7.6.0 -> found shopware/core[v6.7.6.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.6.1 requires shopware/core v6.7.6.1 -> found shopware/core[v6.7.6.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.6.2 requires shopware/core v6.7.6.2 -> found shopware/core[v6.7.6.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.7.0 requires shopware/core v6.7.7.0 -> found shopware/core[v6.7.7.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.7.1 requires shopware/core v6.7.7.1 -> found shopware/core[v6.7.7.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.8.0 requires shopware/core v6.7.8.0 -> found shopware/core[v6.7.8.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.8.1 requires shopware/core v6.7.8.1 -> found shopware/core[v6.7.8.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.8.2 requires shopware/core v6.7.8.2 -> found shopware/core[v6.7.8.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.9.0 requires shopware/core v6.7.9.0 -> found shopware/core[v6.7.9.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.9.1 requires shopware/core v6.7.9.1 -> found shopware/core[v6.7.9.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/core v6.7.16.0 requires mcp/sdk ^0.8.1 -> found mcp/sdk[v0.8.1] but these were not loaded, because they are affected by security advisories ("PKSA-s52d-n7sx-trsg"). Go to https://packagist.org/security-advisories/ to find advisory details. To ignore the advisories, add their IDs to the "policy.advisories.ignore-id" config or add the package to "policy.advisories.ignore". To turn the
Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
  --------------------------------------
  ✖️  Installation failed in container 9000 (exit code: 2)
  📋  Installation log: /tmp/shopware-9000-05de780f.log
  🔍  🔧 [DEV] Keep mode active - container 9000 preserved
  ✔️  Completed successfully!
  🚀  Shopware setup has been successfully initialized!
  💡  Access it using the following URL:
  🌐  http://10.99.0.221/admin
📄 ct/shopware.sh (pve) — install log (2265 lines)
… 2203 earlier lines cut, the full log is in the run artifacts
    - shopware/administration 6.4.5.0 requires shopware/core v6.4.5.0 -> found shopware/core[6.4.5.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.5.1 requires shopware/core v6.4.5.1 -> found shopware/core[6.4.5.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.6.0 requires shopware/core v6.4.6.0 -> found shopware/core[6.4.6.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.6.1 requires shopware/core v6.4.6.1 -> found shopware/core[6.4.6.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.7.0 requires shopware/core v6.4.7.0 -> found shopware/core[6.4.7.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.8.0 requires shopware/core v6.4.8.0 -> found shopware/core[6.4.8.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.8.1 requires shopware/core 6.4.8.1 -> found shopware/core[6.4.8.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.8.2 requires shopware/core v6.4.8.2 -> found shopware/core[6.4.8.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration 6.4.9.0 requires shopware/core v6.4.9.0 -> found shopware/core[6.4.9.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration[6.5.0.0, ..., v6.5.7.4] require php ~8.1.0 || ~8.2.0 -> your php version (8.5.12) does not satisfy that requirement.
    - shopware/administration[v6.5.8.0, ..., v6.5.8.19] require php ~8.1.0 || ~8.2.0 || ~8.3.0 -> your php version (8.5.12) does not satisfy that requirement.
    - shopware/administration[v6.6.0.0, ..., v6.6.9.0] require php ~8.2.0 || ~8.3.0 -> your php version (8.5.12) does not satisfy that requirement.
    - shopware/administration[v6.6.10.0, ..., v6.7.5.1] require php ~8.2.0 || ~8.3.0 || ~8.4.0 -> your php version (8.5.12) does not satisfy that requirement.
    - shopware/administration v6.6.10.11 requires shopware/core v6.6.10.11 -> found shopware/core[v6.6.10.11] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.12 requires shopware/core v6.6.10.12 -> found shopware/core[v6.6.10.12] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.13 requires shopware/core v6.6.10.13 -> found shopware/core[v6.6.10.13] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.14 requires shopware/core v6.6.10.14 -> found shopware/core[v6.6.10.14] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.15 requires shopware/core v6.6.10.15 -> found shopware/core[v6.6.10.15] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.16 requires shopware/core v6.6.10.16 -> found shopware/core[v6.6.10.16] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.17 requires shopware/core v6.6.10.17 -> found shopware/core[v6.6.10.17] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.18 requires shopware/core v6.6.10.18 -> found shopware/core[v6.6.10.18] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.19 requires shopware/core v6.6.10.19 -> found shopware/core[v6.6.10.19] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.20 requires shopware/core v6.6.10.20 -> found shopware/core[v6.6.10.20] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.21 requires shopware/core v6.6.10.21 -> found shopware/core[v6.6.10.21] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.22 requires shopware/core v6.6.10.22 -> found shopware/core[v6.6.10.22] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.23 requires shopware/core v6.6.10.23 -> found shopware/core[v6.6.10.23] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.24 requires shopware/core v6.6.10.24 -> found shopware/core[v6.6.10.24] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.25 requires shopware/core v6.6.10.25 -> found shopware/core[v6.6.10.25] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.26 requires shopware/core v6.6.10.26 -> found shopware/core[v6.6.10.26] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.27 requires shopware/core v6.6.10.27 -> found shopware/core[v6.6.10.27] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.28 requires shopware/core v6.6.10.28 -> found shopware/core[v6.6.10.28] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.29 requires shopware/core v6.6.10.29 -> found shopware/core[v6.6.10.29] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.30 requires shopware/core v6.6.10.30 -> found shopware/core[v6.6.10.30] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.6.10.31 requires shopware/core v6.6.10.31 -> found shopware/core[v6.6.10.31] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.10.0 requires shopware/core v6.7.10.0 -> found shopware/core[v6.7.10.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.10.1 requires shopware/core v6.7.10.1 -> found shopware/core[v6.7.10.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.10.2 requires shopware/core v6.7.10.2 -> found shopware/core[v6.7.10.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.11.0 requires shopware/core v6.7.11.0 -> found shopware/core[v6.7.11.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.11.1 requires shopware/core v6.7.11.1 -> found shopware/core[v6.7.11.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.12.1 requires shopware/core v6.7.12.1 -> found shopware/core[v6.7.12.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.12.2 requires shopware/core v6.7.12.2 -> found shopware/core[v6.7.12.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.13.0 requires shopware/core v6.7.13.0 -> found shopware/core[v6.7.13.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.13.1 requires shopware/core v6.7.13.1 -> found shopware/core[v6.7.13.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.14.0 requires shopware/core v6.7.14.0 -> found shopware/core[v6.7.14.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.14.1 requires shopware/core v6.7.14.1 -> found shopware/core[v6.7.14.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.14.2 requires shopware/core v6.7.14.2 -> found shopware/core[v6.7.14.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.15.0 requires shopware/core v6.7.15.0 -> found shopware/core[v6.7.15.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.15.1 requires shopware/core v6.7.15.1 -> found shopware/core[v6.7.15.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.16.0 requires shopware/core v6.7.16.0 -> satisfiable by shopware/core[v6.7.16.0].
    - shopware/administration v6.7.6.0 requires shopware/core v6.7.6.0 -> found shopware/core[v6.7.6.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.6.1 requires shopware/core v6.7.6.1 -> found shopware/core[v6.7.6.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.6.2 requires shopware/core v6.7.6.2 -> found shopware/core[v6.7.6.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.7.0 requires shopware/core v6.7.7.0 -> found shopware/core[v6.7.7.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.7.1 requires shopware/core v6.7.7.1 -> found shopware/core[v6.7.7.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.8.0 requires shopware/core v6.7.8.0 -> found shopware/core[v6.7.8.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.8.1 requires shopware/core v6.7.8.1 -> found shopware/core[v6.7.8.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.8.2 requires shopware/core v6.7.8.2 -> found shopware/core[v6.7.8.2] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.9.0 requires shopware/core v6.7.9.0 -> found shopware/core[v6.7.9.0] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/administration v6.7.9.1 requires shopware/core v6.7.9.1 -> found shopware/core[v6.7.9.1] but it conflicts with your root composer.json require (v6.7.16.0).
    - shopware/core v6.7.16.0 requires mcp/sdk ^0.8.1 -> found mcp/sdk[v0.8.1] but these were not loaded, because they are affected by security advisories ("PKSA-s52d-n7sx-trsg"). Go to https://packagist.org/security-advisories/ to find advisory details. To ignore the advisories, add their IDs to the "policy.advisories.ignore-id" config or add the package to "policy.advisories.ignore". To turn the feature off entirely, you can set "policy.advisories.block" to false.
Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
[2026-11-11 16:28:31] [ERROR] in line 143: exit code 2 (composer exited with status 2): while executing command composer create-project shopware/production /opt/shopware --no-interaction --no-dev --prefer-dist
❌ ct/shopware.sh (incus) — build log
  ⏳   Customizing container
  ✔️  Container customized
  🚀  Starting application installation
  ⏳   Setting up Container OS
  ✔️  Set up Container OS
  ✔️  Network Connected: 10.98.0.2
  ✔️  IPv4 Internet Connected
  ℹ️  No IPv6 Internet (IPv4 is enough)
  ✔️  Git DNS: github.com:(✔️ ) raw.githubusercontent.com:(✔️ ) api.github.com:(✔️ )
  ⏳   Updating Container OS
  ✔️  Updated Container OS
  ⏳   Installing Dependencies
  ✔️  Installed Dependencies
  ⏳   Setup MariaDB 12.3 (official repository)
  ✔️  Setup MariaDB 12.3
  ⏳   Setting up MariaDB Database
  ✔️  Set up MariaDB Database
  ⏳   Installing PHP 8.5 packages
  ✔️  Setup PHP 8.5
  ⏳   Setup Composer
  ✔️  Setup Composer
  ⏳   Setup Node.js 24
  ✔️  Setup Node.js 24 (npm 12.2.2)
  ⏳   Tuning MariaDB and PHP
  ✔️  Tuned MariaDB and PHP
  💡   GitHub API rate limit reached; read the release from github.com instead. A token avoids this: var_github_token
  ⏳   Downloading from https://download.valkey.io/releases/valkey-9.1.3-noble-x86_64.tar.gz
  ✔️  Downloaded valkey-9.1.3-noble-x86_64.tar.gz
  ⏳   Extracting archive to /opt/valkey
  ✔️  Successfully deployed archive to /opt/valkey
  ⏳   Configuring Valkey
  ✔️  Configured Valkey
  ⏳   Installing OpenSearch
  ✖️  in line 210: exit code 1 (systemctl exited with status 1): while executing command systemctl enable -q --now opensearch
  --- Output of the failing step ---
[2026-11-11 16:24:37] [INFO] Installing OpenSearch
  opensearch
Running OpenSearch Pre-Installation Script
Running OpenSearch Post-Installation Script
/usr/lib/tmpfiles.d/opensearch.conf:1: Line references path below legacy directory /var/run/, updating /var/run/opensearch → /run/opensearch; please update the tmpfiles.d/ drop-in file accordingly.
### NOT starting on installation, please execute the following statements to configure opensearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable opensearch.service
### You can start opensearch service by executing
 sudo systemctl start opensearch.service
### Create opensearch demo certificates in /etc/opensearch/
 See demo certs creation log in /var/log/opensearch/install_demo_configuration.log
### Breaking change in packaging since 2.13.0
 In 2.13.0 and later releases of OpenSearch, we have changed the permissions associated with access to installed files
 If you are configuring tools that require read access to the OpenSearch configuration files, we recommend you add the user that runs these tools to the 'opensearch' group
 For more information, see https://github.com/opensearch-project/opensearch-build/pull/4043
[2026-11-11 16:25:27] [ERROR] in line 210: exit code 1 (systemctl exited with status 1): while executing command systemctl enable -q --now opensearch
  -----------------------------------
  ✖️  Installation failed in container ci-9000 (exit code: 1)
✔ Installation log: /usr/local/community-scripts/logs/incus-install-5e6cb492-combined.log
  🔍  🔧 [DEV] Keep mode active - container ci-9000 preserved
  ✔️  Completed successfully!
  🚀  Shopware setup has been successfully initialized!
  💡  Access it using the following URL:
  🌐  http://10.98.0.2/admin
📄 ct/shopware.sh (incus) — install log (1367 lines)
… 1086 earlier lines cut, the full log is in the run artifacts
Creating config file /etc/php/8.5/mods-available/pdo_sqlite.ini with new version
Setting up libavahi-client3:amd64 (0.8-16) ...
Setting up php8.5-soap (8.5.12-3+0~deb.sury.org.1+debian13) ...
Creating config file /etc/php/8.5/mods-available/soap.ini with new version
Setting up xfonts-utils (1:7.7+7) ...
Setting up libxt6t64:amd64 (1:1.2.1-1.2+b2) ...
Setting up php8.5-cli (8.5.12-3+0~deb.sury.org.1+debian13) ...
update-alternatives: using /usr/bin/php8.5 to provide /usr/bin/php (php) in auto mode
update-alternatives: using /usr/bin/phar8.5 to provide /usr/bin/phar (phar) in auto mode
update-alternatives: using /usr/bin/phar.phar8.5 to provide /usr/bin/phar.phar (phar.phar) in auto mode
Creating config file /etc/php/8.5/cli/php.ini with new version
Setting up php8.5-apcu (5.1.28-2+0~20260623.59+debian13~1.gbp4679cd) ...
Setting up php8.5-fpm (8.5.12-3+0~deb.sury.org.1+debian13) ...
Creating config file /etc/php/8.5/fpm/php.ini with new version
Created symlink '/etc/systemd/system/multi-user.target.wants/php8.5-fpm.service' → '/usr/lib/systemd/system/php8.5-fpm.service'.
Setting up libcups2t64:amd64 (2.4.10-3+deb13u2) ...
Setting up php8.5-igbinary (3.2.16-6+0~20260709.60+debian13~1.gbp1eff65) ...
Setting up fonts-urw-base35 (20200910-8) ...
Setting up php8.5 (8.5.12-3+0~deb.sury.org.1+debian13) ...
Setting up php8.5-zstd (0.15.2-3+0~20260622.16+debian13~1.gbp9b7349) ...
Setting up php8.5-redis (6.3.0-2+0~20260711.69+debian13~1.gbpd148c3) ...
Setting up libgs10-common (10.05.1~dfsg-1+deb13u3) ...
Setting up libheif-plugin-dav1d:amd64 (1.23.6-2~deb13u1) ...
Setting up libheif-plugin-libde265:amd64 (1.23.6-2~deb13u1) ...
Setting up libheif1:amd64 (1.23.6-2~deb13u1) ...
Setting up libheif-plugin-x265:amd64 (1.23.6-2~deb13u1) ...
Setting up libheif-plugin-aomenc:amd64 (1.23.6-2~deb13u1) ...
Processing triggers for libc-bin (2.41-12+deb13u4) ...
Processing triggers for sgml-base (1.31+nmu1) ...
Setting up libfontconfig1:amd64 (2.15.0-2.3) ...
Processing triggers for mailcap (3.74) ...
Setting up libgs10:amd64 (10.05.1~dfsg-1+deb13u3) ...
Setting up ghostscript (10.05.1~dfsg-1+deb13u3) ...
Setting up libgd3:amd64 (2.3.3-16+0~deb.sury.org.1+debian13) ...
Setting up libmagickcore-7.q16-10:amd64 (8:7.1.1.43+dfsg1-1+deb13u14) ...
Setting up libmagickwand-7.q16-10:amd64 (8:7.1.1.43+dfsg1-1+deb13u14) ...
Setting up php8.5-gd (8.5.12-3+0~deb.sury.org.1+debian13) ...
Creating config file /etc/php/8.5/mods-available/gd.ini with new version
Setting up php8.5-imagick (3.8.1-1+0~20260621.55+debian13~1.gbpde1d95) ...
Processing triggers for php8.5-cli (8.5.12-3+0~deb.sury.org.1+debian13) ...
Processing triggers for php8.5-fpm (8.5.12-3+0~deb.sury.org.1+debian13) ...
Processing triggers for libc-bin (2.41-12+deb13u4) ...
Synchronizing state of php8.5-fpm.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable php8.5-fpm
[2026-11-11 16:24:06] [OK] Setup PHP 8.5
[2026-11-11 16:24:06] [INFO] Setup Composer
All settings correct for using Composer
Downloading...
Composer (version 2.11.2) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
You are already using the latest available Composer version 2.11.2 (stable channel).
[2026-11-11 16:24:08] [OK] Setup Composer
[2026-11-11 16:24:08] [INFO] Setup Node.js 24
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie-updates InRelease
Hit:3 http://mirror.mariadb.org/repo/12.3/debian trixie InRelease
Hit:4 http://deb.debian.org/debian-security trixie-security InRelease
Hit:5 https://packages.sury.org/php trixie InRelease
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie-updates InRelease
Hit:3 http://deb.debian.org/debian-security trixie-security InRelease
Hit:4 http://mirror.mariadb.org/repo/12.3/debian trixie InRelease
Hit:5 https://packages.sury.org/php trixie InRelease
Get:6 https://deb.nodesource.com/node_24.x nodistro InRelease [12.1 kB]
Get:7 https://deb.nodesource.com/node_24.x nodistro/main amd64 Packages [10.1 kB]
Fetched 22.2 kB in 0s (108 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.
Reading package lists...
Building dependency tree...
Reading state information...
Installing:
  nodejs
Installing dependencies:
  libpython3-stdlib      python3          python3.13-minimal
  libpython3.13-minimal  python3-minimal
  libpython3.13-stdlib   python3.13
Suggested packages:
  python3-doc  python3-venv     python3.13-doc  binfmt-support
  python3-tk   python3.13-venv  binutils
Summary:
  Upgrading: 0, Installing: 8, Removing: 0, Not Upgrading: 0
  Download size: 45.4 MB
  Space needed: 269 MB / 146 GB available
Get:1 http://deb.debian.org/debian trixie/main amd64 libpython3.13-minimal amd64 3.13.5-2+deb13u5 [863 kB]
Get:2 https://deb.nodesource.com/node_24.x nodistro/main amd64 nodejs amd64 24.22.2-1nodesource1 [39.5 MB]
Get:3 http://deb.debian.org/debian trixie/main amd64 python3.13-minimal amd64 3.13.5-2+deb13u5 [2225 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 libpython3.13-stdlib amd64 3.13.5-2+deb13u5 [1959 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 python3.13 amd64 3.13.5-2+deb13u5 [757 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 python3 amd64 3.13.5-1 [28.2 kB]
Fetched 45.4 MB in 1s (47.6 MB/s)
Selecting previously unselected package libpython3.13-minimal:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20544 files and directories currently installed.)
Preparing to unpack .../libpython3.13-minimal_3.13.5-2+deb13u5_amd64.deb ...
Unpacking libpython3.13-minimal:amd64 (3.13.5-2+deb13u5) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../python3.13-minimal_3.13.5-2+deb13u5_amd64.deb ...
Unpacking python3.13-minimal (3.13.5-2+deb13u5) ...
Setting up libpython3.13-minimal:amd64 (3.13.5-2+deb13u5) ...
Setting up python3.13-minimal (3.13.5-2+deb13u5) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20868 files and directories currently installed.)
Preparing to unpack .../python3-minimal_3.13.5-1_amd64.deb ...
Unpacking python3-minimal (3.13.5-1) ...
Selecting previously unselected package libpython3.13-stdlib:amd64.
Preparing to unpack .../libpython3.13-stdlib_3.13.5-2+deb13u5_amd64.deb ...
Unpacking libpython3.13-stdlib:amd64 (3.13.5-2+deb13u5) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../python3.13_3.13.5-2+deb13u5_amd64.deb ...
Unpacking python3.13 (3.13.5-2+deb13u5) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../libpython3-stdlib_3.13.5-1_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.13.5-1) ...
Setting up python3-minimal (3.13.5-1) ...
Selecting previously unselected package python3.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 21315 files and directories currently installed.)
Preparing to unpack .../python3_3.13.5-1_amd64.deb ...
Unpacking python3 (3.13.5-1) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_24.22.2-1nodesource1_amd64.deb ...
Unpacking nodejs (24.22.2-1nodesource1) ...
Setting up libpython3.13-stdlib:amd64 (3.13.5-2+deb13u5) ...
Setting up libpython3-stdlib:amd64 (3.13.5-1) ...
Setting up python3.13 (3.13.5-2+deb13u5) ...
Setting up python3 (3.13.5-1) ...
Setting up nodejs (24.22.2-1nodesource1) ...
Processing triggers for systemd (257.13-1~deb13u1) ...
Processing triggers for mailcap (3.74) ...
removed 8 packages, and changed 77 packages in 6s
15 packages are looking for funding
  run `npm fund` for details
[2026-11-11 16:24:28] [OK] Setup Node.js 24 (npm 12.2.2)
[2026-11-11 16:24:30] [INFO] Tuning MariaDB and PHP
[2026-11-11 16:24:31] [OK] Tuned MariaDB and PHP
[2026-11-11 16:24:32] [WARN] GitHub API rate limit reached; read the release from github.com instead. A token avoids this: var_github_token
[2026-11-11 16:24:32] [INFO] Downloading from https://download.valkey.io/releases/valkey-9.1.3-noble-x86_64.tar.gz
[2026-11-11 16:24:33] [OK] Downloaded valkey-9.1.3-noble-x86_64.tar.gz
[2026-11-11 16:24:33] [INFO] Extracting archive to /opt/valkey
[2026-11-11 16:24:34] [OK] Successfully deployed archive to /opt/valkey
[2026-11-11 16:24:34] [INFO] Configuring Valkey
[2026-11-11 16:24:35] [OK] Configured Valkey
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie-updates InRelease
Hit:3 http://deb.debian.org/debian-security trixie-security InRelease
Hit:4 http://mirror.mariadb.org/repo/12.3/debian trixie InRelease
Get:5 https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt stable InRelease [7554 B]
Hit:6 https://deb.nodesource.com/node_24.x nodistro InRelease
Get:7 https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt stable/main amd64 Packages [2652 B]
Hit:8 https://packages.sury.org/php trixie InRelease
Fetched 10.2 kB in 0s (51.4 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.
[2026-11-11 16:24:37] [INFO] Installing OpenSearch
Reading package lists...
Building dependency tree...
Reading state information...
Installing:
  opensearch
Summary:
  Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0
  Download size: 1090 MB
  Space needed: 1513 MB / 145 GB available
Get:1 https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt stable/main amd64 opensearch amd64 3.9.0 [1090 MB]
Fetched 1090 MB in 19s (56.2 MB/s)
Selecting previously unselected package opensearch.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 27215 files and directories currently installed.)
Preparing to unpack .../opensearch_3.9.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Unpacking opensearch (3.9.0) ...
Setting up opensearch (3.9.0) ...
Running OpenSearch Post-Installation Script
/usr/lib/tmpfiles.d/opensearch.conf:1: Line references path below legacy directory /var/run/, updating /var/run/opensearch → /run/opensearch; please update the tmpfiles.d/ drop-in file accordingly.
### NOT starting on installation, please execute the following statements to configure opensearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable opensearch.service
### You can start opensearch service by executing
 sudo systemctl start opensearch.service
### Create opensearch demo certificates in /etc/opensearch/
 See demo certs creation log in /var/log/opensearch/install_demo_configuration.log
### Breaking change in packaging since 2.13.0
 In 2.13.0 and later releases of OpenSearch, we have changed the permissions associated with access to installed files
 If you are configuring tools that require read access to the OpenSearch configuration files, we recommend you add the user that runs these tools to the 'opensearch' group
 For more information, see https://github.com/opensearch-project/opensearch-build/pull/4043
Processing triggers for systemd (257.13-1~deb13u1) ...
Processing triggers for procps (2:4.0.4-9) ...
Processing triggers for libc-bin (2.41-12+deb13u4) ...
[2026-11-11 16:25:27] [ERROR] in line 210: exit code 1 (systemctl exited with status 1): while executing command systemctl enable -q --now opensearch
ct/shopware.sh (arm64): no install log was captured

Full logs: workflow run (artifacts result-*). Comment /test to build again.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proxmox script test failed at 11b70cd:

  • ct/shopware.sh (pve): install script exited 2: in line 143: exit code 2 (composer exited with status 2): while executing command composer create-project shopware/production /opt/shopware --no-interaction --no-dev --prefer-
  • ct/shopware.sh (incus): failed services: opensearch.service

Logs and details: test result. Push a fix, then ask for /test again.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants