Default installation with mounted database drupal gives error. How to proceed?
justmeonthegit opened this issue · 2 comments
Codebase
mounted codebase
I followed the instruction on page for a install of a plain installement of drupal. It is not working !
https://wodby.com/docs/1.0/stacks/drupal/local/
I did the following steps
composer create-project drupal/recommended-project bo_drupaldefault
Downloaded and extracted docker4drupal.tar.gz
edited the env file (see below)
removed the file docker-compose.override.yml
created a local database on localhost
added the db connection to the docker file
run docker-compose up -d
Describe your issue
A clear and concise description of your issue.
I get an error:
Additional uncaught exception thrown while handling exception.
Original
Error: Call to a member function setFormClass() on null in system_entity_type_build() (line 1201 of /var/www/html/web/core/modules/system/system.module).
system_entity_type_build() (Line: 118)
Drupal\Core\Entity\EntityTypeManager->Drupal\Core\Entity{closure}() (Line: 388)
Output of docker info
Paste here
Contents of your docker-compose.yml
services:
mariadb:
image: wodby/mariadb:$MARIADB_TAG
container_name: "${PROJECT_NAME}_mariadb"
stop_grace_period: 30s
environment:
MYSQL_ROOT_PASSWORD: $DB_ROOT_PASSWORD
MYSQL_DATABASE: $DB_NAME
MYSQL_USER: $DB_USER
MYSQL_PASSWORD: $DB_PASSWORD
# volumes:
# - ./mariadb-init:/docker-entrypoint-initdb.d # Place init .sql file(s) here.
# - /path/to/mariadb/data/on/host:/var/lib/mysql # Use bind mount
php:
image: wodby/drupal-php:$PHP_TAG
container_name: "${PROJECT_NAME}_php"
environment:
SSMTP_MAILHUB: mailhog:1025
# SSMTP_MAILHUB: opensmtpd:25
PHP_SENDMAIL_PATH: '"/usr/bin/dos2unix -u | /usr/sbin/ssmtp -t -f"'
# DB_HOST: $DB_HOST
# DB_PORT: $DB_PORT
# DB_USER: $DB_USER
# DB_PASSWORD: $DB_PASSWORD
# DB_NAME: $DB_NAME
# DB_DRIVER: $DB_DRIVER
# DRUSH_OPTIONS_URI: "http://${PROJECT_BASE_URL}:${PROJECT_PORT}"
# PHP_FPM_USER: wodby
# PHP_FPM_GROUP: wodby
# COLUMNS: 80 # Set 80 columns for docker exec -it.
# # Read instructions at https://wodby.com/docs/stacks/php/local/#xdebug
# PHP_XDEBUG: 1
# PHP_XDEBUG_MODE: debug
# PHP_XDEBUG_MODE: profile
# PHP_XDEBUG_USE_COMPRESSION: false
# PHP_IDE_CONFIG: serverName=my-ide
# PHP_XDEBUG_IDEKEY: "my-ide"
# PHP_XDEBUG_CLIENT_HOST: 172.17.0.1 # Linux
# PHP_XDEBUG_CLIENT_HOST: host.docker.internal # Docker 18.03+ Mac/Win
# PHP_XDEBUG_CLIENT_HOST: 10.0.75.1 # Windows, Docker < 18.03
# PHP_XDEBUG_LOG: /tmp/php-xdebug.log
# # PHPUnit Drupal testing configurations
# SIMPLETEST_BASE_URL: "http://nginx"
# SIMPLETEST_DB: "${DB_DRIVER}://${DB_USER}:${DB_PASSWORD}@${DB_HOST}/${DB_NAME}#tests_"
# MINK_DRIVER_ARGS_WEBDRIVER: '["chrome", {"browserName":"chrome","goog:chromeOptions":{"args":["--disable-gpu","--headless"]}}, "http://chrome:9515"]'
volumes:
- ./:/var/www/html:cached
## Alternative for macOS users: Mutagen https://wodby.com/docs/stacks/drupal/local#docker-for-mac
# - drupal:/var/www/html
## For XHProf and Xdebug profiler traces
# - files:/mnt/files
crond:
init: true
image: wodby/drupal-php:$PHP_TAG
container_name: "${PROJECT_NAME}_crond"
environment:
CRONTAB: "0 * * * * drush -r /var/www/html/web cron"
command: sudo -E crond -f -d 0
volumes:
- ./:/var/www/html:cached
## Alternative for macOS users: Mutagen https://wodby.com/docs/stacks/drupal/local#docker-for-mac
# - drupal:/var/www/html
nginx:
image: wodby/nginx:$NGINX_TAG
container_name: "${PROJECT_NAME}_nginx"
depends_on:
- php
environment:
NGINX_STATIC_OPEN_FILE_CACHE: "off"
NGINX_ERROR_LOG_LEVEL: debug
NGINX_BACKEND_HOST: php
NGINX_SERVER_ROOT: /var/www/html/web
NGINX_VHOST_PRESET: $NGINX_VHOST_PRESET
# NGINX_DRUPAL_FILE_PROXY_URL: http://example.com
volumes:
- ./:/var/www/html:cached
## Alternative for macOS users: Mutagen https://wodby.com/docs/stacks/drupal/local#docker-for-mac
# - drupal:/var/www/html
labels:
- "traefik.http.routers.${PROJECT_NAME}_nginx.rule=Host(`${PROJECT_BASE_URL}`)"
mailhog:
image: mailhog/mailhog
container_name: "${PROJECT_NAME}_mailhog"
labels:
- "traefik.http.services.${PROJECT_NAME}_mailhog.loadbalancer.server.port=8025"
- "traefik.http.routers.${PROJECT_NAME}_mailhog.rule=Host(`mailhog.${PROJECT_BASE_URL}`)"
# postgres:
# image: wodby/postgres:$POSTGRES_TAG
# container_name: "${PROJECT_NAME}_postgres"
# stop_grace_period: 30s
# environment:
# POSTGRES_PASSWORD: $DB_PASSWORD
# POSTGRES_DB: $DB_NAME
# POSTGRES_USER: $DB_USER
# POSTGRES_DB_EXTENSIONS: pg_trgm
# volumes:
# - ./postgres-init:/docker-entrypoint-initdb.d # Place init file(s) here.
# - /path/to/postgres/data/on/host:/var/lib/postgresql/data # Use bind mount
# apache:
# image: wodby/apache:$APACHE_TAG
# container_name: "${PROJECT_NAME}_apache"
# depends_on:
# - php
# environment:
# APACHE_LOG_LEVEL: debug
# APACHE_BACKEND_HOST: php
# APACHE_VHOST_PRESET: php
# APACHE_DOCUMENT_ROOT: /var/www/html/web
# volumes:
# - ./:/var/www/html:cached
## Alternative for macOS users: Mutagen https://wodby.com/docs/stacks/drupal/local#docker-for-mac
# - drupal:/var/www/html
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_apache.rule=Host(`${PROJECT_BASE_URL}`)"
# varnish:
# image: wodby/varnish:$VARNISH_TAG
# container_name: "${PROJECT_NAME}_varnish"
# depends_on:
# - nginx
# environment:
# VARNISH_SECRET: secret
# VARNISH_BACKEND_HOST: nginx
# VARNISH_BACKEND_PORT: 80
# VARNISH_CONFIG_PRESET: drupal
# VARNISH_ALLOW_UNRESTRICTED_PURGE: 1
# labels:
# - "traefik.http.services.${PROJECT_NAME}_varnish.loadbalancer.server.port=6081"
# - "traefik.http.routers.${PROJECT_NAME}_varnish.rule=Host(`varnish.${PROJECT_BASE_URL}`)"
# redis:
# container_name: "${PROJECT_NAME}_redis"
# image: wodby/redis:$REDIS_TAG
# adminer:
# container_name: "${PROJECT_NAME}_adminer"
# init: true
# image: wodby/adminer:$ADMINER_TAG
# environment:
# # For PostgreSQL:
# # ADMINER_DEFAULT_DB_DRIVER: pgsql
# ADMINER_DEFAULT_DB_HOST: $DB_HOST
# ADMINER_DEFAULT_DB_NAME: $DB_NAME
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_adminer.rule=Host(`adminer.${PROJECT_BASE_URL}`)"
# pma:
# image: phpmyadmin/phpmyadmin
# container_name: "${PROJECT_NAME}_pma"
# environment:
# PMA_HOST: $DB_HOST
# PMA_USER: $DB_USER
# PMA_PASSWORD: $DB_PASSWORD
# UPLOAD_LIMIT: 1G
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_pma.rule=Host(`pma.${PROJECT_BASE_URL}`)"
# solr:
# image: wodby/solr:$SOLR_TAG
# container_name: "${PROJECT_NAME}_solr"
# environment:
## SOLR_DEFAULT_CONFIG_SET: $SOLR_CONFIG_SET
# ZK_HOST: zookeeper:2181
# SOLR_HEAP: 1024m
# depends_on:
# - zookeeper
# labels:
# - "traefik.http.services.${PROJECT_NAME}_solr.loadbalancer.server.port=8983"
# - "traefik.http.routers.${PROJECT_NAME}_solr.rule=Host(`solr.${PROJECT_BASE_URL}`)"
# zookeeper:
# image: zookeeper:$ZOOKEEPER_TAG
# container_name: "${PROJECT_NAME}_zookeeper"
# environment:
# ZOO_MY_ID: 1
# ZOO_SERVERS: server.1=zookeeper:2888:3888;2181
# ZOO_4LW_COMMANDS_WHITELIST: mntr, conf, ruok
# drupal-node:
# image: wodby/drupal-node:$DRUPAL_NODE_TAG
# container_name: "${PROJECT_NAME}_drupal_nodejs"
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_drupal_node.rule=Host(`drupal_node.${PROJECT_BASE_URL}`)"
# environment:
# NODE_SERVICE_KEY: node-service-key
# memcached:
# container_name: "${PROJECT_NAME}_memcached"
# image: wodby/memcached:$MEMCACHED_TAG
# rsyslog:
# container_name: "${PROJECT_NAME}_rsyslog"
# image: wodby/rsyslog:$RSYSLOG_TAG
# athenapdf:
# image: arachnysdocker/athenapdf-service:$ATHENAPDF_TAG
# container_name: "${PROJECT_NAME}_athenapdf"
# environment:
# WEAVER_AUTH_KEY: weaver-auth-key
# WEAVER_ATHENA_CMD: "athenapdf -S"
# WEAVER_MAX_WORKERS: 10
# WEAVER_MAX_CONVERSION_QUEUE: 50
# WEAVER_WORKER_TIMEOUT: 90
# WEAVER_CONVERSION_FALLBACK: "false"
# node:
# image: wodby/node:$NODE_TAG
# container_name: "${PROJECT_NAME}_node"
# working_dir: /var/www/html/path/to/theme/to/build
# labels:
# - "traefik.http.services.${PROJECT_NAME}_node.loadbalancer.server.port=3000"
# - "traefik.http.routers.${PROJECT_NAME}_node.rule=Host(`node.${PROJECT_BASE_URL}`)"
# expose:
# - "3000"
# volumes:
# - ./:/var/www/html
# command: sh -c 'yarn install && yarn run start'
# webgrind:
# image: wodby/webgrind:$WEBGRIND_TAG
# container_name: "${PROJECT_NAME}_webgrind"
# environment:
# WEBGRIND_PROFILER_DIR: /mnt/files/xdebug
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_webgrind.rule=Host(`webgrind.${PROJECT_BASE_URL}`)"
# volumes:
# - files:/mnt/files
# - ./:/mnt/codebase:cached
# elasticsearch:
# image: wodby/elasticsearch:$ELASTICSEARCH_TAG
# container_name: "${PROJECT_NAME}_elasticsearch"
# environment:
# ES_JAVA_OPTS: "-Xms500m -Xmx500m"
# ulimits:
# memlock:
# soft: -1
# hard: -1
# kibana:
# image: wodby/kibana:$KIBANA_TAG
# container_name: "${PROJECT_NAME}_kibana"
# depends_on:
# - elasticsearch
# labels:
# - "traefik.http.services.${PROJECT_NAME}_kibana.loadbalancer.server.port=5601"
# - "traefik.http.routers.${PROJECT_NAME}_kibana.rule=Host(`kibana.${PROJECT_BASE_URL}`)"
# opensmtpd:
# container_name: "${PROJECT_NAME}_opensmtpd"
# image: wodby/opensmtpd:$OPENSMTPD_TAG
# xhprof:
# image: wodby/xhprof:$XHPROF_TAG
# container_name: "${PROJECT_NAME}_xhprof"
# restart: always
# volumes:
# - files:/mnt/files
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_xhprof.rule=Host(`xhprof.${PROJECT_BASE_URL}`)"
# chrome:
# image: selenium/standalone-chrome:$SELENIUM_CHROME_TAG
# container_name: "${PROJECT_NAME}_chrome"
# volumes:
# - /dev/shm:/dev/shm
# entrypoint:
# - chromedriver
# - "--no-sandbox"
# - "--disable-dev-shm-usage"
# - "--log-path=/tmp/chromedriver.log"
# - "--verbose"
# - "--whitelisted-ips="
traefik:
image: traefik:v2.0
container_name: "${PROJECT_NAME}_traefik"
command: --api.insecure=true --providers.docker
ports:
- "${PROJECT_PORT}:80"
# - '8080:8080' # Dashboard
volumes:
- /var/run/docker.sock:/var/run/docker.sock
#x-mutagen:
# sync:
# defaults:
# ignore:
# vcs: true
# paths:
# - .DS_Store
# - .history
# - .idea
# drupal:
# alpha: "."
# beta: "volume://drupal"
# configurationBeta:
# permissions:
# defaultFileMode: 0644
# defaultDirectoryMode: 0755
# defaultOwner: "id:501"
# defaultGroup: "id:20"
volumes:
## For macOS users (Mutagen)
# drupal:
# For Xdebug profiler
files:
Contents of your .env
### Documentation available at https://wodby.com/docs/stacks/drupal/local
### Changelog can be found at https://github.com/wodby/docker4drupal/releases
### Images tags format explained at https://github.com/wodby/docker4drupal#images-tags
### PROJECT SETTINGS
PROJECT_NAME=drupaldeafault_project
PROJECT_BASE_URL=drupal.docker.localhost
PROJECT_PORT=8200
DB_NAME=dfd
DB_USER=root
DB_PASSWORD=root
DB_ROOT_PASSWORD=root
DB_HOST=localhost
DB_PORT=3306
DB_DRIVER=mysql
### --- MARIADB ----
MARIADB_TAG=10.11-3.26.4
#MARIADB_TAG=11.0-3.26.4
#MARIADB_TAG=10.10-3.26.4
#MARIADB_TAG=10.9-3.26.4
#MARIADB_TAG=10.6-3.26.4
#MARIADB_TAG=10.5-3.26.4
#MARIADB_TAG=10.4-3.26.4
### --- VANILLA DRUPAL ----
DRUPAL_TAG=10-4.58.7
#DRUPAL_TAG=9-4.58.7
#DRUPAL_TAG=7-4.58.7
### --- PHP ----
# Linux (uid 1000 gid 1000)
PHP_TAG=8.2-dev-4.47.5
#PHP_TAG=8.1-dev-4.47.5
#PHP_TAG=8.0-dev-4.47.5
# macOS (uid 501 gid 20)
#PHP_TAG=8.2-dev-macos-4.47.5
#PHP_TAG=8.1-dev-macos-4.47.5
#PHP_TAG=8.0-dev-macos-4.47.5
### --- NGINX ----
NGINX_TAG=1.25-5.33.5
#NGINX_TAG=1.24-5.33.5
#NGINX_TAG=1.25-5.33.5
NGINX_VHOST_PRESET=drupal10
#NGINX_VHOST_PRESET=drupal9
#NGINX_VHOST_PRESET=drupal8
#NGINX_VHOST_PRESET=drupal7
### --- SOLR ---
SOLR_TAG=8-4.18.2
#SOLR_TAG=7-4.18.2
#SOLR_TAG=6-4.18.2
#SOLR_TAG=5-4.18.2
SOLR_CONFIG_SET="search_api_solr_4.1.6"
#SOLR_CONFIG_SET="search_api_solr_4.0.1"
#SOLR_CONFIG_SET="search_api_solr_8.x-3.9"
#SOLR_CONFIG_SET="search_api_solr_8.x-3.2"
#SOLR_CONFIG_SET="search_api_solr_8.x-2.7"
#SOLR_CONFIG_SET="search_api_solr_8.x-1.2"
#SOLR_CONFIG_SET="search_api_solr_7.x-1.14"
### --- ELASTICSEARCH ---
ELASTICSEARCH_TAG=7-5.18.11
#ELASTICSEARCH_TAG=6-5.18.11
### --- KIBANA ---
KIBANA_TAG=7-5.18.11
#KIBANA_TAG=6-5.18.11
### --- REDIS ---
REDIS_TAG=7-4.2.1
#REDIS_TAG=6-4.2.1
#REDIS_TAG=5-4.2.1
### --- NODE ---
NODE_TAG=20-dev-1.26.0
#NODE_TAG=18-dev-1.26.0
### --- VARNISH ---
VARNISH_TAG=6.0-4.15.0
### --- POSTGRESQL ----
POSTGRES_TAG=15-1.31.4
#POSTGRES_TAG=14-1.31.4
#POSTGRES_TAG=13-1.31.4
#POSTGRES_TAG=12-1.31.4
#POSTGRES_TAG=11-1.31.4
### OTHERS
ADMINER_TAG=4-3.24.4
APACHE_TAG=2.4-4.12.2
ATHENAPDF_TAG=2.16.0
DRUPAL_NODE_TAG=1.0-2.0.0
MEMCACHED_TAG=1-2.15.3
OPENSMTPD_TAG=6-1.18.3
RSYSLOG_TAG=latest
SELENIUM_CHROME_TAG=3.141
WEBGRIND_TAG=1-1.30.0
XHPROF_TAG=3.7.6
ZOOKEEPER_TAG=3.8
Logs output docker-compose logs
Paste here
If you're starting from the scratch (without db import) make sure to specify mariadb
as the host on the 4th step of Drupal installation (this area collapsed by default with localhost
as the default value). I've just repeated all the actions on macOS and the installation has completed just fine (Drupal 10.1.5, Docker 24.0.2).
created a local database on localhost
oh, I see, php in the container cannot access your host machine database, you can use something like host.docker.internal
(macOS) to access the host from within the container or just use the mariadb
from your docker-compose.yml
file. Anyway, using the host machine database is not a use case covered by docker4drupal