Skip to content

Commit 11e78c2

Browse files
authored
feat: php8.4
1 parent 0431f15 commit 11e78c2

16 files changed

+11883
-2
lines changed

.env.sample

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ NGINX_PORT=8080
3131
###> php configuration ###
3232

3333
# php version
34-
# ie: 8.3, 8.2, 8.1, 8.0 , 7.4, 7.3, 7.2 and 7.1
34+
# ie: 8.4, 8.3, 8.2, 8.1, 8.0 , 7.4, 7.3, 7.2 and 7.1
3535
PHP_VERSION=8.1
3636

3737
# php fpm expose port

.github/workflows/docker-build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
uses: actions/checkout@v3
1515
- name: Copy .env.sample to .env
1616
run: cp .env.sample .env
17+
- name: For php8.4
18+
run: PHP_VERSION=8.4 docker compose -f docker-compose-publish.yml build
1719
- name: For php8.3
1820
run: PHP_VERSION=8.3 docker compose -f docker-compose-publish.yml build
1921
- name: For php8.2

.github/workflows/docker-publish.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121
run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
2222
- name: Copy .env.sample to .env
2323
run: cp .env.sample .env
24+
- name: For php8.4
25+
run: PHP_VERSION=8.4 docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.4 docker compose -f docker-compose-publish.yml push
2426
- name: For php8.3
2527
run: PHP_VERSION=8.3 docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.3 docker compose -f docker-compose-publish.yml push
2628
- name: For php8.2

.github/workflows/docker-release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ jobs:
2626
run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
2727
- name: Copy .env.sample to .env
2828
run: cp .env.sample .env
29+
- name: For php8.4
30+
run: PHP_VERSION=8.4 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.4 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
2931
- name: For php8.3
3032
run: PHP_VERSION=8.3 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.3 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
3133
- name: For php8.2

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ A development docker for every magento2 project
77

88
- Build for magento2 projects
99
- Bundle of `fpm`, `cli`, `nginx`, `mariadb`, `phpmyadmin`, `redis` , `elasticsearch`, `rabbitmq`, `emailcatcher` and `varnish` containers
10-
- PHP 8.3, 8.2, 8.1, 8.0, 7.4, 7.3, 7.2, 7.1 supported
10+
- PHP 8.4, 8.3, 8.2, 8.1, 8.0, 7.4, 7.3, 7.2, 7.1 supported
1111
- Database mariadb 10.x, mongodb 6.x ... supported
1212
- Node 20.x, 18.x, 17.x, 16.x, ... supported
1313
- Redis 6.x, 5.x, ... supported

php8.4/cli/Dockerfile

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
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

Comments
 (0)