- No cachetool: its web adapter needs PHP below www.ep-reisen.de/typo3temp,
which is the static docroot in the hybrid setup (blocked, and not the
release's typo3temp). Not needed: the exporter's front controller stubs
resolve the "current" symlink with readlink() on every request.
- additional.php only merges secrets.php when it returns an array:
Deployer creates an empty shared file on the first deploy.
- public/.htaccess sets TYPO3_CONTEXT=Production/Staging for
staging.ep-reisen.de, the smoke-test vhost.
- dep host:check: read-only checks of the host before the first deploy.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
settings.php now holds production values (no debug, no devIPmask,
displayErrors off, warnings logged instead of thrown, deprecation log
off, sendmail, trustedHostsPattern for the production domains,
FE.compressionLevel 0 as the CDN compresses). The development values
moved into the DDEV block of additional.php. secrets.example.php gets
the production database connection.
Composer platform: PHP 8.5.12 (the version Hetzner rolls out).
Deployer 8 as dev dependency for the deployment.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
additional.php is maintained in Git now (taken over from DDEV's
generated file): DDEV settings apply inside DDEV only, and
secrets.php (gitignored, template secrets.example.php) is merged in
everywhere, ignoring empty values. The web container reaches the local
MyE&P project as myep-next.ddev.site, as in EP/website.
Co-Authored-By: Claude Opus 5.5 <[email protected]>