Skip to content

Commit 0d55fed

Browse files
committed
Added experimental PHP 8.2
1 parent e598543 commit 0d55fed

File tree

8 files changed

+213
-13
lines changed

8 files changed

+213
-13
lines changed

.github/workflows/docker.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ jobs:
1010
strategy:
1111
matrix:
1212
include:
13-
- version: "5.5"
14-
- version: "5.5-fpm"
1513
- version: "5.6"
1614
- version: "5.6-fpm"
1715
- version: "7.0"
@@ -28,6 +26,10 @@ jobs:
2826
- version: "8.0-fpm"
2927
- version: "8.1"
3028
- version: "8.1-fpm"
29+
- version: "8.2"
30+
platforms: linux/amd64
31+
- version: "8.2-fpm"
32+
platforms: linux/amd64
3133

3234
fail-fast: false
3335

@@ -66,4 +68,4 @@ jobs:
6668
tags: dockette/php:${{ matrix.version }}
6769
cache-from: type=local,src=/tmp/.buildx-cache
6870
cache-to: type=local,dest=/tmp/.buildx-cache
69-
platforms: linux/amd64,linux/arm64
71+
platforms: ${{ matrix.platforms || 'linux/amd64,linux/arm64' }}

8.2-fpm/Dockerfile

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
FROM dockette/debian:bullseye
2+
3+
LABEL maintainer="[email protected]"
4+
5+
# PHP
6+
ENV PHP_MODS_DIR=/etc/php/8.2/mods-available
7+
ENV PHP_CLI_DIR=/etc/php/8.2/cli
8+
ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d
9+
ENV PHP_CGI_DIR=/etc/php/8.2/cgi
10+
ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d
11+
ENV PHP_FPM_DIR=/etc/php/8.2/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.2-apc \
27+
# php8.2-apcu \
28+
php8.2-bz2 \
29+
php8.2-bcmath \
30+
php8.2-calendar \
31+
php8.2-cgi \
32+
php8.2-cli \
33+
php8.2-ctype \
34+
php8.2-curl \
35+
php8.2-fpm \
36+
php8.2-gettext \
37+
php8.2-gd \
38+
php8.2-intl \
39+
php8.2-imap \
40+
php8.2-ldap \
41+
php8.2-mbstring \
42+
# php8.2-memcached \
43+
# php8.2-mongo \
44+
php8.2-mysql \
45+
php8.2-pdo \
46+
php8.2-pgsql \
47+
# php8.2-redis \
48+
php8.2-soap \
49+
php8.2-sqlite3 \
50+
php8.2-zip \
51+
# php8.2-xmlrpc \
52+
php8.2-xsl && \
53+
# COMPOSER #################################################################
54+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \
55+
# PHP MOD(s) ###############################################################
56+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CLI_CONF_DIR}/999-custom.ini && \
57+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CGI_CONF_DIR}/999-custom.ini && \
58+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_FPM_CONF_DIR}/999-custom.ini && \
59+
# CLEAN UP #################################################################
60+
rm ${PHP_FPM_POOL_DIR}/www.conf && \
61+
apt-get clean -y && \
62+
apt-get autoclean -y && \
63+
apt-get remove -y wget curl lsb-release && \
64+
apt-get autoremove -y && \
65+
rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/*
66+
67+
# FILES (it overrides originals)
68+
ADD conf.d/custom.ini ${PHP_MODS_DIR}/custom.ini
69+
ADD fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf
70+
71+
# WORKDIR
72+
WORKDIR /srv
73+
74+
# COMMAND
75+
CMD ["php-fpm8.2"]

8.2-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.2-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.2/fpm/pool.d/*.conf

8.2/Dockerfile

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
FROM dockette/debian:bullseye
2+
3+
LABEL maintainer="[email protected]"
4+
5+
# PHP
6+
ENV PHP_MODS_DIR=/etc/php/8.2/mods-available
7+
ENV PHP_CLI_DIR=/etc/php/8.2/cli
8+
ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d
9+
ENV PHP_CGI_DIR=/etc/php/8.2/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.2-apc \
24+
# php8.2-apcu \
25+
php8.2-bcmath \
26+
php8.2-bz2 \
27+
php8.2-calendar \
28+
php8.2-cgi \
29+
php8.2-cli \
30+
php8.2-ctype \
31+
php8.2-curl \
32+
php8.2-gettext \
33+
php8.2-gd \
34+
php8.2-intl \
35+
php8.2-imap \
36+
php8.2-ldap \
37+
php8.2-mbstring \
38+
# php8.2-memcached \
39+
# php8.2-mongo \
40+
php8.2-mysql \
41+
php8.2-pdo \
42+
php8.2-pgsql \
43+
# php8.2-redis \
44+
php8.2-soap \
45+
php8.2-sqlite3 \
46+
php8.2-zip \
47+
# php8.2-xmlrpc \
48+
php8.2-xsl && \
49+
# COMPOSER #################################################################
50+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \
51+
# PHP MOD(s) ###############################################################
52+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CLI_CONF_DIR}/999-custom.ini && \
53+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CGI_CONF_DIR}/999-custom.ini && \
54+
# CLEAN UP #################################################################
55+
apt-get clean -y && \
56+
apt-get autoclean -y && \
57+
apt-get remove -y wget curl lsb-release && \
58+
apt-get autoremove -y && \
59+
rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/*
60+
61+
# FILES (it overrides originals)
62+
ADD conf.d/custom.ini ${PHP_MODS_DIR}/custom.ini
63+
64+
# WORKDIR
65+
WORKDIR /srv
66+
67+
# COMMAND
68+
CMD ["php"]

8.2/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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ _docker-build-%:
77
-t ${DOCKER_IMAGE}:${VERSION} \
88
./${VERSION}
99

10-
docker-build-5.5: _docker-build-5.5
11-
docker-build-5.5-fpm: _docker-build-5.5-fpm
1210
docker-build-5.6: _docker-build-5.6
1311
docker-build-5.6-fpm: _docker-build-5.6-fpm
1412
docker-build-7.0: _docker-build-7.0
@@ -25,4 +23,6 @@ docker-build-8.0: _docker-build-8.0
2523
docker-build-8.0-fpm: _docker-build-8.0-fpm
2624
docker-build-8.1: _docker-build-8.1
2725
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
2828

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
## Usage
2424

2525
```
26+
# experimental
27+
docker run -v /path/to/site:/srv dockette/php:8.2
28+
docker run -v /path/to/site:/srv dockette/php:8.2-fpm
29+
# stable
2630
docker run -v /path/to/site:/srv dockette/php:8.1
2731
docker run -v /path/to/site:/srv dockette/php:8.1-fpm
2832
docker run -v /path/to/site:/srv dockette/php:8.0
@@ -39,8 +43,6 @@ docker run -v /path/to/site:/srv dockette/php:7.0
3943
docker run -v /path/to/site:/srv dockette/php:7.0-fpm
4044
docker run -v /path/to/site:/srv dockette/php:5.6
4145
docker run -v /path/to/site:/srv dockette/php:5.6-fpm
42-
docker run -v /path/to/site:/srv dockette/php:5.5
43-
docker run -v /path/to/site:/srv dockette/php:5.5-fpm
4446
```
4547

4648
**Base image**
@@ -69,13 +71,9 @@ This super image has also preinstalled [Composer](https://getcomposer.org).
6971

7072
### Customization
7173

72-
In case of customization PHP 5.6 - 8.1:
74+
In case of customization PHP 5.6 - 8.2:
7375

74-
- /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.1}/{cli,cgi,fpm}/conf.d/991-custom.ini
75-
76-
In case of customization PHP 5.5:
77-
78-
- /etc/php5/{cli,cgi,fpm}/conf.d/991-custom.ini
76+
- /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8,2}/{cli,cgi,fpm}/conf.d/991-custom.ini
7977

8078
## Development
8179

0 commit comments

Comments
 (0)