Skip to content
Simple Docker-Compose Configuration for Pimcore 5
Branch: master
Clone or download
dpfaffenbauer Merge pull request #19 from davidhoeck/patch-1
Added "Common Errors" section to README
Latest commit 5870402 Jul 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.docker/php use apache-php image Nov 28, 2017 Added "Common Errors" section Jul 13, 2019
docker-compose.yml Use correct commands to configure InnoDB system variables Apr 8, 2019

Docker-Compose for Pimcore 5

Simple and easy Docker-Compose configuration for Pimcore 5.

Docker-Compose consists of following images:

  • Redis
  • MariaDB 10.1
  • httpd (Apache 2.4) & PHP-FPM with PHP7.1 and all Pimcore required dependencies (LibreOffice, FFMPEG, Image Libraries, etc)
  • PHP-FPM with PHP7.0 and all Pimcore required dependencies (LibreOffice, Image Libraries, etc) (except FFMPEG)

Getting Started


  • git
  • docker
  • docker-compose

Checkout Repo

git clone
cd pimcore-docker-compose/

Run Containers

# initialize and startup containers
docker-compose up

Install Pimcore

Choose which package to install

# get shell in running container
docker exec -it pimcore-php bash

# replace <yourpackage> with the package you with to install
# for example COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/demo-ecommerce tmp
COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/<yourpackage> tmp
mv tmp/* .  

#increase the memory_limit to >= 512MB as required by pimcore-install
echo 'memory_limit = 512M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini;
service apache2 reload

#run installer
./vendor/bin/pimcore-install --mysql-host-socket=db --mysql-username=pimcore --mysql-password=pimcore --mysql-database=pimcore 


After the installer is finished, you can open in your Browser:

Common Errors

File permissions

On some machines docker has problems with the relative symlinked (static) files. Run those commands in your pimcore-php container

docker-compose exec php bash 
chown www-data: . -R 

This could take a while because of the amount of files inside the directory (especially because of the vendor folder). There is no guarantee that those commands on all machines and operating systems.

You can’t perform that action at this time.