1+ FROM php:8.3-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+ @composer
54+
55+ # Installing other extensions but enabled dynamically
56+ RUN IPE_DONT_ENABLE=1 install-php-extensions redis \
57+ mongodb \
58+ xdebug
59+
60+ # Updating php.ini
61+ ADD conf/php.ini /usr/local/etc/php/php.ini
62+
63+ # Installing n98-magerun2
64+ RUN curl -O https://files.magerun.net/n98-magerun2.phar && chmod +x ./n98-magerun2.phar && mv ./n98-magerun2.phar /usr/local/bin/
65+
66+ # Manage project and add scripts
67+ RUN mkdir -p /var/www/project
68+ ADD manage-project-permission.sh /root/manage-project-permission.sh
69+ RUN chmod +x /root/manage-project-permission.sh
70+ RUN echo 'alias mpp="/root/manage-project-permission.sh"' >> /root/.bashrc
71+ RUN /root/manage-project-permission.sh
72+
73+ ARG PHP_ENABLE_REDIS
74+ ENV PHP_ENABLE_REDIS ${PHP_ENABLE_REDIS}
75+ ARG PHP_ENABLE_XDEBUG
76+ ENV PHP_ENABLE_XDEBUG ${PHP_ENABLE_XDEBUG}
77+ ARG PHP_ENABLE_MONGODB
78+ ENV PHP_ENABLE_MONGODB ${PHP_ENABLE_MONGODB}
79+
80+ ADD docker-entrypoint.sh /root/docker-entrypoint.sh
81+ RUN chmod +x /root/docker-entrypoint.sh
82+
83+ CMD ["/root/docker-entrypoint.sh" , "bash" ]
0 commit comments