@lando/drupal 1.13.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +5 -0
- package/CHANGELOG.md +19 -0
- package/README.md +1 -1
- package/builders/_drupaly.js +18 -0
- package/netlify.toml +1 -1
- package/node_modules/@lando/mariadb/CHANGELOG.md +4 -0
- package/node_modules/@lando/mariadb/builders/mariadb.js +4 -3
- package/node_modules/@lando/mariadb/package.json +5 -5
- package/node_modules/@lando/php/AGENTS.md +81 -0
- package/node_modules/@lando/php/CHANGELOG.md +30 -0
- package/node_modules/@lando/php/README.md +4 -1
- package/node_modules/@lando/php/builders/php.js +39 -5
- package/node_modules/@lando/php/images/5.6-apache/Dockerfile +9 -4
- package/node_modules/@lando/php/images/5.6-fpm/Dockerfile +9 -4
- package/node_modules/@lando/php/images/7.0-apache/Dockerfile +9 -4
- package/node_modules/@lando/php/images/7.0-fpm/Dockerfile +9 -4
- package/node_modules/@lando/php/images/7.1-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.1-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.2-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.2-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.3-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.3-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.4-apache/Dockerfile +2 -2
- package/node_modules/@lando/php/images/7.4-fpm/Dockerfile +2 -2
- package/node_modules/@lando/php/images/8.0-apache/Dockerfile +2 -2
- package/node_modules/@lando/php/images/8.0-fpm/Dockerfile +2 -2
- package/node_modules/@lando/php/images/8.1-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.1-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.2-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.2-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.3-apache/Dockerfile +23 -22
- package/node_modules/@lando/php/images/8.3-fpm/Dockerfile +22 -22
- package/node_modules/@lando/php/images/8.4-apache/Dockerfile +21 -22
- package/node_modules/@lando/php/images/8.4-fpm/Dockerfile +21 -22
- package/node_modules/@lando/php/images/8.5-apache/Dockerfile +77 -0
- package/node_modules/@lando/php/images/8.5-fpm/Dockerfile +78 -0
- package/node_modules/@lando/php/netlify.toml +1 -1
- package/node_modules/@lando/php/package.json +5 -5
- package/node_modules/@lando/php/scripts/install-db-client.sh +31 -0
- package/node_modules/@lando/php/scripts/mariadb-compat-install.sh +42 -0
- package/node_modules/@lando/php/scripts/mysql-client-install.sh +67 -0
- package/node_modules/@lando/postgres/CHANGELOG.md +4 -0
- package/node_modules/@lando/postgres/builders/postgres.js +2 -1
- package/node_modules/@lando/postgres/package.json +5 -5
- package/package.json +8 -8
|
@@ -1,41 +1,30 @@
|
|
|
1
|
-
# docker build -t devwithlando/php:8.3-apache-
|
|
1
|
+
# docker build -t devwithlando/php:8.3-apache-7 .
|
|
2
2
|
|
|
3
|
-
FROM
|
|
3
|
+
FROM mysql:8.0 AS mysql-client-80
|
|
4
|
+
FROM mysql:8.4 AS mysql-client-84
|
|
5
|
+
|
|
6
|
+
FROM php:8.3-apache-trixie
|
|
4
7
|
|
|
5
8
|
ARG TARGETARCH
|
|
6
9
|
|
|
7
10
|
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
8
11
|
|
|
9
|
-
RUN \
|
|
10
|
-
# MariaDB client compatibility (https://github.com/lando/php/issues/120)
|
|
11
|
-
mkdir -p /etc/apt/keyrings \
|
|
12
|
-
&& curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \
|
|
13
|
-
&& echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list
|
|
14
|
-
|
|
15
|
-
# Drupal 11 requires sqlite3 3.45+
|
|
16
|
-
ARG SQLITE_VERSION=3.45.1
|
|
17
|
-
RUN \
|
|
18
|
-
curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
19
|
-
&& curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
20
|
-
&& curl -Lo /tmp/libsqlite3-dev.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-dev_${SQLITE_VERSION}-1_${TARGETARCH}.deb"
|
|
21
|
-
|
|
22
12
|
RUN \
|
|
23
13
|
mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
24
14
|
&& apt -y update && apt-get install -y \
|
|
25
15
|
default-mysql-client \
|
|
26
|
-
exiftool \
|
|
27
|
-
git
|
|
16
|
+
libimage-exiftool-perl \
|
|
17
|
+
git \
|
|
28
18
|
gnupg2 \
|
|
29
19
|
imagemagick \
|
|
30
|
-
|
|
20
|
+
mariadb-client \
|
|
21
|
+
mariadb-client-compat \
|
|
22
|
+
postgresql-client-17 \
|
|
31
23
|
pv \
|
|
32
24
|
rsync \
|
|
33
25
|
ssh \
|
|
34
26
|
unzip \
|
|
35
|
-
wget
|
|
36
|
-
/tmp/sqlite3.deb \
|
|
37
|
-
/tmp/libsqlite3-0.deb \
|
|
38
|
-
/tmp/libsqlite3-dev.deb
|
|
27
|
+
wget
|
|
39
28
|
|
|
40
29
|
RUN \
|
|
41
30
|
install-php-extensions @fix_letsencrypt \
|
|
@@ -68,6 +57,18 @@ RUN \
|
|
|
68
57
|
RUN install-php-extensions xdebug \
|
|
69
58
|
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
70
59
|
|
|
60
|
+
# Pre-download MySQL client binaries for version-matched installs
|
|
61
|
+
COPY --from=mysql-client-80 /usr/bin/mysql /usr/local/mysql-client/8.0/mysql
|
|
62
|
+
COPY --from=mysql-client-80 /usr/bin/mysqldump /usr/local/mysql-client/8.0/mysqldump
|
|
63
|
+
COPY --from=mysql-client-80 /usr/bin/mysqladmin /usr/local/mysql-client/8.0/mysqladmin
|
|
64
|
+
COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
|
|
65
|
+
COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
|
|
66
|
+
COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
|
|
67
|
+
|
|
68
|
+
# Ensure required MySQL client shared libraries are present
|
|
69
|
+
COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
70
|
+
COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
71
|
+
|
|
71
72
|
RUN \
|
|
72
73
|
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
73
74
|
&& apt-get -y clean \
|
|
@@ -1,42 +1,30 @@
|
|
|
1
|
-
# docker build -t devwithlando/php:8.3-fpm-
|
|
1
|
+
# docker build -t devwithlando/php:8.3-fpm-7 .
|
|
2
2
|
|
|
3
|
-
FROM
|
|
3
|
+
FROM mysql:8.0 AS mysql-client-80
|
|
4
|
+
FROM mysql:8.4 AS mysql-client-84
|
|
5
|
+
|
|
6
|
+
FROM php:8.3-fpm-trixie
|
|
4
7
|
|
|
5
8
|
ARG TARGETARCH
|
|
6
9
|
|
|
7
10
|
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
8
11
|
|
|
9
|
-
RUN \
|
|
10
|
-
# MariaDB client compatibility (https://github.com/lando/php/issues/120)
|
|
11
|
-
mkdir -p /etc/apt/keyrings \
|
|
12
|
-
&& curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \
|
|
13
|
-
&& echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.11/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list
|
|
14
|
-
|
|
15
|
-
# Drupal 11 requires sqlite3 3.45+
|
|
16
|
-
ARG SQLITE_VERSION=3.45.1
|
|
17
|
-
RUN \
|
|
18
|
-
curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
19
|
-
&& curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
20
|
-
&& curl -Lo /tmp/libsqlite3-dev.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-dev_${SQLITE_VERSION}-1_${TARGETARCH}.deb"
|
|
21
|
-
|
|
22
12
|
RUN \
|
|
23
13
|
mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
24
14
|
&& apt -y update && apt-get install -y \
|
|
25
15
|
default-mysql-client \
|
|
26
|
-
exiftool \
|
|
27
|
-
git
|
|
16
|
+
libimage-exiftool-perl \
|
|
17
|
+
git \
|
|
28
18
|
gnupg2 \
|
|
29
19
|
imagemagick \
|
|
30
20
|
mariadb-client \
|
|
31
|
-
|
|
21
|
+
mariadb-client-compat \
|
|
22
|
+
postgresql-client-17 \
|
|
32
23
|
pv \
|
|
33
24
|
rsync \
|
|
34
25
|
ssh \
|
|
35
26
|
unzip \
|
|
36
|
-
wget
|
|
37
|
-
/tmp/sqlite3.deb \
|
|
38
|
-
/tmp/libsqlite3-0.deb \
|
|
39
|
-
/tmp/libsqlite3-dev.deb
|
|
27
|
+
wget
|
|
40
28
|
|
|
41
29
|
RUN \
|
|
42
30
|
install-php-extensions @fix_letsencrypt \
|
|
@@ -69,6 +57,18 @@ RUN \
|
|
|
69
57
|
RUN install-php-extensions xdebug \
|
|
70
58
|
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
71
59
|
|
|
60
|
+
# Pre-download MySQL client binaries for version-matched installs
|
|
61
|
+
COPY --from=mysql-client-80 /usr/bin/mysql /usr/local/mysql-client/8.0/mysql
|
|
62
|
+
COPY --from=mysql-client-80 /usr/bin/mysqldump /usr/local/mysql-client/8.0/mysqldump
|
|
63
|
+
COPY --from=mysql-client-80 /usr/bin/mysqladmin /usr/local/mysql-client/8.0/mysqladmin
|
|
64
|
+
COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
|
|
65
|
+
COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
|
|
66
|
+
COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
|
|
67
|
+
|
|
68
|
+
# Ensure required MySQL client shared libraries are present
|
|
69
|
+
COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
70
|
+
COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
71
|
+
|
|
72
72
|
RUN \
|
|
73
73
|
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
74
74
|
&& apt-get -y clean \
|
|
@@ -1,43 +1,30 @@
|
|
|
1
|
-
# docker build -t devwithlando/php:8.4-apache-
|
|
1
|
+
# docker build -t devwithlando/php:8.4-apache-7 .
|
|
2
2
|
|
|
3
|
-
FROM
|
|
3
|
+
FROM mysql:8.0 AS mysql-client-80
|
|
4
|
+
FROM mysql:8.4 AS mysql-client-84
|
|
5
|
+
|
|
6
|
+
FROM php:8.4-apache-trixie
|
|
4
7
|
|
|
5
8
|
ARG TARGETARCH
|
|
6
9
|
|
|
7
10
|
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
8
11
|
|
|
9
|
-
RUN \
|
|
10
|
-
# MariaDB client compatibility (https://github.com/lando/php/issues/120)
|
|
11
|
-
mkdir -p /etc/apt/keyrings \
|
|
12
|
-
&& curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \
|
|
13
|
-
&& echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/11.4/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list
|
|
14
|
-
|
|
15
|
-
# Drupal 11 requires sqlite3 3.45+
|
|
16
|
-
ARG SQLITE_VERSION=3.45.1
|
|
17
|
-
RUN \
|
|
18
|
-
curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
19
|
-
&& curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
20
|
-
&& curl -Lo /tmp/libsqlite3-dev.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-dev_${SQLITE_VERSION}-1_${TARGETARCH}.deb"
|
|
21
|
-
|
|
22
12
|
RUN \
|
|
23
13
|
mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
24
14
|
&& apt -y update && apt-get install -y \
|
|
25
15
|
default-mysql-client \
|
|
26
|
-
exiftool \
|
|
27
|
-
git
|
|
16
|
+
libimage-exiftool-perl \
|
|
17
|
+
git \
|
|
28
18
|
gnupg2 \
|
|
29
19
|
imagemagick \
|
|
30
20
|
mariadb-client \
|
|
31
21
|
mariadb-client-compat \
|
|
32
|
-
postgresql-client-
|
|
22
|
+
postgresql-client-17 \
|
|
33
23
|
pv \
|
|
34
24
|
rsync \
|
|
35
25
|
ssh \
|
|
36
26
|
unzip \
|
|
37
|
-
wget
|
|
38
|
-
/tmp/sqlite3.deb \
|
|
39
|
-
/tmp/libsqlite3-0.deb \
|
|
40
|
-
/tmp/libsqlite3-dev.deb
|
|
27
|
+
wget
|
|
41
28
|
|
|
42
29
|
RUN \
|
|
43
30
|
install-php-extensions @fix_letsencrypt \
|
|
@@ -70,6 +57,18 @@ RUN \
|
|
|
70
57
|
RUN install-php-extensions xdebug \
|
|
71
58
|
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
72
59
|
|
|
60
|
+
# Pre-download MySQL client binaries for version-matched installs
|
|
61
|
+
COPY --from=mysql-client-80 /usr/bin/mysql /usr/local/mysql-client/8.0/mysql
|
|
62
|
+
COPY --from=mysql-client-80 /usr/bin/mysqldump /usr/local/mysql-client/8.0/mysqldump
|
|
63
|
+
COPY --from=mysql-client-80 /usr/bin/mysqladmin /usr/local/mysql-client/8.0/mysqladmin
|
|
64
|
+
COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
|
|
65
|
+
COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
|
|
66
|
+
COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
|
|
67
|
+
|
|
68
|
+
# Ensure required MySQL client shared libraries are present
|
|
69
|
+
COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
70
|
+
COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
71
|
+
|
|
73
72
|
RUN \
|
|
74
73
|
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
75
74
|
&& apt-get -y clean \
|
|
@@ -1,44 +1,31 @@
|
|
|
1
|
-
# docker build -t devwithlando/php:8.4-fpm-
|
|
1
|
+
# docker build -t devwithlando/php:8.4-fpm-7 .
|
|
2
2
|
|
|
3
|
-
FROM
|
|
3
|
+
FROM mysql:8.0 AS mysql-client-80
|
|
4
|
+
FROM mysql:8.4 AS mysql-client-84
|
|
5
|
+
|
|
6
|
+
FROM php:8.4-fpm-trixie
|
|
4
7
|
|
|
5
8
|
ARG TARGETARCH
|
|
6
9
|
|
|
7
10
|
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
8
11
|
|
|
9
|
-
RUN \
|
|
10
|
-
# MariaDB client compatibility (https://github.com/lando/php/issues/120)
|
|
11
|
-
mkdir -p /etc/apt/keyrings \
|
|
12
|
-
&& curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \
|
|
13
|
-
&& echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/11.4/debian bookworm main" > /etc/apt/sources.list.d/mariadb.list
|
|
14
|
-
|
|
15
|
-
# Drupal 11 requires sqlite3 3.45+
|
|
16
|
-
ARG SQLITE_VERSION=3.45.1
|
|
17
|
-
RUN \
|
|
18
|
-
curl -Lo /tmp/sqlite3.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/sqlite3_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
19
|
-
&& curl -Lo /tmp/libsqlite3-0.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-0_${SQLITE_VERSION}-1_${TARGETARCH}.deb" \
|
|
20
|
-
&& curl -Lo /tmp/libsqlite3-dev.deb "https://snapshot.debian.org/archive/debian/20240506T211830Z/pool/main/s/sqlite3/libsqlite3-dev_${SQLITE_VERSION}-1_${TARGETARCH}.deb"
|
|
21
|
-
|
|
22
12
|
RUN \
|
|
23
13
|
mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
24
14
|
&& apt -y update && apt-get install -y \
|
|
25
15
|
bzip2 \
|
|
26
16
|
default-mysql-client \
|
|
27
|
-
exiftool \
|
|
28
|
-
git
|
|
17
|
+
libimage-exiftool-perl \
|
|
18
|
+
git \
|
|
29
19
|
gnupg2 \
|
|
30
20
|
imagemagick \
|
|
31
21
|
mariadb-client \
|
|
32
22
|
mariadb-client-compat \
|
|
33
|
-
postgresql-client-
|
|
23
|
+
postgresql-client-17 \
|
|
34
24
|
pv \
|
|
35
25
|
rsync \
|
|
36
26
|
ssh \
|
|
37
27
|
unzip \
|
|
38
|
-
wget
|
|
39
|
-
/tmp/sqlite3.deb \
|
|
40
|
-
/tmp/libsqlite3-0.deb \
|
|
41
|
-
/tmp/libsqlite3-dev.deb
|
|
28
|
+
wget
|
|
42
29
|
|
|
43
30
|
RUN \
|
|
44
31
|
install-php-extensions @fix_letsencrypt \
|
|
@@ -71,6 +58,18 @@ RUN \
|
|
|
71
58
|
RUN install-php-extensions xdebug \
|
|
72
59
|
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
73
60
|
|
|
61
|
+
# Pre-download MySQL client binaries for version-matched installs
|
|
62
|
+
COPY --from=mysql-client-80 /usr/bin/mysql /usr/local/mysql-client/8.0/mysql
|
|
63
|
+
COPY --from=mysql-client-80 /usr/bin/mysqldump /usr/local/mysql-client/8.0/mysqldump
|
|
64
|
+
COPY --from=mysql-client-80 /usr/bin/mysqladmin /usr/local/mysql-client/8.0/mysqladmin
|
|
65
|
+
COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
|
|
66
|
+
COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
|
|
67
|
+
COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
|
|
68
|
+
|
|
69
|
+
# Ensure required MySQL client shared libraries are present
|
|
70
|
+
COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
71
|
+
COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
72
|
+
|
|
74
73
|
RUN \
|
|
75
74
|
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
76
75
|
&& apt-get -y clean \
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# docker buildx build -t devwithlando/php:8.5-apache-7 .
|
|
2
|
+
|
|
3
|
+
FROM mysql:8.0 AS mysql-client-80
|
|
4
|
+
FROM mysql:8.4 AS mysql-client-84
|
|
5
|
+
|
|
6
|
+
FROM php:8.5-apache-trixie
|
|
7
|
+
|
|
8
|
+
ARG TARGETARCH
|
|
9
|
+
|
|
10
|
+
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
11
|
+
|
|
12
|
+
RUN \
|
|
13
|
+
mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
14
|
+
&& apt -y update && apt-get install -y \
|
|
15
|
+
default-mysql-client \
|
|
16
|
+
libimage-exiftool-perl \
|
|
17
|
+
git \
|
|
18
|
+
gnupg2 \
|
|
19
|
+
imagemagick \
|
|
20
|
+
mariadb-client \
|
|
21
|
+
mariadb-client-compat \
|
|
22
|
+
postgresql-client-17 \
|
|
23
|
+
pv \
|
|
24
|
+
rsync \
|
|
25
|
+
ssh \
|
|
26
|
+
unzip \
|
|
27
|
+
wget
|
|
28
|
+
|
|
29
|
+
RUN \
|
|
30
|
+
install-php-extensions @fix_letsencrypt \
|
|
31
|
+
&& install-php-extensions apcu \
|
|
32
|
+
&& install-php-extensions bcmath \
|
|
33
|
+
&& install-php-extensions bz2 \
|
|
34
|
+
&& install-php-extensions calendar \
|
|
35
|
+
&& install-php-extensions exif \
|
|
36
|
+
&& install-php-extensions gd \
|
|
37
|
+
&& install-php-extensions gettext \
|
|
38
|
+
&& install-php-extensions imagick/imagick@master \
|
|
39
|
+
&& install-php-extensions imap \
|
|
40
|
+
&& install-php-extensions intl \
|
|
41
|
+
&& install-php-extensions ldap \
|
|
42
|
+
&& install-php-extensions mbstring \
|
|
43
|
+
&& install-php-extensions memcached \
|
|
44
|
+
&& install-php-extensions mysqli \
|
|
45
|
+
&& install-php-extensions oauth \
|
|
46
|
+
&& install-php-extensions opcache \
|
|
47
|
+
&& install-php-extensions pcntl \
|
|
48
|
+
&& install-php-extensions pdo \
|
|
49
|
+
&& install-php-extensions pdo_mysql \
|
|
50
|
+
&& install-php-extensions pdo_pgsql \
|
|
51
|
+
&& install-php-extensions redis \
|
|
52
|
+
&& install-php-extensions soap \
|
|
53
|
+
&& install-php-extensions xhprof \
|
|
54
|
+
&& install-php-extensions zip
|
|
55
|
+
|
|
56
|
+
# Install xdebug but disable it by default
|
|
57
|
+
RUN install-php-extensions xdebug/xdebug@master \
|
|
58
|
+
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
59
|
+
|
|
60
|
+
# Pre-download MySQL client binaries for version-matched installs
|
|
61
|
+
COPY --from=mysql-client-80 /usr/bin/mysql /usr/local/mysql-client/8.0/mysql
|
|
62
|
+
COPY --from=mysql-client-80 /usr/bin/mysqldump /usr/local/mysql-client/8.0/mysqldump
|
|
63
|
+
COPY --from=mysql-client-80 /usr/bin/mysqladmin /usr/local/mysql-client/8.0/mysqladmin
|
|
64
|
+
COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
|
|
65
|
+
COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
|
|
66
|
+
COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
|
|
67
|
+
|
|
68
|
+
# Ensure required MySQL client shared libraries are present
|
|
69
|
+
COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
70
|
+
COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
71
|
+
|
|
72
|
+
RUN \
|
|
73
|
+
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
74
|
+
&& apt-get -y clean \
|
|
75
|
+
&& apt-get -y autoclean \
|
|
76
|
+
&& apt-get -y autoremove \
|
|
77
|
+
&& rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/*
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# docker buildx build -t devwithlando/php:8.5-fpm-7 .
|
|
2
|
+
|
|
3
|
+
FROM mysql:8.0 AS mysql-client-80
|
|
4
|
+
FROM mysql:8.4 AS mysql-client-84
|
|
5
|
+
|
|
6
|
+
FROM php:8.5-fpm-trixie
|
|
7
|
+
|
|
8
|
+
ARG TARGETARCH
|
|
9
|
+
|
|
10
|
+
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
11
|
+
|
|
12
|
+
RUN \
|
|
13
|
+
mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
14
|
+
&& apt -y update && apt-get install -y \
|
|
15
|
+
bzip2 \
|
|
16
|
+
default-mysql-client \
|
|
17
|
+
libimage-exiftool-perl \
|
|
18
|
+
git \
|
|
19
|
+
gnupg2 \
|
|
20
|
+
imagemagick \
|
|
21
|
+
mariadb-client \
|
|
22
|
+
mariadb-client-compat \
|
|
23
|
+
postgresql-client-17 \
|
|
24
|
+
pv \
|
|
25
|
+
rsync \
|
|
26
|
+
ssh \
|
|
27
|
+
unzip \
|
|
28
|
+
wget
|
|
29
|
+
|
|
30
|
+
RUN \
|
|
31
|
+
install-php-extensions @fix_letsencrypt \
|
|
32
|
+
&& install-php-extensions apcu \
|
|
33
|
+
&& install-php-extensions bcmath \
|
|
34
|
+
&& install-php-extensions bz2 \
|
|
35
|
+
&& install-php-extensions calendar \
|
|
36
|
+
&& install-php-extensions exif \
|
|
37
|
+
&& install-php-extensions gd \
|
|
38
|
+
&& install-php-extensions gettext \
|
|
39
|
+
&& install-php-extensions imagick/imagick@master \
|
|
40
|
+
&& install-php-extensions imap \
|
|
41
|
+
&& install-php-extensions intl \
|
|
42
|
+
&& install-php-extensions ldap \
|
|
43
|
+
&& install-php-extensions mbstring \
|
|
44
|
+
&& install-php-extensions memcached \
|
|
45
|
+
&& install-php-extensions mysqli \
|
|
46
|
+
&& install-php-extensions oauth \
|
|
47
|
+
&& install-php-extensions opcache \
|
|
48
|
+
&& install-php-extensions pcntl \
|
|
49
|
+
&& install-php-extensions pdo \
|
|
50
|
+
&& install-php-extensions pdo_mysql \
|
|
51
|
+
&& install-php-extensions pdo_pgsql \
|
|
52
|
+
&& install-php-extensions redis \
|
|
53
|
+
&& install-php-extensions soap \
|
|
54
|
+
&& install-php-extensions xhprof \
|
|
55
|
+
&& install-php-extensions zip
|
|
56
|
+
|
|
57
|
+
# Install xdebug but disable it by default
|
|
58
|
+
RUN install-php-extensions xdebug/xdebug@master \
|
|
59
|
+
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
60
|
+
|
|
61
|
+
# Pre-download MySQL client binaries for version-matched installs
|
|
62
|
+
COPY --from=mysql-client-80 /usr/bin/mysql /usr/local/mysql-client/8.0/mysql
|
|
63
|
+
COPY --from=mysql-client-80 /usr/bin/mysqldump /usr/local/mysql-client/8.0/mysqldump
|
|
64
|
+
COPY --from=mysql-client-80 /usr/bin/mysqladmin /usr/local/mysql-client/8.0/mysqladmin
|
|
65
|
+
COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
|
|
66
|
+
COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
|
|
67
|
+
COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
|
|
68
|
+
|
|
69
|
+
# Ensure required MySQL client shared libraries are present
|
|
70
|
+
COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
71
|
+
COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
|
|
72
|
+
|
|
73
|
+
RUN \
|
|
74
|
+
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
75
|
+
&& apt-get -y clean \
|
|
76
|
+
&& apt-get -y autoclean \
|
|
77
|
+
&& apt-get -y autoremove \
|
|
78
|
+
&& rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/*
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
[[context.deploy-preview.plugins]]
|
|
11
11
|
package = "netlify-plugin-checklinks"
|
|
12
12
|
[context.deploy-preview.plugins.inputs]
|
|
13
|
-
todoPatterns = [ "load", "CHANGELOG.html", "/v/", "x.com", "twitter.com", "www.php.net" ]
|
|
13
|
+
todoPatterns = [ "load", "CHANGELOG.html", "/v/", "x.com", "twitter.com", "www.php.net", "hub.docker.com" ]
|
|
14
14
|
skipPatterns = [ ".rss", ".gif", ".jpg" ]
|
|
15
15
|
checkExternal = true
|
|
16
16
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lando/php",
|
|
3
3
|
"description": "A Lando plugin that provides a tight integration with PHP.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.11.1",
|
|
5
5
|
"author": "Mike Pirog @pirog",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "lando/php",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"semver"
|
|
67
67
|
],
|
|
68
68
|
"dist": {
|
|
69
|
-
"integrity": "sha512-
|
|
70
|
-
"shasum": "
|
|
71
|
-
"filename": "lando-php-1.
|
|
72
|
-
"unpackedSize":
|
|
69
|
+
"integrity": "sha512-YARvLV+LsZ5LloDW2E7r3stkptHPkCtMh7VrEQu7Wa0pNF1N8TAQJlGxIRrWWuVT/6N7mgw+IWgro3CtPlCKsw==",
|
|
70
|
+
"shasum": "74c9af6bc8853760d8ca3a57528658580f99e409",
|
|
71
|
+
"filename": "lando-php-1.11.1.tgz",
|
|
72
|
+
"unpackedSize": 3059346
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Install database client matching the detected database type/version
|
|
3
|
+
# Usage: install-db-client.sh <type>:<version>
|
|
4
|
+
# Examples:
|
|
5
|
+
# install-db-client.sh mysql:8.4
|
|
6
|
+
# install-db-client.sh mariadb:11.8
|
|
7
|
+
|
|
8
|
+
set -e
|
|
9
|
+
|
|
10
|
+
DB_CLIENT="${1:-}"
|
|
11
|
+
if [[ -z "$DB_CLIENT" ]]; then
|
|
12
|
+
echo "No database client specified, keeping defaults"
|
|
13
|
+
exit 0
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
DB_TYPE="${DB_CLIENT%%:*}"
|
|
17
|
+
DB_VERSION="${DB_CLIENT##*:}"
|
|
18
|
+
SCRIPTS_DIR="$(dirname "$0")"
|
|
19
|
+
|
|
20
|
+
case "$DB_TYPE" in
|
|
21
|
+
mysql)
|
|
22
|
+
"$SCRIPTS_DIR/mysql-client-install.sh" "$DB_VERSION"
|
|
23
|
+
;;
|
|
24
|
+
mariadb)
|
|
25
|
+
"$SCRIPTS_DIR/mariadb-compat-install.sh"
|
|
26
|
+
;;
|
|
27
|
+
*)
|
|
28
|
+
echo "Unknown database type: $DB_TYPE"
|
|
29
|
+
exit 1
|
|
30
|
+
;;
|
|
31
|
+
esac
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Usage: mariadb-compat-install.sh
|
|
3
|
+
# Creates wrapper scripts to map deprecated mysql commands to mariadb equivalents
|
|
4
|
+
# The mariadb-client package is already installed in the base image
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
echo "Installing MariaDB compatibility wrappers..."
|
|
9
|
+
|
|
10
|
+
# Create wrapper scripts for each mysql* command that maps to mariadb* equivalent
|
|
11
|
+
for cmd in mysql mysqldump mysqladmin mysqlcheck mysqlimport mysqlshow; do
|
|
12
|
+
suffix="${cmd#mysql}"
|
|
13
|
+
mariadb_cmd="mariadb${suffix:+-}${suffix}"
|
|
14
|
+
|
|
15
|
+
if command -v "$mariadb_cmd" &> /dev/null; then
|
|
16
|
+
cat > "/usr/local/bin/$cmd" << EOF
|
|
17
|
+
#!/bin/bash
|
|
18
|
+
exec -a "\$0" $mariadb_cmd "\$@"
|
|
19
|
+
EOF
|
|
20
|
+
chmod +x "/usr/local/bin/$cmd"
|
|
21
|
+
echo " Created wrapper: $cmd -> $mariadb_cmd"
|
|
22
|
+
fi
|
|
23
|
+
done
|
|
24
|
+
|
|
25
|
+
# Create config directory if it doesn't exist
|
|
26
|
+
mkdir -p /etc/mysql/conf.d
|
|
27
|
+
|
|
28
|
+
# Create MySQL client config with compatibility settings
|
|
29
|
+
cat > /etc/mysql/conf.d/lando.cnf << 'MYCNF'
|
|
30
|
+
[client]
|
|
31
|
+
default-character-set=utf8mb4
|
|
32
|
+
|
|
33
|
+
[client-mariadb]
|
|
34
|
+
# Prevent SSL errors when connecting to servers without SSL
|
|
35
|
+
disable-ssl-verify-server-cert
|
|
36
|
+
|
|
37
|
+
[mysqldump]
|
|
38
|
+
# MySQL 8 uses this; MariaDB safely ignores it via loose- prefix
|
|
39
|
+
loose-skip-column-statistics
|
|
40
|
+
MYCNF
|
|
41
|
+
|
|
42
|
+
echo "MariaDB compatibility wrappers installed"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Install MySQL client from pre-downloaded binaries
|
|
3
|
+
# Usage: mysql-client-install.sh <version>
|
|
4
|
+
# Examples: mysql-client-install.sh 8.4, mysql-client-install.sh 8.0
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
VERSION="${1:-8.4}"
|
|
9
|
+
|
|
10
|
+
echo "Installing MySQL $VERSION client..."
|
|
11
|
+
|
|
12
|
+
# Map version to the closest available pre-downloaded version
|
|
13
|
+
# We have 8.0 and 8.4 available
|
|
14
|
+
case "$VERSION" in
|
|
15
|
+
8.4*|8.3*)
|
|
16
|
+
CLIENT_VERSION="8.4"
|
|
17
|
+
;;
|
|
18
|
+
8.0*|8.1*|8.2*|5.7*)
|
|
19
|
+
CLIENT_VERSION="8.0"
|
|
20
|
+
;;
|
|
21
|
+
*)
|
|
22
|
+
# Default to 8.4 for unknown versions
|
|
23
|
+
CLIENT_VERSION="8.4"
|
|
24
|
+
echo "Warning: Unknown MySQL version $VERSION, using $CLIENT_VERSION client"
|
|
25
|
+
;;
|
|
26
|
+
esac
|
|
27
|
+
|
|
28
|
+
CLIENT_DIR="/usr/local/mysql-client/$CLIENT_VERSION"
|
|
29
|
+
|
|
30
|
+
if [ -d "$CLIENT_DIR" ]; then
|
|
31
|
+
# Remove MariaDB client symlinks if they exist in /usr/local/bin
|
|
32
|
+
rm -f /usr/local/bin/mysql /usr/local/bin/mysqldump /usr/local/bin/mysqladmin 2>/dev/null || true
|
|
33
|
+
|
|
34
|
+
# Create symlinks to the pre-downloaded MySQL client
|
|
35
|
+
ln -sf "$CLIENT_DIR/mysql" /usr/local/bin/mysql
|
|
36
|
+
ln -sf "$CLIENT_DIR/mysqldump" /usr/local/bin/mysqldump
|
|
37
|
+
ln -sf "$CLIENT_DIR/mysqladmin" /usr/local/bin/mysqladmin
|
|
38
|
+
|
|
39
|
+
echo "MySQL $CLIENT_VERSION client activated from pre-downloaded binaries"
|
|
40
|
+
else
|
|
41
|
+
echo "Warning: Pre-downloaded MySQL client not found at $CLIENT_DIR"
|
|
42
|
+
echo "Keeping default mariadb-client"
|
|
43
|
+
exit 0
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# Create config directory if it doesn't exist
|
|
47
|
+
mkdir -p /etc/mysql/conf.d
|
|
48
|
+
|
|
49
|
+
# Create MySQL client config with compatibility settings
|
|
50
|
+
cat > /etc/mysql/conf.d/lando.cnf << 'MYCNF'
|
|
51
|
+
[client]
|
|
52
|
+
default-character-set=utf8mb4
|
|
53
|
+
# Use PREFERRED so SSL is used when available but self-signed certs
|
|
54
|
+
# (e.g. MySQL 5.7 defaults) don't cause verification failures.
|
|
55
|
+
# Preserves SSL for servers that support it
|
|
56
|
+
ssl-mode=PREFERRED
|
|
57
|
+
|
|
58
|
+
[mysqldump]
|
|
59
|
+
# Prevent column-statistics errors with newer mysqldump
|
|
60
|
+
skip-column-statistics
|
|
61
|
+
ssl-mode=PREFERRED
|
|
62
|
+
MYCNF
|
|
63
|
+
|
|
64
|
+
if ! mysql --version 2>/dev/null; then
|
|
65
|
+
echo "Error: MySQL client not available after activation"
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.6.0 - [September 8, 2025](https://github.com/lando/postgres/releases/tag/v1.6.0)
|
|
4
|
+
|
|
5
|
+
* Added support for Postgres 17
|
|
6
|
+
|
|
3
7
|
## v1.5.0 - [September 1, 2025](https://github.com/lando/postgres/releases/tag/v1.5.0)
|
|
4
8
|
|
|
5
9
|
* Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
|
|
@@ -11,8 +11,9 @@ module.exports = {
|
|
|
11
11
|
name: 'postgres',
|
|
12
12
|
config: {
|
|
13
13
|
version: '10',
|
|
14
|
-
supported: ['16', '15', '14', '13', '12', '11', '11.1', '11.0', '10', '10.6.0', '9.6'],
|
|
14
|
+
supported: ['17', '16', '15', '14', '13', '12', '11', '11.1', '11.0', '10', '10.6.0', '9.6'],
|
|
15
15
|
pinPairs: {
|
|
16
|
+
'17': 'bitnamilegacy/postgresql:17.6.0-debian-12-r4',
|
|
16
17
|
'16': 'bitnamilegacy/postgresql:16.6.0-debian-12-r2',
|
|
17
18
|
'15': 'bitnamilegacy/postgresql:15.10.0-debian-12-r2',
|
|
18
19
|
'14': 'bitnamilegacy/postgresql:14.18.0-debian-12-r0',
|