This repository is used with ddev add-on get ddev/ddev-platformsh
to get a rich integration between your checked-out Platform.sh project and DDEV.
Make sure you have DDEV v1.23.3+ installed
- Clone your project repository (e.g.
platform get <projectid>
) cd
into your project directory- Run
ddev config
and answer the questions as appropriate - Run
ddev add-on get ddev/ddev-platformsh
(orddev get ddev/ddev-platformsh
if your DDEV version is older than v1.23.5) and answer the questions as appropriate - Run
ddev start
- (Optional) Run
ddev pull platform
to retrieve a copy of the database and contents from the project's file mounts from the environment you entered in step #5. (If you only want to retrieve the database (skipping the file mounts), add the--skip-files
flag to theddev pull platform
command.)
To upgrade your version of ddev-platformsh, repeat the ddev add-on get ddev/ddev-platformsh
to get the latest release. To see the installed version, ddev add-on list --installed
.
If you change your .platform.app.yaml
or something in your .platform
directory, repeat the ddev add-on get ddev/ddev-platformsh
so that the generated configuration for DDEV will be updated.
- If your local project has a different database type than the upstream (Platform.sh) database, it will conflict, so please back up your database with
ddev export-db
andddev delete
before starting the project with new config based on upstream. - Your experience is super-important: Please let us know about how it went for you in any of the DDEV support venues
- Works with many projects of type
php
, for example,php:8.2
orphp:8.3
. It does not work with non-php projects. - Takes your checked-out Platform.sh project and configures DDEV based on that information.
- PHP and Database version
- hooks are converted to DDEV post-start hooks
- A working
ddev pull platform
integration with all mounts is created. - Exposes specific
$PLATFORM_
variables (e.g.,$PLATFORM_RELATIONSHIPS
,$PLATFORM_ROUTES
)
- Supports the following services:
- Databases
- MariaDB
- Oracle MySQL
- Postgresql
- Redis
- Redis-persistent
- Memcached
- ElasticSearch
- Databases
- Provides the following Platform.sh-provided environmental variables:
- PLATFORM_APP_DIR
- PLATFORM_APPLICATION_NAME
- PLATFORM_CACHE_DIR
- PLATFORM_ENVIRONMENT
- PLATFORM_PROJECT
- PLATFORM_PROJECT_ENTROPY
- PLATFORM_RELATIONSHIPS
- PLATFORM_ROUTES
- PLATFORM_TREE_ID
- PLATFORM_VARIABLES
These Platform.sh templates are included in the automated tests that run nightly. They will be growing in maturity with your feedback!
(Each of the above but magento2ce has automated tests.)
- Populate important PLATFORMSH environment variables that would be found upstream
- Populate PHP and other dependencies configured upstream
- Automatically figure out the name and other information of the upstream project
- Automatically configure the .ddev/providers/platform so you can immediately do a
ddev pull platform
with no configuration effort. - Let us know what's important to you!
Maintained by @rfay