-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ac9cb24
commit 01abf33
Showing
10 changed files
with
199 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
FROM gaiterjones/phusion1100-apache2-php7-4:27 | ||
LABEL maintainer="paj@gaiterjones.com" | ||
LABEL description="Magento 2 PHP-APACHE Service" | ||
|
||
ENV MAGENTO_VERSION 2.4.3-p1 | ||
# sha256sum Magento-Open-Source-2.4.3-p1.tar.gz | ||
ENV MAGENTO_SHA256 e32b565602eddd6b9e2571132b0982718fa6623dc0fa8fd455195ef8f5d5c733 | ||
|
||
# dependencies | ||
RUN requirements="libsodium-dev libonig-dev libzip-dev libpng-dev libcurl3-dev zlib1g-dev libpng-dev libjpeg-turbo8 libjpeg-turbo8-dev libfreetype6 libfreetype6-dev libicu-dev libxslt1-dev msmtp nano git" \ | ||
&& apt-get update && apt-get install -y $requirements && rm -rf /var/lib/apt/lists/* \ | ||
&& docker-php-ext-configure gd \ | ||
--enable-gd \ | ||
--with-jpeg \ | ||
--with-freetype \ | ||
&& docker-php-ext-install -j$(nproc) gd \ | ||
&& docker-php-ext-install -j$(nproc) pdo_mysql \ | ||
&& docker-php-ext-install -j$(nproc) bcmath \ | ||
&& docker-php-ext-install -j$(nproc) mbstring \ | ||
&& docker-php-ext-install -j$(nproc) zip \ | ||
&& docker-php-ext-install -j$(nproc) intl \ | ||
&& docker-php-ext-install -j$(nproc) xsl \ | ||
&& docker-php-ext-install -j$(nproc) soap \ | ||
&& docker-php-ext-install -j$(nproc) opcache \ | ||
&& docker-php-ext-install -j$(nproc) sockets \ | ||
&& docker-php-ext-install -j$(nproc) sodium \ | ||
&& requirementsToRemove="libcurl3-dev libfreetype6-dev libpng-dev libjpeg-turbo8-dev" \ | ||
&& apt-get purge --auto-remove -y $requirementsToRemove | ||
|
||
# Install XDEBUG extension | ||
# Xdebug replaces PHP's var_dump() function for displaying variables. | ||
# https://xdebug.org/download.php | ||
# confirm => php -m | grep -i xdebug | ||
RUN set -x \ | ||
&& pecl install xdebug-2.9.5 \ | ||
&& docker-php-ext-enable xdebug | ||
|
||
# Install memcache extension | ||
# | ||
RUN set -x \ | ||
&& apt-get update && apt-get install -y --no-install-recommends unzip libssl-dev libpcre3 libpcre3-dev \ | ||
&& cd /tmp \ | ||
&& curl -sSL -o php7.zip https://github.com/websupport-sk/pecl-memcache/archive/4.0.5.2.zip \ | ||
&& unzip php7 \ | ||
&& cd pecl-memcache-4.0.5.2 \ | ||
&& /usr/local/bin/phpize \ | ||
&& ./configure --with-php-config=/usr/local/bin/php-config \ | ||
&& make \ | ||
&& make install \ | ||
&& echo "extension=memcache.so" > /usr/local/etc/php/conf.d/ext-memcache.ini \ | ||
&& rm -rf /tmp/pecl-memcache-php7 php7.zip | ||
|
||
# get magento 2 and extract | ||
# | ||
RUN set -x \ | ||
&& mkdir /var/www/dev \ | ||
&& rm -rf /var/www/html/* \ | ||
&& mkdir /tmp/magento2 \ | ||
&& cd /tmp/magento2 \ | ||
&& curl https://pe.terjon.es/dropbox/Magento-Open-Source-$MAGENTO_VERSION.tar.gz -o $MAGENTO_VERSION.tar.gz \ | ||
&& echo "$MAGENTO_SHA256 $MAGENTO_VERSION.tar.gz" | sha256sum -c - \ | ||
&& tar xvf $MAGENTO_VERSION.tar.gz \ | ||
&& cd .. \ | ||
&& mv magento2 /var/www/dev/ \ | ||
&& mkdir /var/www/dev/magento2/composer_home | ||
|
||
# install composer v2.1.14 | ||
# | ||
RUN set -x \ | ||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=2.1.14 | ||
|
||
# install magerun 2 | ||
# | ||
RUN set -x \ | ||
&& cd /tmp \ | ||
&& curl -s -o n98-magerun2.phar https://files.magerun.net/n98-magerun2.phar \ | ||
&& chmod +x ./n98-magerun2.phar \ | ||
&& mv ./n98-magerun2.phar /usr/local/bin/ | ||
|
||
# prepare Mage source | ||
# | ||
# add Magento 2 file owner | ||
# | ||
# ensure www-data is group 33 | ||
# add new file owner group 1000 | ||
# file owner member of www-data | ||
# | ||
COPY ./healthcheck.php /var/www/dev/magento2/ | ||
COPY ./auth.json /var/www/.composer/ | ||
# Magento repo auth config | ||
# | ||
ARG MAGENTO_REPO_USERNAME | ||
ARG MAGENTO_REPO_PASSWORD | ||
RUN set -x \ | ||
&& sed -i "s/XUSERNAMEX/$MAGENTO_REPO_USERNAME/g" /var/www/.composer/auth.json \ | ||
&& sed -i "s/XPASSWORDX/$MAGENTO_REPO_PASSWORD/g" /var/www/.composer/auth.json \ | ||
&& cat /var/www/.composer/auth.json | ||
ENV COMPOSER_HOME=/var/www/.composer | ||
RUN set -x \ | ||
&& usermod -u 33 www-data \ | ||
&& adduser --disabled-password --gecos '' magento \ | ||
&& usermod -u 1000 magento \ | ||
&& usermod -a -G www-data magento \ | ||
&& chown -R magento:www-data /var/www | ||
|
||
# composer | ||
RUN chsh -s /bin/bash magento \ | ||
&& su magento -c "cd /var/www/dev/magento2 && composer install" | ||
|
||
# php RedisAdmin | ||
# https://github.com/erikdubbelboer/phpRedisAdmin | ||
# | ||
RUN su magento -c "cd /var/www/dev && composer create-project -s dev erik-dubbelboer/php-redis-admin /var/www/dev/phpRedisAdmin" | ||
|
||
# Magento DEVELOPMENT permissions (this may take a while...) | ||
# | ||
RUN set -x \ | ||
&& cd /var/www/dev/magento2 \ | ||
&& rm -rf ./generated/metadata/* ./generated/code/* ./pub/static/* ./var/cache/* ./var/page_cache/* ./var/view_preprocessed/* ./var/log/* \ | ||
&& find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \; && chmod u+x bin/magento | ||
|
||
# scripts | ||
# | ||
COPY ./bin/install-magento /usr/local/bin/install-magento | ||
RUN chmod +x /usr/local/bin/install-magento | ||
COPY ./bin/install-sampledata /usr/local/bin/install-sampledata | ||
RUN chmod +x /usr/local/bin/install-sampledata | ||
|
||
# configure apache env | ||
# | ||
ENV APACHE_RUN_USER www-data | ||
ENV APACHE_RUN_GROUP www-data | ||
ENV APACHE_LOG_DIR /var/log/apache2 | ||
ENV APACHE_PID_FILE /var/run/apache2.pid | ||
ENV APACHE_RUN_DIR /var/run/apache2 | ||
ENV APACHE_LOCK_DIR /var/lock/apache2 | ||
|
||
# cleanup | ||
# | ||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
COPY ./auth.json /var/www/.composer/ | ||
|
||
WORKDIR /var/www/dev/magento2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"http-basic": { | ||
"repo.magento.com": { | ||
"username": "XUSERNAMEX", | ||
"password": "XPASSWORDX" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#!/usr/bin/env bash | ||
if [ -f /var/www/dev/magento2/var/composer_home/auth.json ]; then | ||
rm /var/www/dev/magento2/var/composer_home/auth.json | ||
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/ | ||
fi | ||
if [ ! -f /var/www/dev/magento2/var/composer_home/auth.json ]; then | ||
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/ | ||
fi | ||
/var/www/dev/magento2/bin/magento setup:install --base-url=$MAGENTO_URL --backend-frontname=admin --language=$MAGENTO_LANGUAGE --timezone=$MAGENTO_TIMEZONE --currency=$MAGENTO_DEFAULT_CURRENCY --db-host=$MYSQL_HOST --db-name=$MYSQL_DATABASE --db-user=$MYSQL_USER --db-password=$MYSQL_PASSWORD --use-secure=0 --base-url-secure=0 --use-secure-admin=0 --admin-firstname=$MAGENTO_ADMIN_FIRSTNAME --admin-lastname=$MAGENTO_ADMIN_LASTNAME --admin-email=$MAGENTO_ADMIN_EMAIL --admin-user=$MAGENTO_ADMIN_USERNAME --admin-password=$MAGENTO_ADMIN_PASSWORD --search-engine=elasticsearch7 --elasticsearch-host=elasticsearch --elasticsearch-index-prefix=magento2 | ||
/var/www/dev/magento2/bin/magento setup:config:set --http-cache-hosts=varnish:80 | ||
/var/www/dev/magento2/bin/magento deploy:mode:set developer | ||
/var/www/dev/magento2/bin/magento c:enable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/env bash | ||
if [ -f /var/www/dev/magento2/var/composer_home/auth.json ]; then | ||
rm /var/www/dev/magento2/var/composer_home/auth.json | ||
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/ | ||
fi | ||
if [ ! -f /var/www/dev/magento2/var/composer_home/auth.json ]; then | ||
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/ | ||
fi | ||
/var/www/dev/magento2/bin/magento sampledata:deploy | ||
/var/www/dev/magento2/bin/magento setup:upgrade |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?php | ||
/** | ||
* | ||
* Copyright (C) 2019 | ||
* | ||
* | ||
* @who PAJ | ||
* @info paj@gaiterjones.com | ||
* @license blog.gaiterjones.com | ||
* | ||
* | ||
*/ | ||
|
||
header("HTTP/1.1 200 OK"); | ||
|
||
|
||
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters