mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-07 13:48:00 +00:00
Fix Shopware Docker build: add Redis support and align network includes
- Added symfony/redis-messenger installation with ignored build-time PHP extension checks - Installed php83-redis in runtime stage - Ensured consistent network includes across all Shopware services in docker-compose template - Improves compatibility with Redis-based Symfony Messenger transport during init phase https://chatgpt.com/share/6908068e-0bb8-800f-8855-7b3913c57158
This commit is contained in:
@@ -17,11 +17,11 @@ ENV COMPOSER_ALLOW_SUPERUSER=1 \
|
||||
WORKDIR /app
|
||||
ARG SHOPWARE_PROD_VERSION=shopware/production:6.7.3.1
|
||||
|
||||
# 1) Scaffold without installing
|
||||
# 1) Scaffold project without installing dependencies
|
||||
RUN set -eux; \
|
||||
composer create-project "${SHOPWARE_PROD_VERSION}" /app --no-install
|
||||
|
||||
# 2) Install deps WITHOUT running scripts and ignoring build-time ext reqs
|
||||
# 2) Install dependencies (ignoring build-time extension checks) + add Redis transport
|
||||
RUN set -eux; \
|
||||
composer install \
|
||||
--no-dev \
|
||||
@@ -30,7 +30,17 @@ RUN set -eux; \
|
||||
--no-scripts \
|
||||
--ignore-platform-req=ext-gd \
|
||||
--ignore-platform-req=ext-intl \
|
||||
--ignore-platform-req=ext-pdo_mysql
|
||||
--ignore-platform-req=ext-pdo_mysql; \
|
||||
composer require symfony/redis-messenger:^6.4 \
|
||||
-W \
|
||||
--no-scripts \
|
||||
--no-progress \
|
||||
--update-no-dev \
|
||||
--ignore-platform-req=ext-gd \
|
||||
--ignore-platform-req=ext-intl \
|
||||
--ignore-platform-req=ext-pdo_mysql \
|
||||
--ignore-platform-req=ext-redis
|
||||
|
||||
|
||||
############################
|
||||
# Stage 2: Runtime
|
||||
@@ -44,7 +54,8 @@ USER root
|
||||
RUN set -eux; \
|
||||
apk add --no-cache php83-gd || apk add --no-cache php82-gd || apk add --no-cache php-gd || true; \
|
||||
apk add --no-cache php83-intl || apk add --no-cache php82-intl || apk add --no-cache php-intl || true; \
|
||||
apk add --no-cache php83-pdo_mysql || apk add --no-cache php82-pdo_mysql || apk add --no-cache php-pdo_mysql || true
|
||||
apk add --no-cache php83-pdo_mysql || apk add --no-cache php82-pdo_mysql || apk add --no-cache php-pdo_mysql || true; \
|
||||
apk add --no-cache php83-redis || apk add --no-cache php82-redis || apk add --no-cache php-redis || true
|
||||
|
||||
# Copy built application from the builder
|
||||
COPY --chown=www-data:www-data --from=builder /app /var/www/html
|
||||
|
||||
@@ -8,8 +8,6 @@ x-environment: &shopware
|
||||
- sitemap:/var/www/html/public/sitemap
|
||||
working_dir: {{ SHOPWARE_ROOT }}
|
||||
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
||||
|
||||
# -------------------------
|
||||
@@ -24,6 +22,8 @@ x-environment: &shopware
|
||||
container_name: "{{ SHOPWARE_INIT_CONTAINER }}"
|
||||
entrypoint: [ "sh", "/usr/local/bin/init.sh" ]
|
||||
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
{# -------------------------
|
||||
WEB (serves HTTP on 8000)
|
||||
------------------------- #}
|
||||
@@ -43,6 +43,8 @@ x-environment: &shopware
|
||||
{% include 'roles/docker-container/templates/healthcheck/http.yml.j2' %}
|
||||
{% endfilter %}
|
||||
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
{# -------------------------
|
||||
WORKER (async queues)
|
||||
------------------------- #}
|
||||
@@ -60,6 +62,8 @@ x-environment: &shopware
|
||||
# deploy:
|
||||
# replicas: {{ SHOPWARE_WORKER_REPLICAS }}
|
||||
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
{# -------------------------
|
||||
SCHEDULER (cron-like)
|
||||
------------------------- #}
|
||||
@@ -74,6 +78,8 @@ x-environment: &shopware
|
||||
init:
|
||||
condition: service_completed_successfully
|
||||
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
{% if SHOPWARE_OPENSEARCH_ENABLED %}
|
||||
{% set service_name = 'opensearch' %}
|
||||
{{ service_name }}:
|
||||
|
||||
Reference in New Issue
Block a user