1+ FROM php:8.4-cli
2+
3+ LABEL maintainer="ReadyMadeHost http://readymadehost.com"
4+
5+ # Installing required packages
6+ RUN apt-get update
7+ RUN apt-get install --no-install-recommends -y procps \
8+ curl \
9+ git \
10+ vim \
11+ zip \
12+ unzip \
13+ wget
14+ RUN apt-get install --no-install-recommends -y mariadb-client
15+
16+ ARG NODE_VERSION
17+ ENV NODE_VERSION ${NODE_VERSION}
18+
19+ # Installing node
20+ RUN curl -sL https://deb.nodesource.com/setup_${NODE_VERSION} | bash -
21+ RUN apt-get -y install nodejs
22+
23+ # Installing yarn and grunt-cli using npm
24+ RUN npm install --global yarn
25+ RUN npm install --global grunt-cli
26+
27+ # Installing extensions
28+ RUN curl -L https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions \
29+ -o /usr/local/bin/install-php-extensions && chmod +x /usr/local/bin/install-php-extensions
30+
31+ # Installing extensions
32+ RUN install-php-extensions \
33+ pdo_mysql \
34+ intl \
35+ mbstring \
36+ zip \
37+ exif \
38+ pcntl \
39+ bcmath \
40+ ctype \
41+ curl \
42+ dom \
43+ iconv \
44+ simplexml \
45+ soap \
46+ xsl \
47+ sockets \
48+ opcache \
49+ gd \
50+ imagick \
51+ apcu \
52+ amqp \
53+ ftp \
54+ @composer
55+
56+ # Installing other extensions but enabled dynamically
57+ RUN IPE_DONT_ENABLE=1 install-php-extensions redis \
58+ mongodb \
59+ xdebug
60+
61+ # Updating php.ini
62+ ADD conf/php.ini /usr/local/etc/php/php.ini
63+
64+ # Installing n98-magerun2
65+ RUN curl -O https://files.magerun.net/n98-magerun2.phar && chmod +x ./n98-magerun2.phar && mv ./n98-magerun2.phar /usr/local/bin/
66+
67+ # Manage project and add scripts
68+ RUN mkdir -p /var/www/project
69+ ADD manage-project-permission.sh /root/manage-project-permission.sh
70+ RUN chmod +x /root/manage-project-permission.sh
71+ RUN echo 'alias mpp="/root/manage-project-permission.sh"' >> /root/.bashrc
72+ RUN /root/manage-project-permission.sh
73+
74+ ARG PHP_ENABLE_REDIS
75+ ENV PHP_ENABLE_REDIS ${PHP_ENABLE_REDIS}
76+ ARG PHP_ENABLE_XDEBUG
77+ ENV PHP_ENABLE_XDEBUG ${PHP_ENABLE_XDEBUG}
78+ ARG PHP_ENABLE_MONGODB
79+ ENV PHP_ENABLE_MONGODB ${PHP_ENABLE_MONGODB}
80+
81+ ADD docker-entrypoint.sh /root/docker-entrypoint.sh
82+ RUN chmod +x /root/docker-entrypoint.sh
83+
84+ CMD ["/root/docker-entrypoint.sh" , "bash" ]
0 commit comments