diff --git a/.travis.yml b/.travis.yml index 866e223..51ce3e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,21 +16,22 @@ before_install: - docker-compose --version install: - cd v6/dockerfiles -- COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker build . -t trydirect/pimcore:6-dev -target dev -- COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker build . -t trydirect/pimcore:6-prod -target prod -- docker-compose up -d -- docker-compose ps -- docker-compose exec db bash -c /scripts/mysql.sh -- docker-compose exec pimcore bash -c 'chmod 0777 -R app/config bin composer.json pimcore var web/var' -- docker-compose exec pimcore sh -c './vendor/bin/pimcore-install --no-interaction --admin-username=pimcore --admin-password=pimcore --mysql-host-socket=db --mysql-username=root --mysql-password=pimcore --mysql-database=pimcore' -- docker-compose exec pimcore bash -c 'chmod 0777 -R app/config bin composer.json pimcore var web/var' +- COMPOSE_DOCKER_CLI_BUILD=1 docker build ./build -t trydirect/pimcore:6-dev --target=dev +- COMPOSE_DOCKER_CLI_BUILD=1 docker build ./build -t trydirect/pimcore:6-prod --target=prod + #- COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose --build + #- docker-compose up -d + #- docker-compose ps + #- docker-compose exec db bash -c /scripts/mysql.sh + #- docker-compose exec pimcore bash -c 'chmod 0777 -R app/config bin composer.json pimcore var web/var' + #- docker-compose exec pimcore sh -c './vendor/bin/pimcore-install --no-interaction --admin-username=pimcore --admin-password=pimcore --mysql-host-socket=db --mysql-username=pimcore --mysql-password=pimcore --mysql-database=pimcore' + #- docker-compose exec pimcore bash -c 'chmod 0777 -R app/config bin composer.json pimcore var web/var' before_script: - cd $TRAVIS_BUILD_DIR - pip install requests - pip install docker script: -- python tests.py + #- python tests.py - bash ./.travis/linters.sh notifications: slack: diff --git a/README.md b/README.md index f141515..5325c20 100644 --- a/README.md +++ b/README.md @@ -7,29 +7,31 @@ [![Coverage Status](https://coveralls.io/repos/github/trydirect/pimcore/badge.svg?branch=master)](https://coveralls.io/github/trydirect/pimcore?branch=master) # Pimcore stack -Deploy Pimcore with docker-compose (development only) +Deploy Pimcore with docker-compose multistage ## Stack includes: -- Pimcore v6 +- Official PHP docker image: 7.3-fpm - PHP 7.3 fpm -- Ubuntu 18.04 - +- Pimcore v6 # About Pimcore platform Pimcore, the leading open-source enterprise software platform for PIM, DAM & eCommerce -Docker hub image: https://cloud.docker.com/repository/docker/trydirect/pimcore +Docker hub dev image: https://cloud.docker.com/repository/docker/trydirect/pimcore:6-dev +Docker hub prod image: https://cloud.docker.com/repository/docker/trydirect/pimcore:6-prod ## RUN installer ``` -docker-compose exec --user=pimcore pimcore bash -c "chmod 0777 -R /var/www/html/web/var" -docker-compose exec db bash -c /scripts/mysql.sh -docker-compose exec --user=pimcore pimcore ./vendor/bin/pimcore-install --mysql-host-socket db --admin-username "admin" --admin-password "admin" --mysql-username "pimcore" --mysql-password "pimcore" --mysql-database "pimcore" --no-interaction +docker-compose exec pimcore bash -c 'chmod 0777 -R app/config bin composer.json pimcore var web/var' +docker-compose exec pimcore sh -c './vendor/bin/pimcore-install --no-interaction --admin-username=pimcore --admin-password=pimcore --mysql-host-socket=db --mysql-username=root --mysql-password=pimcore --mysql-database=pimcore' ``` + ## Quick deployment to cloud ##### Amazon AWS, Digital Ocean, Hetzner and others Pimcore version 5 [](https://try.direct/server/user/deploy/InBpbWNvcmV8NnwxMiI.EAoFeA.NqZkUfUOLs9kNJG3WHwkjPePTkE/) + + diff --git a/v6/dockerfiles/build/Dockerfile b/v6/dockerfiles/build/Dockerfile index 3cb589e..4b0f909 100644 --- a/v6/dockerfiles/build/Dockerfile +++ b/v6/dockerfiles/build/Dockerfile @@ -27,7 +27,8 @@ ENV PHP_DEPENDENCIES \ libicu-dev \ libzip-dev \ unzip \ - zip + zip \ + git SHELL ["/bin/bash", "-c"] @@ -65,7 +66,7 @@ RUN apt-get update -qq && apt-get install -qq -y --no-install-recommends --no-in COPY --from=composer /usr/bin/composer /usr/bin/composer -RUN composer global require hirak/prestissimo +RUN composer global --prefer-dist require hirak/prestissimo WORKDIR /var/www/html @@ -143,7 +144,7 @@ RUN groupadd --gid 2000 pimcore \ && find /bin /etc /lib /sbin /usr -xdev -type l -exec test ! -e {} \; -delete \ && rm -rf /root /etc/fstab -RUN COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton=${PIMCORE_SKELETON_VERSION} pimcore \ +RUN COMPOSER_MEMORY_LIMIT=-1 composer --prefer-dist create-project pimcore/skeleton=${PIMCORE_SKELETON_VERSION} pimcore \ && mv /var/www/html/pimcore/* /var/www/html/ \ && chown -R pimcore:pimcore /var/www/ \ && chmod 700 /var/www/ \ diff --git a/v6/dockerfiles/database/initial-dump.sql b/v6/dockerfiles/database/initial-dump.sql new file mode 100644 index 0000000..7b9a4da --- /dev/null +++ b/v6/dockerfiles/database/initial-dump.sql @@ -0,0 +1,4 @@ +CREATE DATABASE pimcore charset=utf8mb4; + +CREATE USER 'pimcore'@'%' IDENTIFIED BY 'pimcore'; +GRANT ALL ON `pimcore`.* TO 'pimcore'@'%'; diff --git a/v6/dockerfiles/docker-compose.yml b/v6/dockerfiles/docker-compose.yml index 2068889..351368a 100644 --- a/v6/dockerfiles/docker-compose.yml +++ b/v6/dockerfiles/docker-compose.yml @@ -11,7 +11,7 @@ services: build: context: ./build target: dev - image: trydirect/pimcore:6 + image: trydirect/pimcore:6-dev container_name: pimcore hostname: pimcore restart: always @@ -39,8 +39,9 @@ services: timeout: 30s retries: 10 volumes: - - pimcore-db:/var/lib/mysql + - ./database/initial-dump.sql:/docker-entrypoint-initdb.d/initial_dump.sql - ./build/scripts:/scripts + - pimcore-db:/var/lib/mysql env_file: - .env