📕

DDEV config.yaml 解説編

2024/03/17に公開

入門編 で設定を行った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は以下になります。
各項目について解説していきます。

.ddev/config.yaml
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用に wordpressdrupal10 といったタイプも存在する

  • 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
    特定のコンテナを除外し起動しないように指定
    dbddev-ssh-agent が指定可能
    db を指定するとデータベースのコンテナが起動されなくなる

  • timezone
    タイムゾーンを指定(デフォルト UTC)
    Asia/Tokyo で日本標準時の指定となる

まとめ

  • .ddev/config.yaml に各種設定を書くことでDDEV環境のカスタマイズを簡単に行うことが出来る
  • 設定項目は豊富にある為、↑の解説や公式ドキュメントを参考に

次回はデフォルトで起動するコンテナ以外にphpMyAdminといった別のコンテナを追加する方法を紹介します。

参考リンク

Discussion