Docker compose with adminer-fastcgi, drupal-fpm (with apcu, uploadprogress), nginx (alpine) and graphdp (without executable), solr (slim-buster).
| drupal_context | ||
| graphdb_context | ||
| nginx_context | ||
| postgres_context | ||
| .dockerignore | ||
| .example-env | ||
| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
Drupal Performance Stack
Stack
-
Webserver from nginx-alpine
-
Database from postgres-alpine
-
Drupal from drupal-fpm-alpine
- with apcu, uploadprogress
- max_execution_time = 60
- max_input_time = 30
- max_input_nesting_level = 640
- max_input_vars = 10000
- memory_limit = 512M
- upload_max_filesize = 20M
- max_file_uploads = 50
- post_max_size = 20M
-
Search from solr-slim-buster
-
TripleStore from slim-buster
Start
Prepare Configs
- Clone Repo with
git clone git@github.com:rnsrk/performance-drupal.git. - Rename
.example-envto.envand set environment variables for postgres service. - Rename
./nginx_context/.example-htpasswdto.htpasswdand set environment variables for nginx service. - Rename
./drupal_context/.example-settings.phptosettings.phpand set environment variables for drupal service.
Add local domains
- Add the domains to your
/etc/hosts:
127.0.0.1 drupal.local
127.0.0.1 graphdb.local
127.0.0.1 adminer.local
Get Triplestore
- Get GraphDB free standalone server.
- Copy zip-file to to
/graphdb_contextand rename it tographdb.zip.
Start containers
- Start containers with
docker compose up -d.
Install Drupal
- Go to
http://drupal.localfor Drupal installation
Visit Workbenches
- Go to
http://graphdb.localfor GraphDB workbench - Go to
http://adminer.localfor Adminer workbench
Roadmap
- implement iipserver correctly
- have readable/writable mount volumes for postgres, solr, graphdb