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