Skip to content

Instantly share code, notes, and snippets.

@sorenmalling
Created October 18, 2021 10:20
Show Gist options
  • Save sorenmalling/7d3f17890dc4eba5415eb9ac51ae6128 to your computer and use it in GitHub Desktop.
Save sorenmalling/7d3f17890dc4eba5415eb9ac51ae6128 to your computer and use it in GitHub Desktop.
name: app
type: php:7.4
dependencies:
php:
composer/composer: '^2'
runtime:
extensions:
- redis
# Composer build tasks run prior to build hook, which runs
# composer --no-ansi --no-interaction install --no-progress --prefer-dist --optimize-autoloader
build:
flavor: composer
relationships:
# MariaDB/MySQL will then be accessible to the app from 'database' relationship.
# The service name `db` must match the top-level attribute in `.platform/services.yaml`.
database: 'db:mysql'
# Redis will then be accessible to the app from 'rediscache' relationship.
# The service name `cache` must match the top-level attribute in `.platform/services.yaml`.
rediscache: 'cache:redis'
# The configuration of app when it is exposed to the web.
web:
locations:
'/':
root: 'public'
passthru: '/index.php'
index:
- 'index.php'
allow: false
# Rules for specific URI patterns.
rules:
# Allow access to common static files.
'\.(jpe?g|png|gif|svgz?|css|js|map|ico|bmp|eot|woff2?|otf|ttf)$':
allow: true
expires: 4w
'^/robots\.txt$':
allow: true
'^/sitemap\.xml$':
allow: true
'/typo3':
root: 'public/typo3'
passthru: '/typo3/index.php'
index:
- 'index.php'
allow: false
rules:
# Allow access to common static files.
'\.(jpe?g|png|gif|svgz?|css|js|map|ico|bmp|eot|woff2?|otf|ttf)$':
allow: true
expires: 4w
'/fileadmin':
root: 'public/fileadmin'
scripts: false
allow: true
passthru: '/index.php'
rules:
# Allow access to common static files.
'\.(jpe?g|png|gif|svgz?|css|js|map|ico|bmp|eot|woff2?|otf|ttf)$':
allow: true
expires: 4w
'/typo3temp/assets':
root: 'public/typo3temp/assets'
scripts: false
allow: true
passthru: '/index.php'
expires: 4w
'/typo3conf/LocalConfiguration.php':
allow: false
'/typo3conf/AdditionalConfiguration.php':
allow: false
# The size of the persistent disk of the application (in MB).
disk: 2048
# The 'mounts' describe writable, persistent filesystem mounts in the application.
mounts:
"public/typo3temp":
source: local
source_path: "typo3temp"
"public/fileadmin":
source: local
source_path: "fileadmin"
"var":
source: local
source_path: "var"
# The hooks that will be performed when the package is deployed.
hooks:
# The build hook runs after Composer to finish preparing up your code.
# No services are available but the disk is writeable.
build: |
# Exit hook immediately if a command exits with a non-zero status.
set -e
# Enable the install tool for 60mins after deployment.
touch public/typo3conf/ENABLE_INSTALL_TOOL
# Keep the checked-in LocalConfiguration available, but make the actual file writable later-on
# by creating a symlink which will be accesible below.
if [ -f public/typo3conf/LocalConfiguration.php ]; then
mv public/typo3conf/LocalConfiguration.php public/typo3conf/LocalConfiguration.FromSource.php
ln -sf ../../var/LocalConfiguration.php public/typo3conf/LocalConfiguration.php
fi;
# Clean up the FIRST_INSTALL file, that was created.
if [ -f public/FIRST_INSTALL ]; then
rm public/FIRST_INSTALL
fi;
php vendor/bin/typo3 cache:flush --group system
# The deploy hook runs after your application has been deployed and started.
# Code cannot be modified at this point but the database is available.
# The site is not accepting requests while this script runs so keep it
# fast.
deploy: |
# Exit hook immediately if a command exits with a non-zero status.
set -e
php vendor/bin/typo3 extension:setup
post_deploy:
php vendor/bin/typo3 cache:flush --group pages
crons:
# Run TYPO3's Scheduler tasks every 5 minutes.
typo3:
spec: "*/5 * * * *"
cmd: "vendor/bin/typo3 scheduler:run"
{
"name": "site/distribution",
"description": "'Site distribution",
"repositories": [
{ "type": "path", "url": "packages/*" }
],
"config": {
"sort-packages": true,
"platform": {
"php": "7.4.1"
}
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"ext-simplexml": "*",
"b13/bolt": "^2.1",
"b13/container": "^1.3",
"site/site": "@dev",
"helhum/typo3-console": "^7.0",
"platformsh/config-reader": "^2.4",
"typo3/cms-adminpanel": "^11.5",
"typo3/cms-backend": "^11.5",
"typo3/cms-core": "^11.5",
"typo3/cms-extbase": "^11.5",
"typo3/cms-extensionmanager": "^11.5",
"typo3/cms-filelist": "^11.5",
"typo3/cms-fluid": "^11.5",
"typo3/cms-fluid-styled-content": "^11.5",
"typo3/cms-frontend": "^11.5",
"typo3/cms-info": "^11.5",
"typo3/cms-install": "^11.5",
"typo3/cms-lowlevel": "^11.5",
"typo3/cms-recordlist": "^11.5",
"typo3/cms-redirects": "^11.5",
"typo3/cms-scheduler": "^11.5",
"typo3/cms-seo": "^11.5",
"typo3/cms-tstemplate": "^11.5"
},
"require-dev": {
"helhum/dotenv-connector": "^3.0"
},
"extra": {
"typo3/cms": {
"web-dir": "public"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment