Skip to content

Commit 93e7173

Browse files
authored
Merge pull request #3 from readymadehost/chore-add-ftp-extension
chore: added ftp and enabled imagick for 8.3 + support for php 8.4
2 parents 3ad9356 + 4d43001 commit 93e7173

20 files changed

+11919
-34
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: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,21 @@ 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
18-
run: PHP_VERSION=8.3 docker-compose -f docker-compose-publish.yml build
20+
run: PHP_VERSION=8.3 docker compose -f docker-compose-publish.yml build
1921
- name: For php8.2
20-
run: PHP_VERSION=8.2 docker-compose -f docker-compose-publish.yml build
22+
run: PHP_VERSION=8.2 docker compose -f docker-compose-publish.yml build
2123
- name: For php8.1
22-
run: PHP_VERSION=8.1 docker-compose -f docker-compose-publish.yml build
24+
run: PHP_VERSION=8.1 docker compose -f docker-compose-publish.yml build
2325
- name: For php8.0
24-
run: PHP_VERSION=8.0 docker-compose -f docker-compose-publish.yml build
26+
run: PHP_VERSION=8.0 docker compose -f docker-compose-publish.yml build
2527
- name: For php7.4
26-
run: PHP_VERSION=7.4 docker-compose -f docker-compose-publish.yml build
28+
run: PHP_VERSION=7.4 docker compose -f docker-compose-publish.yml build
2729
- name: For php7.3
28-
run: PHP_VERSION=7.3 docker-compose -f docker-compose-publish.yml build
29-
- name: For php7.2
30-
run: PHP_VERSION=7.2 docker-compose -f docker-compose-publish.yml build
31-
- name: For php7.1
32-
run: PHP_VERSION=7.1 docker-compose -f docker-compose-publish.yml build
30+
run: PHP_VERSION=7.3 docker compose -f docker-compose-publish.yml build
31+
# - name: For php7.2
32+
# run: PHP_VERSION=7.2 docker compose -f docker-compose-publish.yml build
33+
# - name: For php7.1
34+
# run: PHP_VERSION=7.1 docker compose -f docker-compose-publish.yml build

.github/workflows/docker-publish.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,21 @@ 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
25-
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
27+
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
27-
run: PHP_VERSION=8.2 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=8.2 docker-compose -f docker-compose-publish.yml push
29+
run: PHP_VERSION=8.2 docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.2 docker compose -f docker-compose-publish.yml push
2830
- name: For php8.1
29-
run: PHP_VERSION=8.1 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=8.1 docker-compose -f docker-compose-publish.yml push
31+
run: PHP_VERSION=8.1 docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.1 docker compose -f docker-compose-publish.yml push
3032
- name: For php8.0
31-
run: PHP_VERSION=8.0 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=8.0 docker-compose -f docker-compose-publish.yml push
33+
run: PHP_VERSION=8.0 docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.0 docker compose -f docker-compose-publish.yml push
3234
- name: For php7.4
33-
run: PHP_VERSION=7.4 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.4 docker-compose -f docker-compose-publish.yml push
35+
run: PHP_VERSION=7.4 docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.4 docker compose -f docker-compose-publish.yml push
3436
- name: For php7.3
35-
run: PHP_VERSION=7.3 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.3 docker-compose -f docker-compose-publish.yml push
36-
- name: For php7.2
37-
run: PHP_VERSION=7.2 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.2 docker-compose -f docker-compose-publish.yml push
38-
- name: For php7.1
39-
run: PHP_VERSION=7.1 docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.1 docker-compose -f docker-compose-publish.yml push
37+
run: PHP_VERSION=7.3 docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.3 docker compose -f docker-compose-publish.yml push
38+
# - name: For php7.2
39+
# run: PHP_VERSION=7.2 docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.2 docker compose -f docker-compose-publish.yml push
40+
# - name: For php7.1
41+
# run: PHP_VERSION=7.1 docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.1 docker compose -f docker-compose-publish.yml push

.github/workflows/docker-release.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,21 @@ 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
30-
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
32+
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
32-
run: PHP_VERSION=8.2 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=8.2 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
34+
run: PHP_VERSION=8.2 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.2 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
3335
- name: For php8.1
34-
run: PHP_VERSION=8.1 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=8.1 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
36+
run: PHP_VERSION=8.1 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.1 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
3537
- name: For php8.0
36-
run: PHP_VERSION=8.0 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=8.0 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
38+
run: PHP_VERSION=8.0 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=8.0 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
3739
- name: For php7.4
38-
run: PHP_VERSION=7.4 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.4 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
40+
run: PHP_VERSION=7.4 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.4 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
3941
- name: For php7.3
40-
run: PHP_VERSION=7.3 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.3 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
41-
- name: For php7.2
42-
run: PHP_VERSION=7.2 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.2 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
43-
- name: For php7.1
44-
run: PHP_VERSION=7.1 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml build && PHP_VERSION=7.1 DOCKER_TAG=$GIT_TAG_NAME docker-compose -f docker-compose-publish.yml push
42+
run: PHP_VERSION=7.3 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.3 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
43+
# - name: For php7.2
44+
# run: PHP_VERSION=7.2 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.2 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push
45+
# - name: For php7.1
46+
# run: PHP_VERSION=7.1 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml build && PHP_VERSION=7.1 DOCKER_TAG=$GIT_TAG_NAME docker compose -f docker-compose-publish.yml push

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.2/cli/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ RUN install-php-extensions \
5050
imagick \
5151
apcu \
5252
amqp \
53+
ftp \
5354
@composer
5455

5556
# Installing other extensions but enabled dynamically

php8.2/fpm/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ RUN install-php-extensions \
3838
imagick \
3939
apcu \
4040
amqp \
41+
ftp \
4142
@composer
4243

4344
# Installing other extensions but enabled dynamically

php8.3/cli/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,10 @@ RUN install-php-extensions \
4747
sockets \
4848
opcache \
4949
gd \
50-
# imagick \
50+
imagick \
5151
apcu \
5252
amqp \
53+
ftp \
5354
@composer
5455

5556
# Installing other extensions but enabled dynamically

php8.3/fpm/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ RUN install-php-extensions \
3535
sockets \
3636
opcache \
3737
gd \
38-
# imagick \
38+
imagick \
3939
apcu \
4040
amqp \
41+
ftp \
4142
@composer
4243

4344
# Installing other extensions but enabled dynamically

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)