Ddev workshop t3dd18

J
Jigal van HemertTYPO3 Developer
DDEV
Jigal van Hemert
jigal.van.hemert@typo3.org
@jigalvh
Docker made easy
D-WHAT??
23-06-2018 ddev: docker made easy 2
CONTAINERS - DOCKER
 Lightweight virtual machine
 Linux based, compressed
 Supported by major virtualization players
 Supported in deployment solutions
23-06-2018 ddev: docker made easy 3
DDEV - DOCKER
 DDEV:
 pre-built containers
 configuration for WordPress, Drupal,
Backdrop, TYPO3
 Contains: db, nginx, solr, PHP 5.6-7.2, xdebug
 Your own additional services
23-06-2018 ddev: docker made easy 4
WORKSHOP
23-06-2018 ddev: docker made easy 5
AGENDA
23-06-2018 6ddev: docker made easy
1. Requirements
2. Installation
3. Project configuration
4. Daily use
5. Extending the configuration
REQUIREMENTS
What do I need to run ddev?
23-06-2018 ddev: docker made easy 7
REQUIREMENTS
 Docker version 17.05 or higher
 Docker compose 1.10.0 or higher
 macOS Sierra and higher
 Windows 10 Pro (Home recently supported)
 Linux (Ubuntu 14.04+, Debian Jessie+, Fedora 25+, ...)
23-06-2018 ddev: docker made easy 8
INSTALLATION
Get things running...
23-06-2018 ddev: docker made easy 9
INSTALLATION
Homebrew – macOS
23-06-2018 ddev: docker made easy 10
brew tap drud/ddev && brew install ddev
INSTALLATION
Linux and macOS – install script
23-06-2018 ddev: docker made easy 11
curl https://raw.githubusercontent.com/↲
drud/ddev/master/install_ddev.sh | bash
INSTALLATION
Windows 10
23-06-2018 ddev: docker made easy 12
ddev_windows_installer.<version>.exe
PROJECT
CONFIGURATION
Set up a project
23-06-2018 ddev: docker made easy 13
CONFIGURATION
23-06-2018 ddev: docker made easy 14
ddev config
CONFIGURATION
 Name
 Docroot
 Type of project
23-06-2018 ddev: docker made easy 15
DAILY USE
Get productive
23-06-2018 ddev: docker made easy 16
CONFIGURATION
23-06-2018 ddev: docker made easy 17
ddev start
CONFIGURATION
 Starts environment
 Checks/creates containers
 Creates/starts router
23-06-2018 ddev: docker made easy 18
CONFIGURATION
23-06-2018 ddev: docker made easy 19
ddev stop
CONFIGURATION
 Stops router
 Shuts down containers
 Stops environment
23-06-2018 ddev: docker made easy 20
LET’S
START A
PROJECT
23-06-2018 ddev: docker made easy 21
DEMO PROJECT
23-06-2018 ddev: docker made easy 22
mkdir ddevproject
cd ddevproject
DEMO PROJECT
23-06-2018 ddev: docker made easy 23
ddev config
DEMO PROJECT
23-06-2018 ddev: docker made easy 24
Creating a new ddev project config in the current directory (D:t3dd18ddevproject)
Once completed, your configuration will be written to D:t3dd18ddevproject.ddev
config.yaml
Project name (ddevproject):
The docroot is the directory from which your site is served. This is a relative path
from your project root (D:t3dd18ddevproject)
You may leave this value blank if your site files are in the project root
Docroot Location (current directory):
Found a php codebase at D:t3dd18ddevproject.
Project Type [php, drupal6, drupal7, drupal8, wordpress, typo3, backdrop] (php):
typo3
TYPO3 does not seem to have been set up yet, missing LocalConfiguration.php (D:
t3dd18ddevprojecttypo3confAdditionalConfiguration.php)
Generating LocalConfiguration.php file for database connection.
Unable to create settings file: Failed to write TYPO3 AdditionalConfiguration.php
file: chmod D:t3dd18ddevprojecttypo3conf: The system cannot find the file
specified.
Configuration complete. You may now run 'ddev start'.
DEMO PROJECT
23-06-2018 ddev: docker made easy 25
ddev start
DEMO PROJECT
23-06-2018 ddev: docker made easy 26
Starting environment for ddevproject...
Warning: containers will run as root. This is fine on Docker
for Windows or Docker for Mac, but could be a security risk on
Linux.
Starting ddev-ddevproject-db ... done
Starting ddev-ddevproject-dba ... done
Starting ddev-ddevproject-web ... done
Network ddev_default is external, skipping
Creating ddev-router ... done
Successfully started ddevproject
Your project can be reached at http://ddevproject.ddev.local,
https://ddevproject.ddev.local
DEMO PROJECT
23-06-2018 ddev: docker made easy 27
ddev hostname ddevproject.ddev.local
127.0.0.1
ddev hostname ddevproject.ddev.local ::1
DEMO PROJECT
23-06-2018 ddev: docker made easy 28
ddev ssh
winpty ddev ssh
Windows:
DEMO PROJECT
23-06-2018 ddev: docker made easy 29
Warning: containers will run as root. This
is fine on Docker for Windows or
Docker for Mac, but could be a security
risk on Linux.
Warning: containers will run as root. This
is fine on Docker for Windows or
Docker for Mac, but could be a security
risk on Linux.
DEMO PROJECT
23-06-2018 ddev: docker made easy 30
composer create-project
jigal/ddevt3dd18 ./temptarget
DEMO PROJECT
23-06-2018 ddev: docker made easy 31
Installing jigal/ddevt3dd18 (dev-master 448831c4595bf10bc213d182cc7be47d2dfc834c)
- Installing jigal/ddevt3dd18 (dev-master master): Cloning master
Created project in ./temptarget
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 48 installs, 0 updates, 0 removals
- Installing typo3/class-alias-loader (1.0.0): Downloading (100%)
- Installing typo3/cms-composer-installers (v1.5.2): Downloading (100%)
- Installing helhum/typo3-console-plugin (2.0.4): Downloading (100%)
- Installing symfony/dotenv (v4.1.0): Downloading (100%)
- Installing helhum/dotenv-connector (v2.1.0): Downloading (100%)
- Installing mso/idna-convert (v1.1.0): Downloading (100%)
- Installing cogpowered/finediff (0.3.1): Downloading (100%)
- Installing helhum/config-loader (v0.9.0): Downloading (100%)
- Installing symfony/process (v4.1.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%)
- Installing symfony/console (v4.1.0): Downloading (100%)
- Installing psr/log (1.0.2): Loading from cache
- Installing doctrine/lexer (v1.0.1): Downloading (100%)
- Installing doctrine/annotations (v1.6.0): Downloading (100%)
- Installing typo3/cms-core (v8.7.16): Downloading (100%)
- Installing typo3/cms-scheduler (v8.7.16): Downloading (100%)
- Installing helhum/typo3-console (5.4.0): Downloading (100%)
- Installing typo3fluid/fluid (2.5.3): Downloading (100%)
- Installing symfony/finder (v4.1.0): Downloading (100%)
- Installing doctrine/inflector (v1.3.0): Downloading (100%)
- Installing doctrine/collections (v1.5.0): Downloading (100%)
- Installing doctrine/cache (v1.7.1): Downloading (100%)
- Installing doctrine/common (v2.7.3): Downloading (100%)
- Installing doctrine/dbal (v2.5.13): Downloading (100%)
- Installing guzzlehttp/promises (v1.3.1): Downloading (100%)
- Installing psr/http-message (1.0.1): Downloading (100%)
- Installing guzzlehttp/psr7 (1.4.2): Downloading (100%)
- Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)
DEMO PROJECT
23-06-2018 ddev: docker made easy 32
- Installing doctrine/instantiator (1.0.5): Downloading (100%)
- Installing symfony/polyfill-ctype (v1.8.0): Downloading (100%)
- Installing swiftmailer/swiftmailer (v5.4.9): Downloading (100%)
- Installing helhum/typo3-composer-setup (v0.5.2): Downloading (100%)
- Installing typo3/cms-sv (v8.7.16): Downloading (100%)
- Installing symfony/yaml (v4.1.0): Downloading (100%)
- Installing typo3/cms-saltedpasswords (v8.7.16): Downloading (100%)
- Installing typo3/cms-recordlist (v8.7.16): Downloading (100%)
- Installing typo3/cms-extensionmanager (v8.7.16): Downloading (100%)
- Installing typo3/cms-lang (v8.7.16): Downloading (100%)
- Installing typo3/cms-extbase (v8.7.16): Downloading (100%)
- Installing typo3/cms-fluid (v8.7.16): Downloading (100%)
- Installing typo3/cms-install (v8.7.16): Downloading (100%)
- Installing typo3/cms-frontend (v8.7.16): Downloading (100%)
- Installing typo3/cms-filelist (v8.7.16): Downloading (100%)
- Installing typo3/cms-cshmanual (v8.7.16): Downloading (100%)
- Installing typo3/cms-backend (v8.7.16): Downloading (100%)
- Installing typo3/cms-fluid-styled-content (v8.7.16): Downloading (100%)
- Installing typo3/cms-rte-ckeditor (v8.7.16): Downloading (100%)
helhum/config-loader suggests installing ext-yaml (For improved performance when parsing yaml files you should use the PECL YAML Parser php extension)
symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing symfony/lock ()
symfony/console suggests installing psr/log-implementation (For using the console logger)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
helhum/typo3-composer-setup suggests installing pagemachine/typo3-composer-legacy-cli (Provides the legacy cli_dispatch.phpsh entry point for TYPO3.)
typo3/cms-saltedpasswords suggests installing typo3/cms-rsaauth (*)
typo3/cms-rte-ckeditor suggests installing typo3/cms-setup (*)
Writing lock file
Generating autoload files
Registered helhum/dotenv-connector
Generating class alias map file
Inserting class alias loader into main autoload.php file
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?Y
DEMO PROJECT
23-06-2018 ddev: docker made easy 33
mv temptarget/* .
mv temptarget/.gitignore .
rmdir temptarget
DEMO PROJECT
23-06-2018 ddev: docker made easy 34
composer dumpautoload
exit
ddev config
DEMO PROJECT
23-06-2018 ddev: docker made easy 35
You are reconfiguring the project at D:t3dd18ddevproject.
The existing configuration will be updated and replaced.
Project name (ddevproject):
The docroot is the directory from which your site is served. This is a
relative path from your project root (D:t3dd18ddevproject)
You may leave this value blank if your site files are in the project root
Docroot Location (web):
Found a typo3 codebase at D:t3dd18ddevprojectweb.
Project Type [wordpress, typo3, backdrop, php, drupal6, drupal7, drupal8]
(typo3):
TYPO3 does not seem to have been set up yet, missing
LocalConfiguration.php (D:t3dd18ddevprojectwebtypo3conf
AdditionalConfiguration.php)
Generating LocalConfiguration.php file for database connection.
Configuration complete. You may now run 'ddev start'.
DEMO PROJECT
23-06-2018 ddev: docker made easy 36
ddev start
winpty ddev ssh
DEMO PROJECT
23-06-2018 ddev: docker made easy 37
../vendor/bin/typo3cms install:setup
DEMO PROJECT
23-06-2018 ddev: docker made easy 38
Welcome to the TYPO3 Console installer!
✔ Prepare installation
✔ Check environment and create folders
✔ Skipped Set up database connection
✔ Skipped Select database
➤  Set up database
Username of to be created administrative user account (required): jigal
Password of to be created administrative user account (required):
Name of the TYPO3 site (default: "New TYPO3 Console site"): ddevt3dd18
✔ Ok
➤  Set up configuration
Specify the site setup type (default: "no"):
[no ] Do nothing
[site] Create root page
> site
✔ Ok
✔ Set up extensions
Successfully installed TYPO3 CMS!
DEMO PROJECT BACKEND
23-06-2018 ddev: docker made easy 39
DEMO PROJECT FRONTEND
23-06-2018 ddev: docker made easy 40
WHAT ELSE IS
THERE?
23-06-2018 ddev: docker made easy 41
PHP VERSION
23-06-2018 ddev: docker made easy 42
ddev describe
PHP VERSION
23-06-2018 ddev: docker made easy 43
NAME TYPE LOCATION URL(s) STATUS
ddevproject typo3 D:/t3dd18/ddevproject http://ddevproject.ddev.local running
https://ddevproject.ddev.local
Project Information
-----------------
PHP version: 7.1
URLs: http://ddevproject.ddev.local, https://ddevproject.ddev.local
MySQL Credentials
-----------------
Username: db
Password: db
Database name: db
Host: db
Port: 3306
To connect to mysql from your host machine, use port 32768 on 127.0.0.1.
For example: mysql --host=127.0.0.1 --port=32768 --user=db --password=db --database=db
Other Services
--------------
MailHog: http://ddevproject.ddev.local:8025
phpMyAdmin: http://ddevproject.ddev.local:8036
DDEV ROUTER STATUS: healthy
PHP VERSION
23-06-2018 ddev: docker made easy 44
less .ddev/config.yaml
PHP VERSION
23-06-2018 ddev: docker made easy 45
APIVersion: "1"
name: ddevproject
type: typo3
docroot: web
php_version: "7.1"
webimage: drud/nginx-php-fpm-local:v1.2.2
dbimage: drud/mariadb-local:v0.9.0
dbaimage: drud/phpmyadmin:v0.2.0
router_http_port: "80"
router_https_port: "443"
additional_hostnames: []
provider: default
# Key features of ddev's config.yaml:
# name: <projectname> # Name of the project, automatically provides
# http://projectname.ddev.local and https://projectname.ddev.local
# type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php
# docroot: <relative_path> # Relative path to the directory containing index.php.
# php_version: "7.1" # PHP version to use, "5.6", "7.0", "7.1", "7.2"
ENVIRONMENT VARIABLES
 .ddev/docker-compose.<something>.yaml
23-06-2018 ddev: docker made easy 46
ENVIRONMENT VARIABLES
23-06-2018 ddev: docker made easy 47
version: '3'
services:
web:
environment:
- TYPO3_CONTEXT=Development
… AND MORE
 MailHog
 PhpMyAdmin
 Xdebug
 Apache Solr container
23-06-2018 ddev: docker made easy 48
EXTENDING DDEV
I want more and I want it now!
23-06-2018 ddev: docker made easy 49
EXTENDING DDEV
23-06-2018 ddev: docker made easy 50
https://ddev.readthedocs.io/en/latest/
users/extending-commands/
EXTENDING DDEV
 Hooks to run:
- pre/post
- start / import-db / import-files
 In .ddev/config.yaml file
23-06-2018 ddev: docker made easy 51
EXTENDING DDEV
 Additional hostnames
 Custom configuration for nginx, PHP,
MariaDB
 Custom services in containers
23-06-2018 ddev: docker made easy 52
THANK YOU!
23-06-2018 ddev: docker made easy 53
1 of 53

Recommended

Native Hadoop with prebuilt spark by
Native Hadoop with prebuilt sparkNative Hadoop with prebuilt spark
Native Hadoop with prebuilt sparkarunkumar sadhasivam
749 views40 slides
Hiveminder - Everything but the Secret Sauce by
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceJesse Vincent
2.9K views265 slides
The Challenges of Container Configuration by
The Challenges of Container ConfigurationThe Challenges of Container Configuration
The Challenges of Container ConfigurationGareth Rushgrove
908 views96 slides
Drone CI/CD 自動化測試及部署 by
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Bo-Yi Wu
1.5K views95 slides
An Introduction to CMake by
An Introduction to CMakeAn Introduction to CMake
An Introduction to CMakeICS
1.5K views54 slides
new ifnet(9) KPI for FreeBSD network stack by
new ifnet(9) KPI for FreeBSD network stacknew ifnet(9) KPI for FreeBSD network stack
new ifnet(9) KPI for FreeBSD network stackGleb Smirnoff
1.9K views28 slides

More Related Content

What's hot

Capistrano deploy Magento project in an efficient way by
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient waySylvain Rayé
4.8K views30 slides
New sendfile by
New sendfileNew sendfile
New sendfileGleb Smirnoff
9.3K views36 slides
Docker deploy by
Docker deployDocker deploy
Docker deployEric Ahn
398 views9 slides
Magento 2 Capistrano Deploy by
Magento 2 Capistrano DeployMagento 2 Capistrano Deploy
Magento 2 Capistrano DeployDuke Dao
1.2K views30 slides
Git, CMake, Conan - How to ship and reuse our C++ projects? by
Git, CMake, Conan - How to ship and reuse our C++ projects?Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Mateusz Pusz
653 views189 slides
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments by
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSouth Tyrol Free Software Conference
76 views40 slides

What's hot(20)

Capistrano deploy Magento project in an efficient way by Sylvain Rayé
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
Sylvain Rayé4.8K views
Docker deploy by Eric Ahn
Docker deployDocker deploy
Docker deploy
Eric Ahn398 views
Magento 2 Capistrano Deploy by Duke Dao
Magento 2 Capistrano DeployMagento 2 Capistrano Deploy
Magento 2 Capistrano Deploy
Duke Dao1.2K views
Git, CMake, Conan - How to ship and reuse our C++ projects? by Mateusz Pusz
Git, CMake, Conan - How to ship and reuse our C++ projects?Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?
Mateusz Pusz653 views
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt... by Puppet
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
Puppet529 views
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet by Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
Puppet453 views
Escaping the Sandbox Denver HTML5 2013-05-13 by michaelmalak
Escaping the Sandbox Denver HTML5 2013-05-13Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13
michaelmalak1.1K views
Using Puppet to Create a Dynamic Network - PuppetConf 2013 by Puppet
Using Puppet to Create a Dynamic Network - PuppetConf 2013Using Puppet to Create a Dynamic Network - PuppetConf 2013
Using Puppet to Create a Dynamic Network - PuppetConf 2013
Puppet3.9K views
Openshift cheat rhce_r3v1 rhce by Darnette A
Openshift cheat rhce_r3v1 rhceOpenshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhce
Darnette A298 views
H2O - making the Web faster by Kazuho Oku
H2O - making the Web fasterH2O - making the Web faster
H2O - making the Web faster
Kazuho Oku24.2K views
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease by KAI CHU CHUNG
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
KAI CHU CHUNG926 views
Moving from Jenkins 1 to 2 declarative pipeline adventures by Frits Van Der Holst
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventures
Frits Van Der Holst1.3K views
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl by Nagios
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in PerlNagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
Nagios3.9K views
Docker Demo @ IuK Seminar by Martin Scharm
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK Seminar
Martin Scharm3.7K views
Installing Python on Mac by Wei-Wen Hsu
Installing Python on MacInstalling Python on Mac
Installing Python on Mac
Wei-Wen Hsu592 views
Gradle in 45min - JBCN2-16 version by Schalk Cronjé
Gradle in 45min - JBCN2-16 versionGradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 version
Schalk Cronjé868 views

Similar to Ddev workshop t3dd18

Introduction to Docker by
Introduction to DockerIntroduction to Docker
Introduction to Docker皓鈞 張
116 views11 slides
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP by
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
408 views151 slides
Docman - The swiss army knife for Drupal multisite docroot management and dep... by
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Aleksey Tkachenko
737 views43 slides
Develop with docker 2014 aug by
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
1K views42 slides
Lean Drupal Repositories with Composer and Drush by
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushPantheon
1.6K views40 slides
Hands on Docker - Launch your own LEMP or LAMP stack by
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stackDana Luther
172 views116 slides

Similar to Ddev workshop t3dd18(20)

Introduction to Docker by 皓鈞 張
Introduction to DockerIntroduction to Docker
Introduction to Docker
皓鈞 張116 views
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP by Dana Luther
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Dana Luther408 views
Docman - The swiss army knife for Drupal multisite docroot management and dep... by Aleksey Tkachenko
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Aleksey Tkachenko737 views
Lean Drupal Repositories with Composer and Drush by Pantheon
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon1.6K views
Hands on Docker - Launch your own LEMP or LAMP stack by Dana Luther
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stack
Dana Luther172 views
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2 by Adil Khan
 Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2   Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Adil Khan3.5K views
Docker Essentials Workshop— Innovation Labs July 2020 by CloudHero
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020
CloudHero398 views
Delivering Docker & K3s worloads to IoT Edge devices by Ajeet Singh Raina
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
Ajeet Singh Raina260 views
DCEU 18: Developing with Docker Containers by Docker, Inc.
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
Docker, Inc.595 views
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011) by Fabrice Bernhard
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard3.8K views
Managing your Drupal project with Composer by Matt Glaman
Managing your Drupal project with ComposerManaging your Drupal project with Composer
Managing your Drupal project with Composer
Matt Glaman432 views
Magento Docker Setup.pdf by Abid Malik
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
Abid Malik355 views
Preparation study of_docker - (MOSG) by Soshi Nemoto
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)
Soshi Nemoto597 views

More from Jigal van Hemert

Little Gems in TYPO3 v12 by
Little Gems in TYPO3 v12Little Gems in TYPO3 v12
Little Gems in TYPO3 v12Jigal van Hemert
764 views43 slides
Fun with fluid (TYPO3camp RheinRuhr 2019) by
Fun with fluid (TYPO3camp RheinRuhr 2019)Fun with fluid (TYPO3camp RheinRuhr 2019)
Fun with fluid (TYPO3camp RheinRuhr 2019)Jigal van Hemert
663 views45 slides
Build your own Upgrade Wizard by
Build your own Upgrade WizardBuild your own Upgrade Wizard
Build your own Upgrade WizardJigal van Hemert
152 views12 slides
Little gems in TYPO3 v9 by
Little gems in TYPO3 v9Little gems in TYPO3 v9
Little gems in TYPO3 v9Jigal van Hemert
1.9K views29 slides
Fun with fluid_t3dd18 by
Fun with fluid_t3dd18Fun with fluid_t3dd18
Fun with fluid_t3dd18Jigal van Hemert
690 views45 slides
My Wife's Website by
My Wife's WebsiteMy Wife's Website
My Wife's WebsiteJigal van Hemert
481 views27 slides

More from Jigal van Hemert(7)

Recently uploaded

Google Solutions Challenge 2024 Talk pdf by
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdfMohdAbdulAleem4
34 views17 slides
Bootstrapping vs Venture Capital.pptx by
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptxZeljko Svedic
16 views17 slides
Playwright Retries by
Playwright RetriesPlaywright Retries
Playwright Retriesartembondar5
7 views1 slide
nintendo_64.pptx by
nintendo_64.pptxnintendo_64.pptx
nintendo_64.pptxpaiga02016
7 views7 slides
Introduction to Maven by
Introduction to MavenIntroduction to Maven
Introduction to MavenJohn Valentino
7 views10 slides
Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
7 views7 slides

Recently uploaded(20)

Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem434 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic16 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino8 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 6 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers44 views
Advanced API Mocking Techniques Using Wiremock by Dimpy Adhikary
Advanced API Mocking Techniques Using WiremockAdvanced API Mocking Techniques Using Wiremock
Advanced API Mocking Techniques Using Wiremock
Dimpy Adhikary5 views
Mobile App Development Company by Richestsoft
Mobile App Development CompanyMobile App Development Company
Mobile App Development Company
Richestsoft 5 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app10 views
Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar58 views
Electronic AWB - Electronic Air Waybill by Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 6 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert35 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67026 views
University of Borås-full talk-2023-12-09.pptx by Mahdi_Fahmideh
University of Borås-full talk-2023-12-09.pptxUniversity of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptx
Mahdi_Fahmideh12 views

Ddev workshop t3dd18

  • 3. CONTAINERS - DOCKER  Lightweight virtual machine  Linux based, compressed  Supported by major virtualization players  Supported in deployment solutions 23-06-2018 ddev: docker made easy 3
  • 4. DDEV - DOCKER  DDEV:  pre-built containers  configuration for WordPress, Drupal, Backdrop, TYPO3  Contains: db, nginx, solr, PHP 5.6-7.2, xdebug  Your own additional services 23-06-2018 ddev: docker made easy 4
  • 6. AGENDA 23-06-2018 6ddev: docker made easy 1. Requirements 2. Installation 3. Project configuration 4. Daily use 5. Extending the configuration
  • 7. REQUIREMENTS What do I need to run ddev? 23-06-2018 ddev: docker made easy 7
  • 8. REQUIREMENTS  Docker version 17.05 or higher  Docker compose 1.10.0 or higher  macOS Sierra and higher  Windows 10 Pro (Home recently supported)  Linux (Ubuntu 14.04+, Debian Jessie+, Fedora 25+, ...) 23-06-2018 ddev: docker made easy 8
  • 10. INSTALLATION Homebrew – macOS 23-06-2018 ddev: docker made easy 10 brew tap drud/ddev && brew install ddev
  • 11. INSTALLATION Linux and macOS – install script 23-06-2018 ddev: docker made easy 11 curl https://raw.githubusercontent.com/↲ drud/ddev/master/install_ddev.sh | bash
  • 12. INSTALLATION Windows 10 23-06-2018 ddev: docker made easy 12 ddev_windows_installer.<version>.exe
  • 13. PROJECT CONFIGURATION Set up a project 23-06-2018 ddev: docker made easy 13
  • 14. CONFIGURATION 23-06-2018 ddev: docker made easy 14 ddev config
  • 15. CONFIGURATION  Name  Docroot  Type of project 23-06-2018 ddev: docker made easy 15
  • 16. DAILY USE Get productive 23-06-2018 ddev: docker made easy 16
  • 17. CONFIGURATION 23-06-2018 ddev: docker made easy 17 ddev start
  • 18. CONFIGURATION  Starts environment  Checks/creates containers  Creates/starts router 23-06-2018 ddev: docker made easy 18
  • 19. CONFIGURATION 23-06-2018 ddev: docker made easy 19 ddev stop
  • 20. CONFIGURATION  Stops router  Shuts down containers  Stops environment 23-06-2018 ddev: docker made easy 20
  • 22. DEMO PROJECT 23-06-2018 ddev: docker made easy 22 mkdir ddevproject cd ddevproject
  • 23. DEMO PROJECT 23-06-2018 ddev: docker made easy 23 ddev config
  • 24. DEMO PROJECT 23-06-2018 ddev: docker made easy 24 Creating a new ddev project config in the current directory (D:t3dd18ddevproject) Once completed, your configuration will be written to D:t3dd18ddevproject.ddev config.yaml Project name (ddevproject): The docroot is the directory from which your site is served. This is a relative path from your project root (D:t3dd18ddevproject) You may leave this value blank if your site files are in the project root Docroot Location (current directory): Found a php codebase at D:t3dd18ddevproject. Project Type [php, drupal6, drupal7, drupal8, wordpress, typo3, backdrop] (php): typo3 TYPO3 does not seem to have been set up yet, missing LocalConfiguration.php (D: t3dd18ddevprojecttypo3confAdditionalConfiguration.php) Generating LocalConfiguration.php file for database connection. Unable to create settings file: Failed to write TYPO3 AdditionalConfiguration.php file: chmod D:t3dd18ddevprojecttypo3conf: The system cannot find the file specified. Configuration complete. You may now run 'ddev start'.
  • 25. DEMO PROJECT 23-06-2018 ddev: docker made easy 25 ddev start
  • 26. DEMO PROJECT 23-06-2018 ddev: docker made easy 26 Starting environment for ddevproject... Warning: containers will run as root. This is fine on Docker for Windows or Docker for Mac, but could be a security risk on Linux. Starting ddev-ddevproject-db ... done Starting ddev-ddevproject-dba ... done Starting ddev-ddevproject-web ... done Network ddev_default is external, skipping Creating ddev-router ... done Successfully started ddevproject Your project can be reached at http://ddevproject.ddev.local, https://ddevproject.ddev.local
  • 27. DEMO PROJECT 23-06-2018 ddev: docker made easy 27 ddev hostname ddevproject.ddev.local 127.0.0.1 ddev hostname ddevproject.ddev.local ::1
  • 28. DEMO PROJECT 23-06-2018 ddev: docker made easy 28 ddev ssh winpty ddev ssh Windows:
  • 29. DEMO PROJECT 23-06-2018 ddev: docker made easy 29 Warning: containers will run as root. This is fine on Docker for Windows or Docker for Mac, but could be a security risk on Linux. Warning: containers will run as root. This is fine on Docker for Windows or Docker for Mac, but could be a security risk on Linux.
  • 30. DEMO PROJECT 23-06-2018 ddev: docker made easy 30 composer create-project jigal/ddevt3dd18 ./temptarget
  • 31. DEMO PROJECT 23-06-2018 ddev: docker made easy 31 Installing jigal/ddevt3dd18 (dev-master 448831c4595bf10bc213d182cc7be47d2dfc834c) - Installing jigal/ddevt3dd18 (dev-master master): Cloning master Created project in ./temptarget Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 48 installs, 0 updates, 0 removals - Installing typo3/class-alias-loader (1.0.0): Downloading (100%) - Installing typo3/cms-composer-installers (v1.5.2): Downloading (100%) - Installing helhum/typo3-console-plugin (2.0.4): Downloading (100%) - Installing symfony/dotenv (v4.1.0): Downloading (100%) - Installing helhum/dotenv-connector (v2.1.0): Downloading (100%) - Installing mso/idna-convert (v1.1.0): Downloading (100%) - Installing cogpowered/finediff (0.3.1): Downloading (100%) - Installing helhum/config-loader (v0.9.0): Downloading (100%) - Installing symfony/process (v4.1.0): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%) - Installing symfony/console (v4.1.0): Downloading (100%) - Installing psr/log (1.0.2): Loading from cache - Installing doctrine/lexer (v1.0.1): Downloading (100%) - Installing doctrine/annotations (v1.6.0): Downloading (100%) - Installing typo3/cms-core (v8.7.16): Downloading (100%) - Installing typo3/cms-scheduler (v8.7.16): Downloading (100%) - Installing helhum/typo3-console (5.4.0): Downloading (100%) - Installing typo3fluid/fluid (2.5.3): Downloading (100%) - Installing symfony/finder (v4.1.0): Downloading (100%) - Installing doctrine/inflector (v1.3.0): Downloading (100%) - Installing doctrine/collections (v1.5.0): Downloading (100%) - Installing doctrine/cache (v1.7.1): Downloading (100%) - Installing doctrine/common (v2.7.3): Downloading (100%) - Installing doctrine/dbal (v2.5.13): Downloading (100%) - Installing guzzlehttp/promises (v1.3.1): Downloading (100%) - Installing psr/http-message (1.0.1): Downloading (100%) - Installing guzzlehttp/psr7 (1.4.2): Downloading (100%) - Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)
  • 32. DEMO PROJECT 23-06-2018 ddev: docker made easy 32 - Installing doctrine/instantiator (1.0.5): Downloading (100%) - Installing symfony/polyfill-ctype (v1.8.0): Downloading (100%) - Installing swiftmailer/swiftmailer (v5.4.9): Downloading (100%) - Installing helhum/typo3-composer-setup (v0.5.2): Downloading (100%) - Installing typo3/cms-sv (v8.7.16): Downloading (100%) - Installing symfony/yaml (v4.1.0): Downloading (100%) - Installing typo3/cms-saltedpasswords (v8.7.16): Downloading (100%) - Installing typo3/cms-recordlist (v8.7.16): Downloading (100%) - Installing typo3/cms-extensionmanager (v8.7.16): Downloading (100%) - Installing typo3/cms-lang (v8.7.16): Downloading (100%) - Installing typo3/cms-extbase (v8.7.16): Downloading (100%) - Installing typo3/cms-fluid (v8.7.16): Downloading (100%) - Installing typo3/cms-install (v8.7.16): Downloading (100%) - Installing typo3/cms-frontend (v8.7.16): Downloading (100%) - Installing typo3/cms-filelist (v8.7.16): Downloading (100%) - Installing typo3/cms-cshmanual (v8.7.16): Downloading (100%) - Installing typo3/cms-backend (v8.7.16): Downloading (100%) - Installing typo3/cms-fluid-styled-content (v8.7.16): Downloading (100%) - Installing typo3/cms-rte-ckeditor (v8.7.16): Downloading (100%) helhum/config-loader suggests installing ext-yaml (For improved performance when parsing yaml files you should use the PECL YAML Parser php extension) symfony/console suggests installing symfony/event-dispatcher () symfony/console suggests installing symfony/lock () symfony/console suggests installing psr/log-implementation (For using the console logger) doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver) helhum/typo3-composer-setup suggests installing pagemachine/typo3-composer-legacy-cli (Provides the legacy cli_dispatch.phpsh entry point for TYPO3.) typo3/cms-saltedpasswords suggests installing typo3/cms-rsaauth (*) typo3/cms-rte-ckeditor suggests installing typo3/cms-setup (*) Writing lock file Generating autoload files Registered helhum/dotenv-connector Generating class alias map file Inserting class alias loader into main autoload.php file Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?Y
  • 33. DEMO PROJECT 23-06-2018 ddev: docker made easy 33 mv temptarget/* . mv temptarget/.gitignore . rmdir temptarget
  • 34. DEMO PROJECT 23-06-2018 ddev: docker made easy 34 composer dumpautoload exit ddev config
  • 35. DEMO PROJECT 23-06-2018 ddev: docker made easy 35 You are reconfiguring the project at D:t3dd18ddevproject. The existing configuration will be updated and replaced. Project name (ddevproject): The docroot is the directory from which your site is served. This is a relative path from your project root (D:t3dd18ddevproject) You may leave this value blank if your site files are in the project root Docroot Location (web): Found a typo3 codebase at D:t3dd18ddevprojectweb. Project Type [wordpress, typo3, backdrop, php, drupal6, drupal7, drupal8] (typo3): TYPO3 does not seem to have been set up yet, missing LocalConfiguration.php (D:t3dd18ddevprojectwebtypo3conf AdditionalConfiguration.php) Generating LocalConfiguration.php file for database connection. Configuration complete. You may now run 'ddev start'.
  • 36. DEMO PROJECT 23-06-2018 ddev: docker made easy 36 ddev start winpty ddev ssh
  • 37. DEMO PROJECT 23-06-2018 ddev: docker made easy 37 ../vendor/bin/typo3cms install:setup
  • 38. DEMO PROJECT 23-06-2018 ddev: docker made easy 38 Welcome to the TYPO3 Console installer! ✔ Prepare installation ✔ Check environment and create folders ✔ Skipped Set up database connection ✔ Skipped Select database ➤ Set up database Username of to be created administrative user account (required): jigal Password of to be created administrative user account (required): Name of the TYPO3 site (default: "New TYPO3 Console site"): ddevt3dd18 ✔ Ok ➤ Set up configuration Specify the site setup type (default: "no"): [no ] Do nothing [site] Create root page > site ✔ Ok ✔ Set up extensions Successfully installed TYPO3 CMS!
  • 39. DEMO PROJECT BACKEND 23-06-2018 ddev: docker made easy 39
  • 40. DEMO PROJECT FRONTEND 23-06-2018 ddev: docker made easy 40
  • 41. WHAT ELSE IS THERE? 23-06-2018 ddev: docker made easy 41
  • 42. PHP VERSION 23-06-2018 ddev: docker made easy 42 ddev describe
  • 43. PHP VERSION 23-06-2018 ddev: docker made easy 43 NAME TYPE LOCATION URL(s) STATUS ddevproject typo3 D:/t3dd18/ddevproject http://ddevproject.ddev.local running https://ddevproject.ddev.local Project Information ----------------- PHP version: 7.1 URLs: http://ddevproject.ddev.local, https://ddevproject.ddev.local MySQL Credentials ----------------- Username: db Password: db Database name: db Host: db Port: 3306 To connect to mysql from your host machine, use port 32768 on 127.0.0.1. For example: mysql --host=127.0.0.1 --port=32768 --user=db --password=db --database=db Other Services -------------- MailHog: http://ddevproject.ddev.local:8025 phpMyAdmin: http://ddevproject.ddev.local:8036 DDEV ROUTER STATUS: healthy
  • 44. PHP VERSION 23-06-2018 ddev: docker made easy 44 less .ddev/config.yaml
  • 45. PHP VERSION 23-06-2018 ddev: docker made easy 45 APIVersion: "1" name: ddevproject type: typo3 docroot: web php_version: "7.1" webimage: drud/nginx-php-fpm-local:v1.2.2 dbimage: drud/mariadb-local:v0.9.0 dbaimage: drud/phpmyadmin:v0.2.0 router_http_port: "80" router_https_port: "443" additional_hostnames: [] provider: default # Key features of ddev's config.yaml: # name: <projectname> # Name of the project, automatically provides # http://projectname.ddev.local and https://projectname.ddev.local # type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php # docroot: <relative_path> # Relative path to the directory containing index.php. # php_version: "7.1" # PHP version to use, "5.6", "7.0", "7.1", "7.2"
  • 47. ENVIRONMENT VARIABLES 23-06-2018 ddev: docker made easy 47 version: '3' services: web: environment: - TYPO3_CONTEXT=Development
  • 48. … AND MORE  MailHog  PhpMyAdmin  Xdebug  Apache Solr container 23-06-2018 ddev: docker made easy 48
  • 49. EXTENDING DDEV I want more and I want it now! 23-06-2018 ddev: docker made easy 49
  • 50. EXTENDING DDEV 23-06-2018 ddev: docker made easy 50 https://ddev.readthedocs.io/en/latest/ users/extending-commands/
  • 51. EXTENDING DDEV  Hooks to run: - pre/post - start / import-db / import-files  In .ddev/config.yaml file 23-06-2018 ddev: docker made easy 51
  • 52. EXTENDING DDEV  Additional hostnames  Custom configuration for nginx, PHP, MariaDB  Custom services in containers 23-06-2018 ddev: docker made easy 52
  • 53. THANK YOU! 23-06-2018 ddev: docker made easy 53