DDEV config.yaml 解説編
入門編 で設定を行ったDDEVのconfig(.ddev/config.yaml
)に関する解説をします。
config.yaml とは
DDEVで起動する各種コンテナの設定を管理するファイル
全体に影響するconfig(~/.ddev/global_config.yaml
)と各環境毎に定義するconfig(./.ddev/config.yaml
)が存在する。
今回は各環境毎に定義するconfig(./.ddev/config.yaml
)について解説
.ddev/config.yaml 解説
入門編 で作成したconfigは以下になります。
各項目について解説していきます。
name: ddev-tutorial
type: php
docroot: web
php_version: "8.1"
webserver_type: nginx-fpm
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
database:
type: mariadb
version: "10.4"
use_dns_when_possible: true
composer_version: "2"
web_environment: []
-
name
構築する環境の名称
これがURL(${name}.ddev.site
)となる為、DDEV内でユニークにする必要がある -
type
DDEVで動かすプロジェクトタイプ
php
は汎用的なPHPプロジェクト用
CMS用にwordpress
やdrupal10
といったタイプも存在する -
docroot
WEBサイトのドキュメントルート
Apacheやnginxといったミドルウェアが参照する -
php_version
プロジェクトで利用するPHPのバージョン(この場合 8.1.x を使用) -
webserver_type
プロジェクトで利用するWebサーバーのタイプ
nginx(nginx-fpm
) か Apache(apache-fpm
) どちらかを指定 -
additional_hostnames
標準で提供されるドメイン(${name}.ddev.site
)以外に追加でホスト名を指定したい場合に設定
${name}
に該当する部分を明記する
※ 基本的に不要 -
additional_fqdns
プロジェクトで利用するドメイン名を変更する場合に設定
ddev.site
に該当する部分を明記する
※ 基本的に不要 -
database
プロジェクトで利用するデータベースの種類とバージョンを設定
デフォルトではMariaDB 10.4
となる
MySQLやPostgreSQLといったデータベースの利用も可能 -
use_dns_when_possible
起動したプロジェクトのドメイン({name}.ddev.site
)を/etc/hosts
に書き込んでドメインでアクセス可能にするかどうかの設定
独自ドメインを利用しない限りtrueで問題ない -
composer_version
composer(PHPのパッケージ管理ツール)の利用バージョンを指定 -
web_environment
webコンテナで利用可能な環境変数を定義
その他よく使う定義
-
omit_containers
特定のコンテナを除外し起動しないように指定
db
とddev-ssh-agent
が指定可能
db
を指定するとデータベースのコンテナが起動されなくなる -
timezone
タイムゾーンを指定(デフォルト UTC)
Asia/Tokyo
で日本標準時の指定となる
まとめ
-
.ddev/config.yaml
に各種設定を書くことでDDEV環境のカスタマイズを簡単に行うことが出来る - 設定項目は豊富にある為、↑の解説や公式ドキュメントを参考に
次回はデフォルトで起動するコンテナ以外にphpMyAdminといった別のコンテナを追加する方法を紹介します。
Discussion