An open API service indexing awesome lists of open source software.

https://github.com/datswissguy/pimcore-docker-skeleton

Docker Compose quick setup for a Pimcore skeleton installation
https://github.com/datswissguy/pimcore-docker-skeleton

Last synced: 5 months ago
JSON representation

Docker Compose quick setup for a Pimcore skeleton installation

Awesome Lists containing this project

README

          

# Deprecation Warning (December 2021)
This Repo is based on Pimcore 6.9. Pimcore's official docker skeleton for Pimcore Version 10 (aka Pimcore X) now works out of the box, respectively their instructions are complete. No more extra steps. Please use their Repo unless you really want to work with Pimcore 6.9

# Pimcore Docker Compose Setup
This is a Docker Compose quick setup for a Pimcore skeleton installation.

# Step-by-Step

## Prerequisites
The starting point is a Docker-Compose configuration file (docker-compose.yml). The following is an example with some selected images:

`Redis` => as a cache.

`MySQL` => as the database of choice. Feel free to replace it with MariaDB.

`Pimcore` => the official Pimcore php 7.4 Apache image.

`phpMyAdmin` => to make handling the database a bit easier without having to rely on tools like Sequel Pro, MySQL Workbench, etc.

`MailCatcher` => for E-Mail handling during development.

Change the ports as needed. I chose this setup to not interfere with other running containers.

```yml
version: "3.7"
services:
cache:
image: redis:latest
volumes:
- ./redis/config/redis.conf:/usr/local/etc/redis/redis.conf:ro
entrypoint: redis-server /usr/local/etc/redis/redis.conf

mysql:
image: mysql
volumes:
- ./mysql/data/:/var/lib/mysql
ports:
- "7307:3306"
environment:
MYSQL_ROOT_PASSWORD: pimcore
MYSQL_DATABASE: pimcore
MYSQL_USER: pimcore
MYSQL_PASSWORD: pimcore
command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']

pimcore:
image: pimcore/pimcore:PHP7.4-apache
volumes:
- ./pimcore/config/php/php.ini:/usr/local/etc/php/php.ini
- ./pimcore/logs/apache/:/var/log/apache2
- ./pimcore/www/:/var/www/html
ports:
- "7080:80"
# uncomment for ssl, beware this will need some extra configuration for certificates.
# - "8443:443"

phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "7081:80"
environment:
PMA_HOST: mysql
PMA_USERNAME: root
PMA_PASSWORD: pimcore

mailcatcher:
image: schickling/mailcatcher
ports:
- "1080:1080"
```

## Installation
Clone this repository or create your own Docker Compose configuration file. After that follow this sequence of commands and steps:

1. run `docker-compose up -d`
2. run `docker ps` and identify the pimcore container or alternatively use the Docker dashboard
3. bash into container: `docker exec -it bash`
4. install package: `COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton tmp`
5. move temporary installed packages to the correct folder in apache: `mv tmp/.[!.]* .` then `mv tmp/* .` then `rmdir tmp`
6. 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;`
7. restart / reload apache: `service apache2 reload`
8. on some machines there's gonna be issues with relative symlinked files, to solve this issue run: `chown www-data: . -R`
9. finally, time to install pimcore: `./vendor/bin/pimcore-install --mysql-host-socket=mysql --mysql-username=pimcore --mysql-password=pimcore --mysql-database=pimcore`
10. done!

The admin panel: http://localhost:7080/admin
The frontend: http://localhost:7080