Skip to content

Environment Setup and Database Requirements

Environment Setup and Database Requirements ​

Database requirements ​

Deployment Helper requires a working MySQL/MariaDB database that is:

  • Accessible at the DATABASE_URL before the helper runs
  • Writable with permissions to create tables and insert data
  • Compatible with the Shopware version being deployed

Deployment Helper does not require an existing schema; if the database is empty, it creates everything via system:install.

Detection: Shopware is considered "installed" if all three exist:

  • system_config table (with content)
  • At least one row in user table
  • At least one row in sales_channel table

If the database has the schema but no users or sales channels, DH treats it as not installed and runs system:install again.

What gets created on fresh install ​

When Deployment Helper runs system:install on a fresh database, it creates:

  • Database schema (all Shopware tables)
  • One admin user with credentials from environment variables:
    • Username: INSTALL_ADMIN_USERNAME (default: admin)
    • Password: INSTALL_ADMIN_PASSWORD (default: shopware; change this!)
    • Email: INSTALL_ADMIN_EMAIL (optional, defaults to empty)
  • One Storefront sales channel (customer-facing shop):
    • Name: Storefront
    • URL: SALES_CHANNEL_URL or APP_URL (defaults to http://localhost)
  • Default theme assignment (Shopware's Storefront theme)
  • Messenger transport tables and queues
  • All configured plugins and apps (unless excluded)

Note: You need to create additional admin users, sales channels, or custom configurations manually after installation (via Admin UI or bin/console commands). Deployment Helper sets up only the minimal required structure.

Environment variables ​

Configure the Shopware installation and Deployment Helper via environment variables. On Shopware PaaS, use the Vault for sensitive values (email, password, tokens).

Installation and initial setup ​

These variables apply only on fresh installation (system:install):

VariableDefaultPurpose
INSTALL_LOCALEen-GBLocale for the shop (e.g., de-DE, fr-FR)
INSTALL_CURRENCYEURCurrency for the first sales channel
INSTALL_ADMIN_USERNAMEadminUsername of the initial admin user
INSTALL_ADMIN_PASSWORDshopwarePassword for the initial admin user
INSTALL_ADMIN_EMAIL(empty)Email address of the admin user
SALES_CHANNEL_URLhttp://localhostURL of the Storefront sales channel
APP_URL(not set)Fallback URL for Storefront if SALES_CHANNEL_URL is not set

WARNING

Change INSTALL_ADMIN_PASSWORD from the default immediately. The default is a security risk in production.

Database connection ​

VariableRequiredPurpose
DATABASE_URLYesDatabase connection string (e.g., mysql://user:pass@host:3306/shop)
DATABASE_SSL_CANoPath to TLS CA certificate for DB connection
DATABASE_SSL_CERTNoPath to TLS client certificate
DATABASE_SSL_KEYNoPath to TLS client key
DATABASE_SSL_DONT_VERIFY_SERVER_CERTNoSet to any value to skip server-certificate verification (dev/test only)

See SSL/TLS Setup for certificate details.

Deployment control ​

VariableValuesPurpose
SHOPWARE_DEPLOYMENT_TIMEOUTSeconds (default: 300)Max time a single deployment step can run; set to null to disable
SHOPWARE_DEPLOYMENT_FORCE_REINSTALL1 or unsetSet to 1 to force fresh install with --drop-database (destroys existing data!)
SHOPWARE_DEPLOYMENT_STAGING1 or unsetSet to 1 to enable staging mode on every deployment
SHOPWARE_PROJECT_CONFIG_FILEFile pathCustom project configuration path (absolute or relative to project root)

Store authentication ​

Required if installing apps. Optional if you only use plugins (custom code in custom/plugins).

VariableAlternativePurpose
SHOPWARE_STORE_ACCOUNT_EMAILSHOPWARE_STORE_SHOP_SECRETEmail for Shopware Account (use one or the other)
SHOPWARE_STORE_ACCOUNT_PASSWORDSHOPWARE_STORE_SHOP_SECRETPassword for Shopware Account (use one or the other)
SHOPWARE_STORE_SHOP_SECRETEMAIL+PASSWORDPre-configured shop secret (PaaS Native only; alternative to email/password)
SHOPWARE_STORE_LICENSE_DOMAINYAML configThe license domain (overrides deployment.store.license-domain in YAML)

Choose one auth method:

  • Email + Password: SHOPWARE_STORE_ACCOUNT_EMAIL + SHOPWARE_STORE_ACCOUNT_PASSWORD
  • Shop Secret: SHOPWARE_STORE_SHOP_SECRET (PaaS Native only)

Usage and compliance ​

VariableValuesPurpose
SHOPWARE_USAGE_DATA_CONSENTaccepted or revokedEnable/disable Shopware Usage Data collection (overrides Admin setting). Note: Shopware cannot collect data from its own hosted environments for legal reasons.
DO_NOT_TRACKAny valueOpt out of Deployment Helper telemetry

Fastly integration ​

VariablePurpose
FASTLY_API_TOKENAPI token for Fastly (required to deploy VCL snippets)
FASTLY_SERVICE_IDFastly Service ID (required to deploy VCL snippets)
FASTLY_DISABLE_SNIPPET_UPDATESet to 1 to disable automatic VCL snippet updates during run
Was this page helpful?
UnsatisfiedSatisfied
Be the first to vote!
0.0 / 5  (0 votes)