diff --git a/.ddev/.gitignore b/.ddev/.gitignore index 893dfa0..4efff32 100644 --- a/.ddev/.gitignore +++ b/.ddev/.gitignore @@ -25,8 +25,8 @@ /providers/platform.yaml /providers/upsun.yaml /sequelpro.spf -/traefik/config/geo.yaml -/traefik/certs/geo.crt -/traefik/certs/geo.key +/traefik/config/geo-coop.yaml +/traefik/certs/geo-coop.crt +/traefik/certs/geo-coop.key /xhprof/xhprof_prepend.php /**/README.* diff --git a/.ddev/config.yaml b/.ddev/config.yaml index 1f695f8..e726492 100644 --- a/.ddev/config.yaml +++ b/.ddev/config.yaml @@ -1,83 +1,95 @@ name: geo-coop -type: drupal +type: drupal11 docroot: web php_version: "8.3" webserver_type: apache-fpm -router_http_port: "80" -router_https_port: "443" xdebug_enabled: false additional_hostnames: [] additional_fqdns: [] database: - type: mariadb - version: "10.5" -nfs_mount_enabled: false -mutagen_enabled: false + type: mariadb + version: "10.5" use_dns_when_possible: false composer_version: "2" web_environment: [] nodejs_version: "16" +corepack_enable: false +default_container_timeout: "240" -# Key features of ddev's config.yaml: +# Key features of DDEV's config.yaml: # name: # Name of the project, automatically provides # http://projectname.ddev.site and https://projectname.ddev.site -# type: # drupal6/7/8, backdrop, typo3, wordpress, php +# type: # backdrop, cakephp, craftcms, drupal, drupal6, drupal7, drupal8, drupal9, drupal10, drupal11, laravel, magento, magento2, php, shopware6, silverstripe, symfony, typo3, wordpress +# See https://ddev.readthedocs.io/en/stable/users/quickstart/ for more +# information on the different project types # docroot: # Relative path to the directory containing index.php. -# php_version: "7.4" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1" +# php_version: "8.3" # PHP version to use, "5.6" through "8.4" # You can explicitly specify the webimage but this -# is not recommended, as the images are often closely tied to ddev's' behavior, +# is not recommended, as the images are often closely tied to DDEV's' behavior, # so this can break upgrades. # webimage: # nginx/php docker image. # database: -# type: # mysql, mariadb -# version: # database version, like "10.3" or "8.0" -# Note that mariadb_version or mysql_version from v1.18 and earlier -# will automatically be converted to this notation with just a "ddev config --auto" +# type: # mysql, mariadb, postgres +# version: # database version, like "10.11" or "8.0" +# MariaDB versions can be 5.5-10.8, 10.11, and 11.4. +# MySQL versions can be 5.5-8.0. +# PostgreSQL versions can be 9-17. -# router_http_port: # Port to be used for http (defaults to port 80) -# router_https_port: # Port for https (defaults to 443) +# router_http_port: # Port to be used for http (defaults to global configuration, usually 80) +# router_https_port: # Port for https (defaults to global configuration, usually 443) -# xdebug_enabled: false # Set to true to enable xdebug and "ddev start" or "ddev restart" +# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart" # Note that for most people the commands -# "ddev xdebug" to enable xdebug and "ddev xdebug off" to disable it work better, -# as leaving xdebug enabled all the time is a big performance hit. +# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better, +# as leaving Xdebug enabled all the time is a big performance hit. -# xhprof_enabled: false # Set to true to enable xhprof and "ddev start" or "ddev restart" +# xhprof_enabled: false # Set to true to enable Xhprof and "ddev start" or "ddev restart" # Note that for most people the commands -# "ddev xhprof" to enable xhprof and "ddev xhprof off" to disable it work better, -# as leaving xhprof enabled all the time is a big performance hit. +# "ddev xhprof" to enable Xhprof and "ddev xhprof off" to disable it work better, +# as leaving Xhprof enabled all the time is a big performance hit. -# webserver_type: nginx-fpm # or apache-fpm +# webserver_type: nginx-fpm or apache-fpm # timezone: Europe/Berlin +# If timezone is unset, DDEV will attempt to derive it from the host system timezone +# using the $TZ environment variable or the /etc/localtime symlink. # This is the timezone used in the containers and by PHP; # it can be set to any valid timezone, # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones # For example Europe/Dublin or MST7MDT # composer_root: -# Relative path to the composer root directory from the project root. This is +# Relative path to the Composer root directory from the project root. This is # the directory which contains the composer.json and where all Composer related # commands are executed. # composer_version: "2" -# if composer_version:"2" it will use the most recent composer v2 -# It can also be set to "1", to get most recent composer v1 -# or "" for the default v2 created at release time. -# It can be set to any existing specific composer version. -# After first project 'ddev start' this will not be updated until it changes +# You can set it to "" or "2" (default) for Composer v2 or "1" for Composer v1 +# to use the latest major version available at the time your container is built. +# It is also possible to use each other Composer version channel. This includes: +# - 2.2 (latest Composer LTS version) +# - stable +# - preview +# - snapshot +# Alternatively, an explicit Composer version may be specified, for example "2.2.18". +# To reinstall Composer after the image was built, run "ddev debug rebuild". -# nodejs_version: "16" -# change from the default system Node.js version to another supported version, like 12, 14, 17. -# Note that you can use 'ddev nvm' or nvm inside the web container to provide nearly any -# Node.js version, including v6, etc. +# nodejs_version: "22" +# change from the default system Node.js version to any other version. +# See https://ddev.readthedocs.io/en/stable/users/configuration/config/#nodejs_version for more information +# and https://www.npmjs.com/package/n#specifying-nodejs-versions for the full documentation, +# Note that using of 'ddev nvm' is discouraged because "nodejs_version" is much easier to use, +# can specify any version, and is more robust than using 'nvm'. + +# corepack_enable: false +# Change to 'true' to 'corepack enable' and gain access to latest versions of yarn/pnpm # additional_hostnames: # - somename @@ -91,8 +103,26 @@ nodejs_version: "16" # would provide http and https URLs for "example.com" and "sub1.example.com" # Please take care with this because it can cause great confusion. -# upload_dir: custom/upload/dir -# would set the destination path for ddev import-files to /custom/upload/dir +# upload_dirs: "custom/upload/dir" +# +# upload_dirs: +# - custom/upload/dir +# - ../private +# +# would set the destination paths for ddev import-files to /custom/upload/dir +# When Mutagen is enabled this path is bind-mounted so that all the files +# in the upload_dirs don't have to be synced into Mutagen. + +# disable_upload_dirs_warning: false +# If true, turns off the normal warning that says +# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set" + +# ddev_version_constraint: "" +# Example: +# ddev_version_constraint: ">= 1.22.4" +# This will enforce that the running ddev version is within this constraint. +# See https://github.com/Masterminds/semver#checking-version-constraints for +# supported constraint formats # working_dir: # web: /var/www/html @@ -101,20 +131,25 @@ nodejs_version: "16" # These values specify the destination directory for ddev ssh and the # directory in which commands passed into ddev exec are run. -# omit_containers: [db, dba, ddev-ssh-agent] +# omit_containers: [db, ddev-ssh-agent] # Currently only these containers are supported. Some containers can also be # omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit -# the "db" container, several standard features of ddev that access the +# the "db" container, several standard features of DDEV that access the # database container will be unusable. In the global configuration it is also # possible to omit ddev-router, but not here. -# nfs_mount_enabled: false -# Great performance improvement but requires host configuration first. -# See https://ddev.readthedocs.io/en/stable/users/performance/#using-nfs-to-mount-the-project-into-the-container - -# mutagen_enabled: false -# Experimental performance improvement using mutagen asynchronous updates. -# See https://ddev.readthedocs.io/en/latest/users/performance/#using-mutagen +# performance_mode: "global" +# DDEV offers performance optimization strategies to improve the filesystem +# performance depending on your host system. Should be configured globally. +# +# If set, will override the global config. Possible values are: +# - "global": uses the value from the global config. +# - "none": disables performance optimization for this project. +# - "mutagen": enables Mutagen for this project. +# - "nfs": enables NFS for this project. +# +# See https://ddev.readthedocs.io/en/stable/users/install/performance/#nfs +# See https://ddev.readthedocs.io/en/stable/users/install/performance/#mutagen # fail_on_hook_fail: False # Decide whether 'ddev start' should be interrupted by a failing hook @@ -135,20 +170,12 @@ nodejs_version: "16" # The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic # unless explicitly specified. -# phpmyadmin_port: "8036" -# phpmyadmin_https_port: "8037" -# The PHPMyAdmin ports can be changed from the default 8036 and 8037 +# mailpit_http_port: "8025" +# mailpit_https_port: "8026" +# The Mailpit ports can be changed from the default 8025 and 8026 -# host_phpmyadmin_port: "8036" -# The phpmyadmin (dba) port is not normally bound on the host at all, instead being routed -# through ddev-router, but it can be specified and bound. - -# mailhog_port: "8025" -# mailhog_https_port: "8026" -# The MailHog ports can be changed from the default 8025 and 8026 - -# host_mailhog_port: "8025" -# The mailhog port is not normally bound on the host at all, instead being routed +# host_mailpit_port: "8025" +# The mailpit port is not normally bound on the host at all, instead being routed # through ddev-router, but it can be bound directly to localhost if specified here. # webimage_extra_packages: [php7.4-tidy, php-bcmath] @@ -169,39 +196,91 @@ nodejs_version: "16" # If you prefer you can change this to "ddev.local" to preserve # pre-v1.9 behavior. -# ngrok_args: --subdomain mysite --auth username:pass +# ngrok_args: --basic-auth username:pass1234 # Provide extra flags to the "ngrok http" command, see -# https://ngrok.com/docs#http or run "ngrok http -h" +# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h" # disable_settings_management: false -# If true, ddev will not create CMS-specific settings files like -# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalConfiguration.php +# If true, DDEV will not create CMS-specific settings files like +# Drupal's settings.php/settings.ddev.php or TYPO3's additional.php # In this case the user must provide all such settings. # You can inject environment variables into the web container with: # web_environment: -# - SOMEENV=somevalue -# - SOMEOTHERENV=someothervalue +# - SOMEENV=somevalue +# - SOMEOTHERENV=someothervalue # no_project_mount: false -# (Experimental) If true, ddev will not mount the project into the web container; +# (Experimental) If true, DDEV will not mount the project into the web container; # the user is responsible for mounting it manually or via a script. # This is to enable experimentation with alternate file mounting strategies. # For advanced users only! # bind_all_interfaces: false # If true, host ports will be bound on all network interfaces, -# not just the localhost interface. This means that ports +# not the localhost interface only. This means that ports # will be available on the local network if the host firewall # allows it. -# Many ddev commands can be extended to run tasks before or after the -# ddev command is executed, for example "post-start", "post-import-db", +# default_container_timeout: 120 +# The default time that DDEV waits for all containers to become ready can be increased from +# the default 120. This helps in importing huge databases, for example. + +#web_extra_exposed_ports: +#- name: nodejs +# container_port: 3000 +# http_port: 2999 +# https_port: 3000 +#- name: something +# container_port: 4000 +# https_port: 4000 +# http_port: 3999 +# Allows a set of extra ports to be exposed via ddev-router +# Fill in all three fields even if you don’t intend to use the https_port! +# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start. +# +# The port behavior on the ddev-webserver must be arranged separately, for example +# using web_extra_daemons. +# For example, with a web app on port 3000 inside the container, this config would +# expose that web app on https://.ddev.site:9999 and http://.ddev.site:9998 +# web_extra_exposed_ports: +# - name: myapp +# container_port: 3000 +# http_port: 9998 +# https_port: 9999 + +#web_extra_daemons: +#- name: "http-1" +# command: "/var/www/html/node_modules/.bin/http-server -p 3000" +# directory: /var/www/html +#- name: "http-2" +# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000" +# directory: /var/www/html + +# override_config: false +# By default, config.*.yaml files are *merged* into the configuration +# But this means that some things can't be overridden +# For example, if you have 'use_dns_when_possible: true'' you can't override it with a merge +# and you can't erase existing hooks or all environment variables. +# However, with "override_config: true" in a particular config.*.yaml file, +# 'use_dns_when_possible: false' can override the existing values, and +# hooks: +# post-start: [] +# or +# web_environment: [] +# or +# additional_hostnames: [] +# can have their intended affect. 'override_config' affects only behavior of the +# config.*.yaml file it exists in. + +# Many DDEV commands can be extended to run tasks before or after the +# DDEV command is executed, for example "post-start", "post-import-db", # "pre-composer", "post-composer" -# See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more +# See https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/ for more # information on the commands that can be extended and the tasks you can define # for them. Example: #hooks: # post-import-db: -# - exec: drush cr -# - exec: drush updb +# - exec: drush sql:sanitize +# - exec: drush updatedb +# - exec: drush cache:rebuild diff --git a/.ddev/traefik/certs/geo.crt b/.ddev/traefik/certs/geo.crt new file mode 100644 index 0000000..82cf1e4 --- /dev/null +++ b/.ddev/traefik/certs/geo.crt @@ -0,0 +1,27 @@ +#ddev-generated +-----BEGIN CERTIFICATE----- +MIIEZjCCAs6gAwIBAgIRAK3U6VQeR8o6nUc7H7ksR+4wDQYJKoZIhvcNAQELBQAw +UzEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMRQwEgYDVQQLDAttbG5j +bkBuaXhvczEbMBkGA1UEAwwSbWtjZXJ0IG1sbmNuQG5peG9zMB4XDTI1MDEyNTAz +MjEyM1oXDTI3MDQyNTAyMjEyM1owPzEnMCUGA1UEChMebWtjZXJ0IGRldmVsb3Bt +ZW50IGNlcnRpZmljYXRlMRQwEgYDVQQLDAttbG5jbkBuaXhvczCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBALcfIXjuIeyEIrS3ieJNMiyQi0908vdwRRPm +JyF3pi3y59wkD/354M3qkCeciElXaFwocZLLc5aPDaeqe5RxP0MndQ0nX7HbQYyB +9dgoThvrCKbE2hc/75AlpBa/2kVEoefVF7hqMVz1K/TU2fbUTUK0vpU73m4Aqdfa +fN6XVUO4VvGcw1LcxkoIxPqNOU3TqVKyoRdfzchTqkhZv18lqa3IMhQCjAYhjt0q +LIp8n1kSJP46ypubzdIUf6ZxSMlf1A1RYMItbV5nj6DWkCcl3oarpzBVA/aw+WSq +OrhCgHBSKTluFJrQ6y1vUEFgcF6Hldekg2DIg4/uUUUztYz0ExECAwEAAaOByDCB +xTAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgw +FoAUR3Cycv34IqivU0o5oFchbxNKLNswfQYDVR0RBHYwdIILKi5kZGV2LnNpdGWC +CWxvY2FsaG9zdIIMKi5kZGV2LmxvY2FsggtkZGV2LXJvdXRlcoIQZGRldi1yb3V0 +ZXIuZGRldoIYZGRldi1yb3V0ZXIuZGRldl9kZWZhdWx0gg1nZW8uZGRldi5zaXRl +hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBgQBDkTBQ9ky52hOYo/N4q4wVpZlCM/4k +5pmPeeMz6Qjjq2IvniU8ts1gd+FrVjclY5jaoqlK7ke8fLF/y6Pc4/MMYgCk/l7d +xCGCz6FzaN390M/qg4U4fDhAiauize/89nLd6+Su9cpwgyg8ZedeT4rDbdf0YM+U +zuNN/3xz0r+k+Tno0KJZuggoyfWKWZpsFyQneKqVzO5O92pUIRKwhL04GEaK+rOe +i3umlICWAZ2ENVOY/pc8Z760imO11pXTRnR8C80byk9yM0c6WmzVeMMybNxg3Bx8 +0v3h21/MeZRYcwkDO5pVI6VcJsCh2U60sZghCe1Zrj/lgJ9n1YZYRxLwEcll/2Bi +w/pDIm5LiyBwwa7tYY8bWVaJ/dGKmVY0TbN5Qy1zSSnmwbLa/z6wmDJT6b3mqdU4 +4XYE0Yi2SGXYWyCBoipi6felZmyNJRcZgUAQm28kk2kUgdxQsLVVxL3/IAfZA4mZ +HAUnA3Mpd6z3opjEnYZxx47tHXFRXs3+rWQ= +-----END CERTIFICATE----- diff --git a/.ddev/traefik/certs/geo.key b/.ddev/traefik/certs/geo.key new file mode 100644 index 0000000..24695b8 --- /dev/null +++ b/.ddev/traefik/certs/geo.key @@ -0,0 +1,29 @@ +#ddev-generated +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC3HyF47iHshCK0 +t4niTTIskItPdPL3cEUT5ichd6Yt8ufcJA/9+eDN6pAnnIhJV2hcKHGSy3OWjw2n +qnuUcT9DJ3UNJ1+x20GMgfXYKE4b6wimxNoXP++QJaQWv9pFRKHn1Re4ajFc9Sv0 +1Nn21E1CtL6VO95uAKnX2nzel1VDuFbxnMNS3MZKCMT6jTlN06lSsqEXX83IU6pI +Wb9fJamtyDIUAowGIY7dKiyKfJ9ZEiT+Osqbm83SFH+mcUjJX9QNUWDCLW1eZ4+g +1pAnJd6Gq6cwVQP2sPlkqjq4QoBwUik5bhSa0Ostb1BBYHBeh5XXpINgyIOP7lFF +M7WM9BMRAgMBAAECggEBAIfRryHifYbO+m7PMpWGbBBhpPHp68tameGIcr1/4OFz +qES++p2FGBeiQgkfMHY1PlIcLSCThcfFknspFz+iPymvukFnUrK3zIZKXe1U95n9 +WQ1YM+nKogRn5qx434tAvFUW1+EP4kzwCwosVP2duTAgnrpRDUjJdS+D/dmapML0 +VAE9nlSZmSKd+pwKaOnxP0e+6rWm3/C7dGV7/kjsiE5odbSaYvIIFVaYwbRaDNa+ +5N+Omir2HFGABs9P1T6Pi4muCpTsNY6KbVeurOmYG5juN415B9jb1APuY+LtHCSf +ecbv8KNk7ApFaz7BK1IZJ3lVIPnz4teGm7u2bmhIgAECgYEAxZHb6AexKzP4rbb2 +JycMwQUrsA9AIQ24lfsNq2izsN22BIFxOPvodM7nURV5v7NMlw/CzD2v6MpTbw/J +axK1SigjROGLn1QHIuGhq1ykSX+fKVztzPXyAxpjvnZOrsVMM9BYRv/FtejSQnLF +dKuxwxdg5GqizY4QKDwvgZp1EtECgYEA7UdkVbhr6aRZwQHWE2R9jCccgCzwimSC +nXtje+vFTfKzRdtJ6U4VVY3vIy7BehpVgPZ0p/GjYzh6qLEqHgRVi53Botsedpmg +/oQSqFQrmn/Vob7saUy8B3tOMll1FoEU92YrQEYonrBhyTFMuzfIiwcQwRgUtMR4 +8JCWxbvwjEECgYEAjRHP7oaHh6ytVQR+EIi+f5g8kJLjHHbapSTEpu6014YHsIHo +oWKloboWyvvFmg7hkj9rvUASueq11mh0TmLmVZQBUu6lLlfmXI61TFFy8RQSRouX +NLEsY/DU5as+FWbFOX37en6o4nHiqBWhTeRGomGwCojlxFY6zS/kT+tEyvECgYBJ +ik72omoPx/hpcYBAEm02+whCUatbuTsiRBPZXIGSXx5hEE4gGStTkOIFLYCZr3/A +sKIHS0Uwg1jA3+gF1aIN258gMnmGmKblO1ntAelhwS0dLGdpW3cLepQJ1uALUYaG +Bwxwp03/oPstuDHn9KobLN1se2IvhJVXOfkA3/b2AQKBgQCqkZxAPnfOrN2ethtV +w/jsYzBNfhqTk9/B4G4j/I3GTfltk64JFBZud8ci4e1DJEkchWQZlIbiX9Fnx4+M +CFFmDo2Tn40tQdi50m8BgbMoes9vlXCtSFFgoJUQBLTJ/n8N0y7nN2Gw40/jLmag +mkFdV/iE29uEMgFLDLgcrH6/jw== +-----END PRIVATE KEY----- diff --git a/.ddev/traefik/config/geo.yaml b/.ddev/traefik/config/geo.yaml new file mode 100644 index 0000000..b628029 --- /dev/null +++ b/.ddev/traefik/config/geo.yaml @@ -0,0 +1,77 @@ +#ddev-generated +# If you remove the ddev-generated line above you +# are responsible for maintaining this file. DDEV will not then +# update it, for example if you add `additional_hostnames`, etc. + +http: + routers: + geo-web-80-http: + entrypoints: + - http-80 + rule: HostRegexp(`^geo\.ddev\.site$`) + + service: "geo-web-80" + ruleSyntax: v3 + tls: false + # middlewares: + # - "geo-redirectHttps" + geo-web-8025-http: + entrypoints: + - http-8025 + rule: HostRegexp(`^geo\.ddev\.site$`) + + service: "geo-web-8025" + ruleSyntax: v3 + tls: false + # middlewares: + # - "geo-redirectHttps" + + + + geo-web-80-https: + entrypoints: + - http-443 + rule: HostRegexp(`^geo\.ddev\.site$`) + + service: "geo-web-80" + ruleSyntax: v3 + + tls: true + + geo-web-8025-https: + entrypoints: + - http-8026 + rule: HostRegexp(`^geo\.ddev\.site$`) + + service: "geo-web-8025" + ruleSyntax: v3 + + tls: true + + + + middlewares: + geo-redirectHttps: + redirectScheme: + scheme: https + permanent: true + + services: + geo-web-80: + loadbalancer: + servers: + - url: http://ddev-geo-web:80 + + geo-web-8025: + loadbalancer: + servers: + - url: http://ddev-geo-web:8025 + + + + + +tls: + certificates: + - certFile: /mnt/ddev-global-cache/traefik/certs/geo.crt + keyFile: /mnt/ddev-global-cache/traefik/certs/geo.key \ No newline at end of file