Member of the Board of the TYPO3 Association • various TYPO3 community involvement (Content Team, TYPO3camp Munich, TYPO3 Meetup Munich) Twitter: @cybersmog Mail: [email protected] Slides: https://speakerdeck.com/peterkraume
PHP, MySQL and Apache • integrated packages like WAMP, MAMP, XAMPP • virtual machines like VirtualBox or VMWare • containers like Docker All of these solutions require in-depth knowledge or are time consuming to set them up!
on Docker • creates automatically container for webserver and database (and more) • built in support für TYPO3, Drupal, Magento, Laravel, WordPress and Backdrop • open source software • maintained by Drud Technology LLC from Denver, USA • Drud is very community driven to adapt DDEV optimally for TYPO3 and the other systems
in-depth knowledge about Docker! • Cross-platform availability • you can import your already existing projects • capable to handle multiple projects at a time • each project can have multiple host names • support for Apache & Nginx and different PHP versions (currently 5.6 - 7.4) • locally trusted SSL out-of-box for every hostname • lots of useful developer tools are already included, like • Git, Composer, npm, yarn, phpMyAdmin, Mailhog, Xdebug • additional containers, e.g. for Solr can be connected
with WSL2 (version 2004 or later) • (Non-WSL2) Windows 10 Home, Pro, or Enterprise with Docker Desktop for Windows • macOS 10.13 High Sierra or later with Docker for Mac • Linux: Most Linux distributions which can run Docker-ce are fine. This includes at least Ubuntu 16.04+, Debian Jessie+, Fedora 25+ • Docker 18.06 or higher • docker-compose 1.21.0 and higher
stop => stop current project - no data is lost! ddev poweroff => stop all projects - no data is lost! ddev describe => show project infos ddev config --php-version 7.3 => change config without editing the yaml file ddev composer […] => executes composer commands in the web container ddev share => share project on the internet via ngrok
command in the container ddev ssh => Starts a shell session in the container ddev import-db --src=dump.sql.gz => import DB dumps (sql, sql.gz, tar.gz, zip) ddev logs => get the logs from your running services ddev snapshot => create a database snapshot ddev restore-snapshot => restore a project's database
installation, DDEV creates the file for you and already enters the database credentials • for existing projects you need to enter the credentials manually (see ddev describe for the credentials) • enable xdebug support: • ddev xdebug on
version, webserver type, custom environment variables, web server settings • Additional Services • e.g. Solr, Redis, Blackfire.io • Defining Custom Services with Docker Compose • e.g. to set the TYPO3_CONTEXT • Customizing Docker Images • e.g. add further PHP Modules like php-yaml • Custom Commands • Global or project specific commands to run either on the host or in a container • In-container Configuration • e.g. custom Git or SSH configuration • Hooks • can be used to automate setup tasks specific to your project • define them in the project's config.yaml file