Merge pull request #782 from zrja/zrja/shopware-v1

feat: add Shopware blueprint
This commit is contained in:
Mauricio Siu
2026-07-08 10:22:01 -06:00
committed by GitHub
4 changed files with 453 additions and 0 deletions

View File

@@ -0,0 +1,332 @@
version: "3.8"
# Dokploy Blueprint notes:
# - This stack is intentionally self-contained for one-click deployments.
# - The first deployment is slower because bootstrap downloads Shopware into a persistent volume.
# - Shopware source code and generated JWT keys live in named volumes so redeploys remain stable.
# - Failed messenger jobs remain in the `failed` queue for manual retry via Shopware console commands.
x-shopware-env: &shopware-env
APP_ENV: "${APP_ENV:-prod}"
APP_SECRET: "${APP_SECRET}"
INSTANCE_ID: "${INSTANCE_ID}"
APP_URL: "${APP_URL}"
ENABLE_DEMO_DATA: "${ENABLE_DEMO_DATA:-1}"
TRUSTED_PROXIES: "${TRUSTED_PROXIES:-private_ranges}"
SYMFONY_TRUSTED_PROXIES: "${SYMFONY_TRUSTED_PROXIES:-private_ranges}"
SYMFONY_TRUSTED_HEADERS: "${SYMFONY_TRUSTED_HEADERS:-x-forwarded-for,x-forwarded-host,x-forwarded-proto,x-forwarded-port,x-forwarded-prefix}"
DATABASE_HOST: "database"
DATABASE_PORT: "3306"
DATABASE_NAME: "${DATABASE_NAME:-shopware}"
DATABASE_USER: "${DATABASE_USER:-shopware}"
DATABASE_PASSWORD: "${DATABASE_PASSWORD}"
DATABASE_URL: "${DATABASE_URL}"
REDIS_HOST: "redis"
REDIS_PORT: "6379"
REDIS_PASSWORD: "${REDIS_PASSWORD}"
MAILER_DSN: "${MAILER_DSN:-null://localhost}"
LOCK_DSN: "${LOCK_DSN}"
MESSENGER_TRANSPORT_DSN: "${MESSENGER_TRANSPORT_DSN:-doctrine://default?queue_name=async}"
MESSENGER_TRANSPORT_LOW_PRIORITY_DSN: "${MESSENGER_TRANSPORT_LOW_PRIORITY_DSN:-doctrine://default?queue_name=low_priority}"
MESSENGER_TRANSPORT_FAILURE_DSN: "${MESSENGER_TRANSPORT_FAILURE_DSN:-doctrine://default?queue_name=failed}"
COMPOSER_PLUGIN_LOADER: "${COMPOSER_PLUGIN_LOADER:-1}"
SHOPWARE_HTTP_CACHE_ENABLED: "${SHOPWARE_HTTP_CACHE_ENABLED:-1}"
SHOPWARE_HTTP_DEFAULT_TTL: "${SHOPWARE_HTTP_DEFAULT_TTL:-7200}"
INSTALL_LOCALE: "${INSTALL_LOCALE:-en-GB}"
INSTALL_CURRENCY: "${INSTALL_CURRENCY:-EUR}"
INSTALL_ADMIN_USERNAME: "${INSTALL_ADMIN_USERNAME:-admin}"
INSTALL_ADMIN_PASSWORD: "${INSTALL_ADMIN_PASSWORD}"
PHP_SESSION_HANDLER: "${PHP_SESSION_HANDLER:-redis}"
PHP_SESSION_SAVE_PATH: "${PHP_SESSION_SAVE_PATH}"
PHP_SESSION_COOKIE_LIFETIME: "${PHP_SESSION_COOKIE_LIFETIME:-0}"
PHP_SESSION_GC_MAXLIFETIME: "${PHP_SESSION_GC_MAXLIFETIME:-1440}"
PHP_MAX_UPLOAD_SIZE: "${PHP_MAX_UPLOAD_SIZE:-128M}"
PHP_MAX_EXECUTION_TIME: "${PHP_MAX_EXECUTION_TIME:-300}"
PHP_MEMORY_LIMIT: "${PHP_MEMORY_LIMIT:-512M}"
FPM_PM: "${FPM_PM:-dynamic}"
FPM_PM_MAX_CHILDREN: "${FPM_PM_MAX_CHILDREN:-20}"
FPM_PM_START_SERVERS: "${FPM_PM_START_SERVERS:-4}"
FPM_PM_MIN_SPARE_SERVERS: "${FPM_PM_MIN_SPARE_SERVERS:-2}"
FPM_PM_MAX_SPARE_SERVERS: "${FPM_PM_MAX_SPARE_SERVERS:-6}"
BLUE_GREEN_DEPLOYMENT: "${BLUE_GREEN_DEPLOYMENT:-0}"
x-shopware-runtime-volumes: &shopware-runtime-volumes
- shopware-code:/var/www/html
- shopware-secrets:/run/shopware-secrets
- files:/var/www/html/files
- theme:/var/www/html/public/theme
- media:/var/www/html/public/media
- thumbnail:/var/www/html/public/thumbnail
- sitemap:/var/www/html/public/sitemap
services:
database:
image: mysql:8.4
restart: unless-stopped
environment:
MYSQL_DATABASE: "${DATABASE_NAME:-shopware}"
MYSQL_USER: "${DATABASE_USER:-shopware}"
MYSQL_PASSWORD: "${DATABASE_PASSWORD}"
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
healthcheck:
test:
- CMD-SHELL
- mysqladmin ping -h 127.0.0.1 -uroot -p$${MYSQL_ROOT_PASSWORD} --silent
interval: 10s
timeout: 5s
retries: 20
start_period: 30s
volumes:
- database-data:/var/lib/mysql
redis:
image: redis:7.4-alpine
restart: unless-stopped
environment:
REDIS_PASSWORD: "${REDIS_PASSWORD}"
command:
- redis-server
- --appendonly
- "yes"
- --requirepass
- "${REDIS_PASSWORD}"
healthcheck:
test:
- CMD-SHELL
- redis-cli -a "$${REDIS_PASSWORD}" ping | grep -q PONG
interval: 10s
timeout: 5s
retries: 20
volumes:
- redis-data:/data
bootstrap:
image: ${SHOPWARE_CLI_IMAGE:-shopware/shopware-cli:0.14.3-php-8.4}
restart: "no"
environment:
<<: *shopware-env
COMPOSER_ALLOW_SUPERUSER: "1"
COMPOSER_HOME: "/tmp/composer"
SHOPWARE_VERSION: "${SHOPWARE_VERSION:-6.7.12.1}"
SHOPWARE_DOCKER_VERSION: "${SHOPWARE_DOCKER_VERSION:-0.3.0}"
ENABLE_DEMO_DATA: "${ENABLE_DEMO_DATA:-1}"
DEMO_DATA_VERSION: "${DEMO_DATA_VERSION:-2.1.0}"
depends_on:
database:
condition: service_healthy
redis:
condition: service_healthy
entrypoint:
- /bin/sh
- -ec
- |
mkdir -p /run/shopware-secrets /var/www/html
if [ ! -s /run/shopware-secrets/jwt-private.pem ] || [ ! -s /run/shopware-secrets/jwt-public.pem ]; then
echo "Generating JWT keypair."
openssl genpkey -algorithm RSA -out /run/shopware-secrets/jwt-private.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in /run/shopware-secrets/jwt-private.pem -out /run/shopware-secrets/jwt-public.pem
chmod 600 /run/shopware-secrets/jwt-private.pem
chmod 644 /run/shopware-secrets/jwt-public.pem
fi
export JWT_PRIVATE_KEY="$$(cat /run/shopware-secrets/jwt-private.pem)"
export JWT_PUBLIC_KEY="$$(cat /run/shopware-secrets/jwt-public.pem)"
if [ -f /var/www/html/composer.json ] && [ -f /var/www/html/bin/console ] && [ -f /var/www/html/vendor/autoload.php ]; then
echo "Shopware source already exists. Skipping bootstrap."
exit 0
fi
if find /var/www/html -mindepth 1 -maxdepth 1 -print -quit | grep -q .; then
echo "Incomplete Shopware source detected. Cleaning bootstrap volume."
find /var/www/html -mindepth 1 -maxdepth 1 -exec rm -rf {} +
fi
tmp_dir="$$(mktemp -d)"
# Composer >=2.9 refuses to install pinned versions that are affected by
# security advisories published later. Keep the pinned bootstrap deterministic.
composer config -g audit.block-insecure false 2>/dev/null || true
composer create-project --no-interaction --prefer-dist "shopware/production:${SHOPWARE_VERSION}" "$$tmp_dir"
cd "$$tmp_dir"
composer require --no-interaction "shopware/docker:${SHOPWARE_DOCKER_VERSION}"
if [ "${ENABLE_DEMO_DATA}" = "1" ]; then
composer require --no-interaction --prefer-dist "swag/demo-data:${DEMO_DATA_VERSION}"
fi
shopware-cli project ci "$$tmp_dir"
cp -a "$$tmp_dir"/. /var/www/html/
volumes:
- shopware-code:/var/www/html
- shopware-secrets:/run/shopware-secrets
init-permissions:
image: alpine:3.21
restart: "no"
command:
- sh
- -ec
- |
mkdir -p \
/var/www/html/files \
/var/www/html/public/theme \
/var/www/html/public/media \
/var/www/html/public/thumbnail \
/var/www/html/public/sitemap \
/run/shopware-secrets
chown -R 82:82 /var/www/html /run/shopware-secrets
depends_on:
bootstrap:
condition: service_completed_successfully
volumes: *shopware-runtime-volumes
init:
image: ${SHOPWARE_BASE_IMAGE:-shopware/docker-base:8.4.19-nginx}
restart: "no"
entrypoint:
- /bin/sh
- -ec
- |
export JWT_PRIVATE_KEY="$(cat /run/shopware-secrets/jwt-private.pem)"
export JWT_PUBLIC_KEY="$(cat /run/shopware-secrets/jwt-public.pem)"
/setup
if [ "${ENABLE_DEMO_DATA:-1}" != "1" ]; then
exit 0
fi
cd /var/www/html
echo "Demo data enabled. Refreshing plugin list."
php bin/console -n plugin:refresh
if [ ! -d /var/www/html/custom/plugins/SwagPlatformDemoData ]; then
echo "SwagPlatformDemoData is not present in the volume."
echo "Continuing without demo data activation."
exit 0
fi
if ! plugin_state="$$(
php bin/console -n plugin:list --json | php -r '
$$plugins = json_decode(stream_get_contents(STDIN), true);
if (!is_array($$plugins)) {
fwrite(STDERR, "Unable to parse plugin list\n");
exit(2);
}
foreach ($$plugins as $$plugin) {
if (($$plugin["name"] ?? null) !== "SwagPlatformDemoData") {
continue;
}
$$installed = ($$plugin["installed"] ?? false) ? "1" : "0";
$$active = ($$plugin["active"] ?? false) ? "1" : "0";
echo $$installed . ":" . $$active;
exit(0);
}
fwrite(STDERR, "SwagPlatformDemoData not found in plugin list\n");
exit(1);
'
)"; then
echo "Unable to resolve SwagPlatformDemoData state."
echo "Continuing without demo data activation."
exit 0
fi
case "$${plugin_state}" in
"0:0")
echo "Installing and activating SwagPlatformDemoData."
php bin/console -n plugin:install --activate SwagPlatformDemoData
;;
"1:0")
echo "Activating existing SwagPlatformDemoData plugin."
php bin/console -n plugin:activate SwagPlatformDemoData
;;
"1:1")
echo "SwagPlatformDemoData is already active."
;;
*)
echo "Unexpected SwagPlatformDemoData state: $${plugin_state}"
echo "Continuing without demo data activation."
exit 0
;;
esac
environment: *shopware-env
depends_on:
init-permissions:
condition: service_completed_successfully
database:
condition: service_healthy
redis:
condition: service_healthy
volumes: *shopware-runtime-volumes
shopware:
image: ${SHOPWARE_BASE_IMAGE:-shopware/docker-base:8.4.19-nginx}
restart: unless-stopped
expose:
- "8000"
entrypoint:
- /bin/sh
- -ec
- |
export JWT_PRIVATE_KEY="$(cat /run/shopware-secrets/jwt-private.pem)"
export JWT_PUBLIC_KEY="$(cat /run/shopware-secrets/jwt-public.pem)"
exec /usr/bin/supervisord -c /etc/supervisord.conf
environment: *shopware-env
depends_on:
init:
condition: service_completed_successfully
volumes: *shopware-runtime-volumes
worker:
image: ${SHOPWARE_BASE_IMAGE:-shopware/docker-base:8.4.19-nginx}
restart: unless-stopped
entrypoint:
- /bin/sh
- -ec
- |
export JWT_PRIVATE_KEY="$(cat /run/shopware-secrets/jwt-private.pem)"
export JWT_PUBLIC_KEY="$(cat /run/shopware-secrets/jwt-public.pem)"
exec php bin/console messenger:consume async low_priority --time-limit=300 --memory-limit=512M
environment: *shopware-env
depends_on:
init:
condition: service_completed_successfully
volumes: *shopware-runtime-volumes
scheduler:
image: ${SHOPWARE_BASE_IMAGE:-shopware/docker-base:8.4.19-nginx}
restart: unless-stopped
entrypoint:
- /bin/sh
- -ec
- |
export JWT_PRIVATE_KEY="$(cat /run/shopware-secrets/jwt-private.pem)"
export JWT_PUBLIC_KEY="$(cat /run/shopware-secrets/jwt-public.pem)"
exec php bin/console scheduled-task:run
environment: *shopware-env
depends_on:
init:
condition: service_completed_successfully
volumes: *shopware-runtime-volumes
volumes:
database-data:
redis-data:
shopware-code:
shopware-secrets:
files:
theme:
media:
thumbnail:
sitemap:

View File

@@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511.91 110.05">
<defs>
<style>.cls-1{fill:#0870FF;}</style>
</defs>
<title>Shopware Logo (Brand Blue)</title>
<g>
<g>
<path class="cls-1" d="M150.17,55.53c-4.68-2-8.53-3.87-8.53-6.92,0-2.14,2.42-4.17,6.5-4.17a24.41,24.41,0,0,1,10.07,2.34,2.19,2.19,0,0,0,3.05-.92l1.63-3.26a2.78,2.78,0,0,0-1-3.46,26.21,26.21,0,0,0-13.74-3.46c-11.4,0-16.06,6.92-16.06,12.82,0,7.73,6,11.6,13.21,14.86,6.51,2.95,10.07,5,10.07,8.14,0,2.65-2.24,4.58-6.21,4.58-5.6,0-8.95-1.93-11.7-3.46a2.09,2.09,0,0,0-3.05.61l-2.14,4.38a1.92,1.92,0,0,0,.81,2.44,27.33,27.33,0,0,0,15.47,4.78c10.48,0,16.79-6.41,16.79-13.74C165.33,62.35,158.82,59.2,150.17,55.53Z"/>
</g>
<g>
<path class="cls-1" d="M87.77,98C83,94.4,75.94,91.66,68.48,88.77c-8.88-3.44-19-7.35-26.51-13.36C33.41,68.59,29.24,60,29.24,49.12A29.74,29.74,0,0,1,40.95,25c8.59-6.76,21.61-10.34,37.64-10.34a92.7,92.7,0,0,1,12.58.81,0.79,0.79,0,0,0,.63-1.37A55,55,0,1,0,55,110,54.63,54.63,0,0,0,87.76,99.27a0.79,0.79,0,0,0,.32-0.63A0.8,0.8,0,0,0,87.77,98Z"/>
<path class="cls-1" d="M109.83,49.94a0.8,0.8,0,0,0-.28-0.54C98.07,39.87,88.78,36,77.49,36c-6,0-10.64,1.21-13.72,3.59a10.16,10.16,0,0,0-4.08,8.31c0,9.45,11.55,13.76,24.93,18.75,6.89,2.57,14,5.23,20.56,8.86a0.75,0.75,0,0,0,.38.1,0.86,0.86,0,0,0,.27-0.05,0.79,0.79,0,0,0,.47-0.46A54.91,54.91,0,0,0,110.07,55C110.06,53.4,110,51.69,109.83,49.94Z"/>
</g>
<path class="cls-1" d="M426.12,84.26a2.52,2.52,0,0,0,2.38-2.47V57.92c0-12.21-1.49-21.67-17.21-21.67A52.73,52.73,0,0,0,394.4,39a2.22,2.22,0,0,0-1.59,2.87l1,4c0.32,1.38,1.27,2.34,2.76,2a50.57,50.57,0,0,1,13.7-2.34c6.16,0,8.07,3.51,7.86,11.26a37.68,37.68,0,0,0-9.88-1.49c-12.64,0-19.65,6.8-19.65,15.83,0,10.2,6.47,13.65,15.71,13.65,7.54,0,15.3-.09,18.53-0.3ZM418,75.6c-1.49,2.44-6.8,1.83-11.36,1.74-5.1-.11-7.65-1.89-7.65-6.25C399,66,403.32,63,409.06,63a22.33,22.33,0,0,1,8.92,1.7V75.6h0Z"/>
<path class="cls-1" d="M506.32,35.69a5.57,5.57,0,1,0-5.59-5.57A5.58,5.58,0,0,0,506.32,35.69Zm0-10.32a4.75,4.75,0,1,1-4.7,4.75A4.75,4.75,0,0,1,506.32,25.37Z"/>
<path class="cls-1" d="M504.42,32.94h0.52a0.15,0.15,0,0,0,.15-0.15v-2h1.22l1,2.1a0.16,0.16,0,0,0,.17.1h0.6a0.15,0.15,0,0,0,.14-0.23l-1.1-2A1.78,1.78,0,0,0,508.36,29a1.73,1.73,0,0,0-1.75-1.72h-2.19a0.15,0.15,0,0,0-.15.15v5.33A0.15,0.15,0,0,0,504.42,32.94Zm0.69-4.85h1.43a1,1,0,0,1,1,1,1,1,0,0,1-1,1h-1.43v-2Z"/>
<path class="cls-1" d="M196.59,35.69A22.62,22.62,0,0,0,183,40.58v-21a2.41,2.41,0,0,0-2.24-2.24H175a2.33,2.33,0,0,0-2.24,2.24v63A2.26,2.26,0,0,0,175,84.84h5.6A2.16,2.16,0,0,0,183,82.6V52.18a14,14,0,0,1,12.31-6.82c6.11,0,9.36,4.58,9.36,12.31V82.61a2.26,2.26,0,0,0,2.24,2.24h5.7a2.33,2.33,0,0,0,2.24-2.24V57.88C214.8,45.06,209.92,35.69,196.59,35.69Z"/>
<path class="cls-1" d="M315.78,58.37c-0.56-16-7.25-22.68-22.66-22.68a65,65,0,0,0-17.53,2.79c-1.6.69-2.78,1.51-2.78,2.63v59.83a2.26,2.26,0,0,0,2.24,2.24h4.72a2.2,2.2,0,0,0,2.44-2.24V84a86,86,0,0,0,14.84.8c10.88-.34,18.18-8.24,18.79-21.58a59.18,59.18,0,0,0,0-6v1.1Zm-9.83,4.87c-0.21,9.05-2.84,13.05-10.46,13.47-3.77.21-12.67-.84-12.67-0.84a0.69,0.69,0,0,1-.62-0.62V46.51a0.54,0.54,0,0,1,.49-0.54,48.7,48.7,0,0,1,10.44-1.35c9.28,0,12.55,1.36,12.85,13.11C306,59.28,306,61.45,305.95,63.24Z"/>
<path class="cls-1" d="M383.17,36.71H378.9c-1.22,0-3,0-3.56,1.43L367.81,65.2h-0.2L355,36.81a2,2,0,0,0-2-1.12h-0.71a2.13,2.13,0,0,0-1.93,1.12L337.59,65.1h-0.2l-7.73-27a2.07,2.07,0,0,0-2-1.43h-6.11a1.69,1.69,0,0,0-1.63,2.65l13.74,44.26a1.86,1.86,0,0,0,1.93,1.22h0.61A1.77,1.77,0,0,0,338,83.72l14.45-32h0.2L367,83.72a2.2,2.2,0,0,0,2,1.12h0.41a2.16,2.16,0,0,0,2.14-1.22L385,39.36C385.72,37.93,384.8,36.71,383.17,36.71Z"/>
<path class="cls-1" d="M458.23,36.25c-0.25,0-.48,0-0.73,0-0.41,0-.81,0-1.24,0-2.44,0-4.78.08-7,.19h0c-4.22.17-6.72,0.49-8.5,0.69,0,0-1.14.11-2.47,0.28a2.82,2.82,0,0,0-1.94,1,1.59,1.59,0,0,0-.44,1.11V82.59a2.26,2.26,0,0,0,2.24,2.24h4.68c1.93,0,3.26-.2,3.26-2.24V53.47h0V46.79A1.39,1.39,0,0,1,446.8,46c1.15-.69,3.91-1.19,9.46-1.19l1.29,0a14.17,14.17,0,0,1,3.93.88,2,2,0,0,0,2.85-1.12l2.44-4C468.3,37.47,462.71,36.25,458.23,36.25Z"/>
<path class="cls-1" d="M490.44,35.69C476.3,35.69,467,47,467,60.21c0,13.43,9.26,24.62,23.5,24.62,7.83,0,14-2.85,17.4-5.8,1.42-1.22,1-2.14.2-3.15l-2.75-4.27c-0.81-1.22-1.73-.92-2.75-0.2a18.28,18.28,0,0,1-11.5,4c-8.24,0-13.94-6.51-14-12.82h32.46a2.21,2.21,0,0,0,2.14-2c0.1-.81.2-2.44,0.2-3.26C511.9,44.75,502.65,35.69,490.44,35.69ZM477.62,55c0.71-5.9,5.19-10.68,12.62-10.68,6.92,0,11.4,5,11.6,10.68H477.62Z"/>
<path class="cls-1" d="M264.64,50.23a23.16,23.16,0,0,0-4.46-7.79,19.63,19.63,0,0,0-6.85-5,26.65,26.65,0,0,0-19,0,19.72,19.72,0,0,0-6.85,5A23.16,23.16,0,0,0,223,50.23a30.25,30.25,0,0,0-1.59,10A30.11,30.11,0,0,0,223,70.35a23.21,23.21,0,0,0,4.46,7.74,19.63,19.63,0,0,0,6.85,5,26.8,26.8,0,0,0,19,0,19.72,19.72,0,0,0,6.85-5,23.21,23.21,0,0,0,4.46-7.74,30.11,30.11,0,0,0,1.59-10.08A30.25,30.25,0,0,0,264.64,50.23Zm-21.1,26.51c-8.49,0-12.77-7.19-12.77-16.06S235,44.62,243.54,44.62s12.77,7.19,12.77,16.06S252,76.74,243.54,76.74Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,19 @@
{
"id": "shopware",
"name": "Shopware",
"version": "6.7.8.2",
"description": "One-click Shopware 6 blueprint with bundled MySQL, Redis, bootstrap, init, worker, and scheduler services.",
"logo": "logo.svg",
"links": {
"github": "https://github.com/shopware/shopware",
"website": "https://www.shopware.com/",
"docs": "https://developer.shopware.com/"
},
"tags": [
"e-commerce",
"shop",
"php",
"mysql",
"redis"
]
}

View File

@@ -0,0 +1,78 @@
[variables]
main_domain = "${domain}"
app_url = "http://${main_domain}"
app_secret = "${hash:64}"
instance_id = "${hash:32}"
database_name = "shopware"
database_user = "shopware"
database_password = "${hash:32}"
mysql_root_password = "${hash:32}"
redis_password = "${hash:32}"
database_url = "mysql://${database_user}:${database_password}@database:3306/${database_name}?charset=utf8mb4"
lock_dsn = "redis://:${redis_password}@redis:6379/1"
php_session_save_path = "tcp://redis:6379?auth=${redis_password}"
install_admin_username = "admin"
install_admin_password = "${password:20}"
shopware_version = "6.7.12.1"
shopware_docker_version = "0.3.0"
shopware_cli_image = "shopware/shopware-cli:0.14.3-php-8.4"
shopware_base_image = "shopware/docker-base:8.4.19-nginx"
enable_demo_data = "1"
demo_data_version = "2.1.0"
[config]
[[config.domains]]
serviceName = "shopware"
port = 8000
host = "${main_domain}"
[config.env]
APP_ENV = "prod"
APP_URL = "${app_url}"
APP_SECRET = "${app_secret}"
INSTANCE_ID = "${instance_id}"
SHOPWARE_VERSION = "${shopware_version}"
SHOPWARE_DOCKER_VERSION = "${shopware_docker_version}"
SHOPWARE_CLI_IMAGE = "${shopware_cli_image}"
SHOPWARE_BASE_IMAGE = "${shopware_base_image}"
ENABLE_DEMO_DATA = "${enable_demo_data}"
DEMO_DATA_VERSION = "${demo_data_version}"
DATABASE_HOST = "database"
DATABASE_PORT = "3306"
DATABASE_NAME = "${database_name}"
DATABASE_USER = "${database_user}"
DATABASE_PASSWORD = "${database_password}"
DATABASE_URL = "${database_url}"
MYSQL_ROOT_PASSWORD = "${mysql_root_password}"
REDIS_HOST = "redis"
REDIS_PORT = "6379"
REDIS_PASSWORD = "${redis_password}"
MAILER_DSN = "null://localhost"
LOCK_DSN = "${lock_dsn}"
TRUSTED_PROXIES = "private_ranges"
SYMFONY_TRUSTED_PROXIES = "private_ranges"
SYMFONY_TRUSTED_HEADERS = "x-forwarded-for,x-forwarded-host,x-forwarded-proto,x-forwarded-port,x-forwarded-prefix"
COMPOSER_PLUGIN_LOADER = "1"
SHOPWARE_HTTP_CACHE_ENABLED = "1"
SHOPWARE_HTTP_DEFAULT_TTL = "7200"
INSTALL_LOCALE = "en-GB"
INSTALL_CURRENCY = "EUR"
INSTALL_ADMIN_USERNAME = "${install_admin_username}"
INSTALL_ADMIN_PASSWORD = "${install_admin_password}"
PHP_SESSION_HANDLER = "redis"
PHP_SESSION_SAVE_PATH = "${php_session_save_path}"
PHP_SESSION_COOKIE_LIFETIME = "0"
PHP_SESSION_GC_MAXLIFETIME = "1440"
PHP_MAX_UPLOAD_SIZE = "128M"
PHP_MAX_EXECUTION_TIME = "300"
PHP_MEMORY_LIMIT = "512M"
FPM_PM = "dynamic"
FPM_PM_MAX_CHILDREN = "20"
FPM_PM_START_SERVERS = "4"
FPM_PM_MIN_SPARE_SERVERS = "2"
FPM_PM_MAX_SPARE_SERVERS = "6"
MESSENGER_TRANSPORT_DSN = "doctrine://default?queue_name=async"
MESSENGER_TRANSPORT_LOW_PRIORITY_DSN = "doctrine://default?queue_name=low_priority"
MESSENGER_TRANSPORT_FAILURE_DSN = "doctrine://default?queue_name=failed"
BLUE_GREEN_DEPLOYMENT = "0"