Skip to content

Commit abeab09

Browse files
committed
PHP 8.4
1 parent 34c2fe7 commit abeab09

File tree

8 files changed

+224
-24
lines changed

8 files changed

+224
-24
lines changed

.github/workflows/docker.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,7 @@ jobs:
4141
- item: "8.2-fpm"
4242
- item: "8.3"
4343
- item: "8.3-fpm"
44+
- item: "8.4"
45+
- item: "8.4-fpm"
4446

4547
fail-fast: false

8.4-fpm/Dockerfile

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
FROM dockette/debian:bullseye
2+
3+
LABEL maintainer="[email protected]"
4+
5+
# PHP
6+
ENV PHP_MODS_DIR=/etc/php/8.4/mods-available
7+
ENV PHP_CLI_DIR=/etc/php/8.4/cli
8+
ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d
9+
ENV PHP_CGI_DIR=/etc/php/8.4/cgi
10+
ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d
11+
ENV PHP_FPM_DIR=/etc/php/8.4/fpm
12+
ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d
13+
ENV PHP_FPM_POOL_DIR=${PHP_FPM_DIR}/pool.d
14+
ENV TZ=Europe/Prague
15+
16+
# INSTALLATION
17+
RUN apt update && apt dist-upgrade -y && \
18+
# DEPENDENCIES #############################################################
19+
apt install -y wget curl apt-transport-https ca-certificates lsb-release git unzip && \
20+
# PHP DEB.SURY.CZ ##########################################################
21+
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
22+
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
23+
apt update && \
24+
apt dist-upgrade -y && \
25+
apt install -y --no-install-recommends \
26+
php8.4-apcu \
27+
php8.4-bz2 \
28+
php8.4-bcmath \
29+
php8.4-calendar \
30+
php8.4-cgi \
31+
php8.4-cli \
32+
php8.4-ctype \
33+
php8.4-curl \
34+
php8.4-fpm \
35+
php8.4-gettext \
36+
php8.4-gd \
37+
php8.4-intl \
38+
php8.4-imap \
39+
php8.4-ldap \
40+
php8.4-mbstring \
41+
php8.4-memcached \
42+
php8.4-mysql \
43+
php8.4-pdo \
44+
php8.4-pgsql \
45+
php8.4-soap \
46+
php8.4-sqlite3 \
47+
php8.4-zip \
48+
php8.4-xmlrpc \
49+
php8.4-xsl && \
50+
# COMPOSER #################################################################
51+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \
52+
# PHP MOD(s) ###############################################################
53+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CLI_CONF_DIR}/999-custom.ini && \
54+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CGI_CONF_DIR}/999-custom.ini && \
55+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_FPM_CONF_DIR}/999-custom.ini && \
56+
# CLEAN UP #################################################################
57+
rm ${PHP_FPM_POOL_DIR}/www.conf && \
58+
apt-get clean -y && \
59+
apt-get autoclean -y && \
60+
apt-get remove -y wget curl lsb-release && \
61+
apt-get autoremove -y && \
62+
rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/*
63+
64+
# FILES (it overrides originals)
65+
ADD conf.d/custom.ini ${PHP_MODS_DIR}/custom.ini
66+
ADD fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf
67+
68+
# WORKDIR
69+
WORKDIR /srv
70+
71+
# COMMAND
72+
CMD ["php-fpm8.4"]

8.4-fpm/conf.d/custom.ini

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
; Update memory
2+
memory_limit = 521M
3+
upload_max_filesize = 256M
4+
post_max_size = 256M
5+
6+
; Dates
7+
date.timezone=Europe/Prague
8+
9+
; Mailer
10+
;sendmail_path = /usr/local/bin/phpmailer
11+
12+
; No disabled functions
13+
;disable_functions =

8.4-fpm/fpm/php-fpm.conf

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[global]
2+
3+
error_log = /proc/self/fd/2
4+
daemonize = no
5+
6+
[www]
7+
8+
access.log = /proc/self/fd/2
9+
10+
user = www-data
11+
group = www-data
12+
13+
listen = [::]:9000
14+
listen.owner = www-data
15+
listen.group = www-data
16+
listen.mode = 0660
17+
18+
pm = dynamic
19+
pm.max_children = 9
20+
pm.start_servers = 3
21+
pm.min_spare_servers = 2
22+
pm.max_spare_servers = 3
23+
pm.max_requests = 200
24+
catch_workers_output = yes
25+
clear_env = yes
26+
27+
php_admin_value[sendmail_path] = /usr/local/bin/phpmailer
28+
php_admin_value[open_basedir]= "/data:/srv:/var/tmp:/tmp"
29+
php_admin_value[upload_tmp_dir] = "/var/tmp"
30+
31+
include=/etc/php/8.4/fpm/pool.d/*.conf

8.4/Dockerfile

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
FROM dockette/debian:bullseye
2+
3+
LABEL maintainer="[email protected]"
4+
5+
# PHP
6+
ENV PHP_MODS_DIR=/etc/php/8.4/mods-available
7+
ENV PHP_CLI_DIR=/etc/php/8.4/cli
8+
ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d
9+
ENV PHP_CGI_DIR=/etc/php/8.4/cgi
10+
ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d
11+
ENV TZ=Europe/Prague
12+
13+
# INSTALLATION
14+
RUN apt update && apt dist-upgrade -y && \
15+
# DEPENDENCIES #############################################################
16+
apt install -y wget curl apt-transport-https ca-certificates lsb-release git unzip && \
17+
# PHP DEB.SURY.CZ ##########################################################
18+
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
19+
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
20+
apt update && \
21+
apt dist-upgrade -y && \
22+
apt install -y --no-install-recommends \
23+
php8.4-apcu \
24+
php8.4-bcmath \
25+
php8.4-bz2 \
26+
php8.4-calendar \
27+
php8.4-cgi \
28+
php8.4-cli \
29+
php8.4-ctype \
30+
php8.4-curl \
31+
php8.4-gettext \
32+
php8.4-gd \
33+
php8.4-intl \
34+
php8.4-imap \
35+
php8.4-ldap \
36+
php8.4-mbstring \
37+
php8.4-memcached \
38+
php8.4-mysql \
39+
php8.4-pdo \
40+
php8.4-pgsql \
41+
php8.4-soap \
42+
php8.4-sqlite3 \
43+
php8.4-zip \
44+
php8.4-xmlrpc \
45+
php8.4-xsl && \
46+
# COMPOSER #################################################################
47+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \
48+
# PHP MOD(s) ###############################################################
49+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CLI_CONF_DIR}/999-custom.ini && \
50+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CGI_CONF_DIR}/999-custom.ini && \
51+
# CLEAN UP #################################################################
52+
apt-get clean -y && \
53+
apt-get autoclean -y && \
54+
apt-get remove -y wget curl lsb-release && \
55+
apt-get autoremove -y && \
56+
rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/*
57+
58+
# FILES (it overrides originals)
59+
ADD conf.d/custom.ini ${PHP_MODS_DIR}/custom.ini
60+
61+
# WORKDIR
62+
WORKDIR /srv
63+
64+
# COMMAND
65+
CMD ["php"]

8.4/conf.d/custom.ini

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
; Update memory
2+
memory_limit = 521M
3+
upload_max_filesize = 256M
4+
post_max_size = 256M
5+
6+
; Dates
7+
date.timezone=Europe/Prague
8+
9+
; Mailer
10+
;sendmail_path = /usr/local/bin/phpmailer
11+
12+
; No disabled functions
13+
;disable_functions =

Makefile

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,31 @@
11
DOCKER_IMAGE=dockette/php
22

3-
_docker-build-%: VERSION=$*
4-
_docker-build-%:
3+
_build-%: VERSION=$*
4+
_build-%:
55
docker build \
66
--pull \
77
-t ${DOCKER_IMAGE}:${VERSION} \
88
./${VERSION}
99

10-
docker-build-5.6: _docker-build-5.6
11-
docker-build-5.6-fpm: _docker-build-5.6-fpm
12-
docker-build-7.0: _docker-build-7.0
13-
docker-build-7.0-fpm: _docker-build-7.0-fpm
14-
docker-build-7.1: _docker-build-7.1
15-
docker-build-7.1-fpm: _docker-build-7.1-fpm
16-
docker-build-7.2: _docker-build-7.2
17-
docker-build-7.2-fpm: _docker-build-7.2-fpm
18-
docker-build-7.3: _docker-build-7.3
19-
docker-build-7.3-fpm: _docker-build-7.3-fpm
20-
docker-build-7.4: _docker-build-7.4
21-
docker-build-7.4-fpm: _docker-build-7.4-fpm
22-
docker-build-8.0: _docker-build-8.0
23-
docker-build-8.0-fpm: _docker-build-8.0-fpm
24-
docker-build-8.1: _docker-build-8.1
25-
docker-build-8.1-fpm: _docker-build-8.1-fpm
26-
docker-build-8.2: _docker-build-8.2
27-
docker-build-8.2-fpm: _docker-build-8.2-fpm
28-
docker-build-8.3: _docker-build-8.3
29-
docker-build-8.3-fpm: _docker-build-8.3-fpm
10+
build-5.6: _build-5.6
11+
build-5.6-fpm: _build-5.6-fpm
12+
build-7.0: _build-7.0
13+
build-7.0-fpm: _build-7.0-fpm
14+
build-7.1: _build-7.1
15+
build-7.1-fpm: _build-7.1-fpm
16+
build-7.2: _build-7.2
17+
build-7.2-fpm: _build-7.2-fpm
18+
build-7.3: _build-7.3
19+
build-7.3-fpm: _build-7.3-fpm
20+
build-7.4: _build-7.4
21+
build-7.4-fpm: _build-7.4-fpm
22+
build-8.0: _build-8.0
23+
build-8.0-fpm: _build-8.0-fpm
24+
build-8.1: _build-8.1
25+
build-8.1-fpm: _build-8.1-fpm
26+
build-8.2: _build-8.2
27+
build-8.2-fpm: _build-8.2-fpm
28+
build-8.3: _build-8.3
29+
build-8.3-fpm: _build-8.3-fpm
30+
build-8.4: _build-8.4
31+
build-8.4-fpm: _build-8.4-fpm

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<h1 align=center>Dockette / PHP</h1>
22

33
<p align=center>
4-
Ready-to-use Debian based images for PHP 5.6-8.3 with CLI or FPM and Composer preinstalled.
4+
Ready-to-use Debian based images for PHP 5.6-8.4 with CLI or FPM and Composer preinstalled.
55
</p>
66

77
<p align=center>
@@ -23,6 +23,8 @@
2323
## Usage
2424

2525
```
26+
docker run -v /path/to/site:/srv dockette/php:8.4
27+
docker run -v /path/to/site:/srv dockette/php:8.4-fpm
2628
docker run -v /path/to/site:/srv dockette/php:8.3
2729
docker run -v /path/to/site:/srv dockette/php:8.3-fpm
2830
docker run -v /path/to/site:/srv dockette/php:8.2
@@ -48,7 +50,7 @@ docker run -v /path/to/site:/srv dockette/php:5.6-fpm
4850
**Base image**
4951

5052
```Dockerfile
51-
FROM dockette/php:8.1-fpm
53+
FROM dockette/php:8.4-fpm
5254

5355
RUN apt update && apt install -y curl
5456
```

0 commit comments

Comments
 (0)