@lando/symfony 1.10.0 → 1.12.0

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.
Files changed (97) hide show
  1. package/.lando.yml +1 -1
  2. package/CHANGELOG.md +21 -0
  3. package/LICENSE +21 -0
  4. package/README.md +7 -3
  5. package/builders/symfony-nginx.js +1 -1
  6. package/netlify.toml +9 -0
  7. package/node_modules/@lando/mariadb/.lando.yml +1 -1
  8. package/node_modules/@lando/mariadb/.node-version +1 -1
  9. package/node_modules/@lando/mariadb/CHANGELOG.md +8 -1
  10. package/node_modules/@lando/mariadb/LICENSE +21 -0
  11. package/node_modules/@lando/mariadb/README.md +5 -2
  12. package/node_modules/@lando/mariadb/builders/mariadb.js +25 -22
  13. package/node_modules/@lando/mariadb/netlify.toml +9 -2
  14. package/node_modules/@lando/mariadb/package.json +8 -8
  15. package/node_modules/@lando/memcached/.lando.yml +1 -1
  16. package/node_modules/@lando/memcached/.node-version +1 -1
  17. package/node_modules/@lando/memcached/CHANGELOG.md +17 -1
  18. package/node_modules/@lando/memcached/LICENSE +21 -0
  19. package/node_modules/@lando/memcached/README.md +5 -2
  20. package/node_modules/@lando/memcached/builders/memcached.js +5 -3
  21. package/node_modules/@lando/memcached/netlify.toml +9 -2
  22. package/node_modules/@lando/memcached/package.json +8 -8
  23. package/node_modules/@lando/mysql/.lando.yml +1 -1
  24. package/node_modules/@lando/mysql/CHANGELOG.md +10 -0
  25. package/node_modules/@lando/mysql/LICENSE +21 -0
  26. package/node_modules/@lando/mysql/README.md +5 -2
  27. package/node_modules/@lando/mysql/builders/mysql.js +9 -5
  28. package/node_modules/@lando/mysql/netlify.toml +9 -0
  29. package/node_modules/@lando/mysql/package.json +8 -8
  30. package/node_modules/@lando/php/.lando.yml +1 -1
  31. package/node_modules/@lando/php/AGENTS.md +81 -0
  32. package/node_modules/@lando/php/CHANGELOG.md +31 -0
  33. package/node_modules/@lando/php/LICENSE +21 -0
  34. package/node_modules/@lando/php/README.md +9 -3
  35. package/node_modules/@lando/php/builders/php.js +39 -12
  36. package/node_modules/@lando/php/images/5.6-apache/Dockerfile +9 -4
  37. package/node_modules/@lando/php/images/5.6-fpm/Dockerfile +9 -4
  38. package/node_modules/@lando/php/images/7.0-apache/Dockerfile +9 -4
  39. package/node_modules/@lando/php/images/7.0-fpm/Dockerfile +9 -4
  40. package/node_modules/@lando/php/images/7.1-apache/Dockerfile +1 -1
  41. package/node_modules/@lando/php/images/7.1-fpm/Dockerfile +1 -1
  42. package/node_modules/@lando/php/images/7.2-apache/Dockerfile +1 -1
  43. package/node_modules/@lando/php/images/7.2-fpm/Dockerfile +1 -1
  44. package/node_modules/@lando/php/images/7.3-apache/Dockerfile +1 -1
  45. package/node_modules/@lando/php/images/7.3-fpm/Dockerfile +1 -1
  46. package/node_modules/@lando/php/images/7.4-apache/Dockerfile +2 -2
  47. package/node_modules/@lando/php/images/7.4-fpm/Dockerfile +2 -2
  48. package/node_modules/@lando/php/images/8.0-apache/Dockerfile +2 -2
  49. package/node_modules/@lando/php/images/8.0-fpm/Dockerfile +2 -2
  50. package/node_modules/@lando/php/images/8.1-apache/Dockerfile +1 -1
  51. package/node_modules/@lando/php/images/8.1-fpm/Dockerfile +1 -1
  52. package/node_modules/@lando/php/images/8.2-apache/Dockerfile +1 -1
  53. package/node_modules/@lando/php/images/8.2-fpm/Dockerfile +1 -1
  54. package/node_modules/@lando/php/images/8.3-apache/Dockerfile +23 -22
  55. package/node_modules/@lando/php/images/8.3-fpm/Dockerfile +22 -22
  56. package/node_modules/@lando/php/images/8.4-apache/Dockerfile +21 -22
  57. package/node_modules/@lando/php/images/8.4-fpm/Dockerfile +21 -22
  58. package/node_modules/@lando/php/images/8.5-apache/Dockerfile +77 -0
  59. package/node_modules/@lando/php/images/8.5-fpm/Dockerfile +78 -0
  60. package/node_modules/@lando/php/netlify.toml +10 -1
  61. package/node_modules/@lando/php/node_modules/@lando/nginx/.lando.yml +1 -1
  62. package/node_modules/@lando/php/node_modules/@lando/nginx/.node-version +1 -1
  63. package/node_modules/@lando/php/node_modules/@lando/nginx/CHANGELOG.md +9 -1
  64. package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE +21 -0
  65. package/node_modules/@lando/php/node_modules/@lando/nginx/README.md +5 -2
  66. package/node_modules/@lando/php/node_modules/@lando/nginx/builders/nginx.js +34 -15
  67. package/node_modules/@lando/php/node_modules/@lando/nginx/netlify.toml +9 -4
  68. package/node_modules/@lando/php/node_modules/@lando/nginx/package.json +8 -8
  69. package/node_modules/@lando/php/package.json +10 -10
  70. package/node_modules/@lando/php/scripts/install-db-client.sh +31 -0
  71. package/node_modules/@lando/php/scripts/mariadb-compat-install.sh +42 -0
  72. package/node_modules/@lando/php/scripts/mysql-client-install.sh +62 -0
  73. package/node_modules/@lando/postgres/.lando.yml +1 -1
  74. package/node_modules/@lando/postgres/CHANGELOG.md +11 -0
  75. package/node_modules/@lando/postgres/LICENSE +21 -0
  76. package/node_modules/@lando/postgres/README.md +5 -2
  77. package/node_modules/@lando/postgres/builders/postgres.js +9 -9
  78. package/node_modules/@lando/postgres/netlify.toml +9 -4
  79. package/node_modules/@lando/postgres/package.json +8 -8
  80. package/package.json +11 -11
  81. package/LICENSE.md +0 -674
  82. package/PRIVACY.md +0 -169
  83. package/node_modules/@lando/mariadb/LICENSE.md +0 -674
  84. package/node_modules/@lando/mariadb/PRIVACY.md +0 -169
  85. package/node_modules/@lando/mariadb/tmpfile +0 -0
  86. package/node_modules/@lando/memcached/LICENSE.md +0 -674
  87. package/node_modules/@lando/memcached/PRIVACY.md +0 -169
  88. package/node_modules/@lando/memcached/tmpfile +0 -0
  89. package/node_modules/@lando/mysql/.tool-versions +0 -1
  90. package/node_modules/@lando/mysql/LICENSE.md +0 -674
  91. package/node_modules/@lando/mysql/PRIVACY.md +0 -169
  92. package/node_modules/@lando/php/LICENSE.md +0 -674
  93. package/node_modules/@lando/php/PRIVACY.md +0 -169
  94. package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE.md +0 -674
  95. package/node_modules/@lando/php/node_modules/@lando/nginx/PRIVACY.md +0 -169
  96. package/node_modules/@lando/postgres/LICENSE.md +0 -674
  97. package/node_modules/@lando/postgres/PRIVACY.md +0 -169
@@ -1,42 +1,30 @@
1
- # docker build -t devwithlando/php:8.3-fpm-5 .
1
+ # docker build -t devwithlando/php:8.3-fpm-7 .
2
2
 
3
- FROM php:8.3-fpm-bookworm
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-core \
16
+ libimage-exiftool-perl \
17
+ git \
28
18
  gnupg2 \
29
19
  imagemagick \
30
20
  mariadb-client \
31
- postgresql-client-15 \
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-5 .
1
+ # docker build -t devwithlando/php:8.4-apache-7 .
2
2
 
3
- FROM php:8.4-apache-bookworm
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-core \
16
+ libimage-exiftool-perl \
17
+ git \
28
18
  gnupg2 \
29
19
  imagemagick \
30
20
  mariadb-client \
31
21
  mariadb-client-compat \
32
- postgresql-client-15 \
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-5 .
1
+ # docker build -t devwithlando/php:8.4-fpm-7 .
2
2
 
3
- FROM php:8.4-fpm-bookworm
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-core \
17
+ libimage-exiftool-perl \
18
+ git \
29
19
  gnupg2 \
30
20
  imagemagick \
31
21
  mariadb-client \
32
22
  mariadb-client-compat \
33
- postgresql-client-15 \
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
 
@@ -40,6 +40,15 @@
40
40
  output_path = "reports/lighthouse.html"
41
41
 
42
42
  # We need this so preview environments and the base site look ok on their own
43
+ [[redirects]]
44
+ from = "https://lando-php.netlify.app"
45
+ to = "https://lando-php.netlify.app/plugins/php/index.html"
46
+ status = 301
47
+ force = true
48
+ [[redirects]]
49
+ from = "https://lando-php.netlify.app/*"
50
+ to = "https://docs.lando.dev/:splat"
51
+ status = 301
43
52
  [[redirects]]
44
53
  from = "/"
45
54
  to = "/plugins/php"
@@ -5,7 +5,7 @@ proxy:
5
5
  services:
6
6
  cli:
7
7
  api: 4
8
- image: node:18
8
+ image: node:20
9
9
  command: sleep infinity
10
10
  ports:
11
11
  - 5173:5173/http
@@ -1,5 +1,12 @@
1
1
  ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
2
2
 
3
+ ## v1.5.0 - [August 31, 2025](https://github.com/lando/nginx/releases/tag/v1.5.0)
4
+
5
+ * Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
6
+ * Added `nginx:1.29`
7
+ * Added `nginx:1.28`
8
+ * Updated `nginx:1.27` to `1.27.5`
9
+
3
10
  ## v1.4.4 - [December 7, 2024](https://github.com/lando/nginx/releases/tag/v1.4.4)
4
11
 
5
12
  * Optimized for `midcore`
@@ -32,7 +39,8 @@
32
39
  * Changed default version to `1.26`
33
40
 
34
41
  ## v1.1.0 - [March 8, 2024](https://github.com/lando/nginx/releases/tag/v1.1.0)
35
- * Updated to latest database services.
42
+
43
+ * Updated to latest database services.
36
44
 
37
45
  ## v1.0.0 - [December 7, 2023](https://github.com/lando/ngin/releases/tag/v1.0.0)
38
46
 
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Lando Alliance
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -49,5 +49,8 @@ Made with [contributors-img](https://contrib.rocks).
49
49
 
50
50
  ## Other Selected Resources
51
51
 
52
- * [LICENSE](https://github.com/lando/nginx/blob/main/LICENSE.md)
53
- * [The best professional advice ever](https://www.youtube.com/watch?v=tkBVDh7my9Q)
52
+ * [LICENSE](/LICENSE)
53
+ * [TERMS OF USE](https://docs.lando.dev/terms)
54
+ * [PRIVACY POLICY](https://docs.lando.dev/privacy)
55
+ * [CODE OF CONDUCT](https://docs.lando.dev/coc)
56
+
@@ -8,21 +8,40 @@ const path = require('path');
8
8
  module.exports = {
9
9
  name: 'nginx',
10
10
  config: {
11
- version: '1.27',
12
- supported: ['1.16', '1.17', '1.18', '1.19', '1.20', '1.21', '1.22', '1.23', '1.24', '1.25', '1.26', '1.27'],
11
+ version: '1.29',
12
+ supported: [
13
+ '1',
14
+ '1.29',
15
+ '1.28',
16
+ '1.27',
17
+ '1.26',
18
+ '1.25',
19
+ '1.24',
20
+ '1.23',
21
+ '1.22',
22
+ '1.21',
23
+ '1.20',
24
+ '1.19',
25
+ '1.18',
26
+ '1.17',
27
+ '1.16',
28
+ ],
13
29
  pinPairs: {
14
- '1.27': 'bitnami/nginx:1.27.2-debian-12-r0',
15
- '1.26': 'bitnami/nginx:1.26.2-debian-12-r6',
16
- '1.25': 'bitnami/nginx:1.25.5-debian-12-r7',
17
- '1.24': 'bitnami/nginx:1.24.0-debian-12-r25',
18
- '1.23': 'bitnami/nginx:1.23.4-debian-11-r24',
19
- '1.22': 'bitnami/nginx:1.22.1-debian-11-r66',
20
- '1.21': 'bitnami/nginx:1.21.6-debian-11-r21',
21
- '1.20': 'bitnami/nginx:1.20.2-debian-11-r9',
22
- '1.19': 'bitnami/nginx:1.19.10-debian-10-r94',
23
- '1.18': 'bitnami/nginx:1.18.0-debian-10-r363',
24
- '1.17': 'bitnami/nginx:1.17.10-debian-10-r71',
25
- '1.16': 'bitnami/nginx:1.16.1-debian-10-r106',
30
+ '1': 'bitnamilegacy/nginx:1.29.1-debian-12-r0',
31
+ '1.29': 'bitnamilegacy/nginx:1.29.1-debian-12-r0',
32
+ '1.28': 'bitnamilegacy/nginx:1.28.0-debian-12-r4',
33
+ '1.27': 'bitnamilegacy/nginx:1.27.5-debian-12-r1',
34
+ '1.26': 'bitnamilegacy/nginx:1.26.2-debian-12-r10',
35
+ '1.25': 'bitnamilegacy/nginx:1.25.5-debian-12-r7',
36
+ '1.24': 'bitnamilegacy/nginx:1.24.0-debian-12-r25',
37
+ '1.23': 'bitnamilegacy/nginx:1.23.4-debian-11-r24',
38
+ '1.22': 'bitnamilegacy/nginx:1.22.1-debian-11-r66',
39
+ '1.21': 'bitnamilegacy/nginx:1.21.6-debian-11-r21',
40
+ '1.20': 'bitnamilegacy/nginx:1.20.2-debian-11-r9',
41
+ '1.19': 'bitnamilegacy/nginx:1.19.10',
42
+ '1.18': 'bitnamilegacy/nginx:1.18.0',
43
+ '1.17': 'bitnamilegacy/nginx:1.17.10',
44
+ '1.16': 'bitnamilegacy/nginx:1.16.1-r146',
26
45
  },
27
46
  patchesSupported: true,
28
47
  confSrc: path.resolve(__dirname, '..', 'config'),
@@ -71,7 +90,7 @@ module.exports = {
71
90
 
72
91
  // Build the default stuff here
73
92
  const nginx = {
74
- image: `bitnami/nginx:${options.version}`,
93
+ image: `bitnamilegacy/nginx:${options.version}`,
75
94
  command: `/launch.sh ${vhosts} ${server} ${params}`,
76
95
  environment: {
77
96
  NGINX_HTTP_PORT_NUMBER: '80',
@@ -14,8 +14,6 @@
14
14
  skipPatterns = [ ".rss", ".gif", ".jpg" ]
15
15
  checkExternal = true
16
16
 
17
-
18
-
19
17
  # Sets our asset optimization
20
18
  [build.processing.css]
21
19
  bundle = true
@@ -41,9 +39,16 @@
41
39
  [plugins.inputs.audits]
42
40
  output_path = "reports/lighthouse.html"
43
41
 
44
-
45
-
46
42
  # We need this so preview environments and the base site look ok on their own
43
+ [[redirects]]
44
+ from = "https://lando-nginx.netlify.app"
45
+ to = "https://lando-nginx.netlify.app/plugins/nginx/index.html"
46
+ status = 301
47
+ force = true
48
+ [[redirects]]
49
+ from = "https://lando-nginx.netlify.app/*"
50
+ to = "https://docs.lando.dev/:splat"
51
+ status = 301
47
52
  [[redirects]]
48
53
  from = "/"
49
54
  to = "/plugins/nginx"
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@lando/nginx",
3
3
  "description": "A Lando plugin that provides a tight integration with NGINX.",
4
- "version": "1.4.4",
4
+ "version": "1.5.0",
5
5
  "author": "Mike Pirog @pirog",
6
- "license": "GPL-3.0",
6
+ "license": "MIT",
7
7
  "repository": "lando/nginx",
8
8
  "bugs": "https://github.com/lando/nginx/issues/new/choose",
9
9
  "homepage": "https://github.com/lando/nginx",
@@ -14,7 +14,7 @@
14
14
  "nginx"
15
15
  ],
16
16
  "engines": {
17
- "node": ">=18.0.0"
17
+ "node": ">=20.0.0"
18
18
  },
19
19
  "lando": {},
20
20
  "main": "index.js",
@@ -48,7 +48,7 @@
48
48
  "devDependencies": {
49
49
  "@babel/eslint-parser": "^7.16.0",
50
50
  "@lando/leia": "^1.0.0-beta.3",
51
- "@lando/vitepress-theme-default-plus": "^1.1.0-beta.24",
51
+ "@lando/vitepress-theme-default-plus": "^1.1.1",
52
52
  "chai": "^4.3.4",
53
53
  "command-line-test": "^1.0.10",
54
54
  "eslint": "^7.32.0",
@@ -62,9 +62,9 @@
62
62
  "lodash"
63
63
  ],
64
64
  "dist": {
65
- "integrity": "sha512-mW8wzVbKHLNsQhsWyuxx4pwxgB26hRe6gAe82VzrgBpYCyNqyR2WbkvoTXM1jlllyUQaHB3V8FtZLxNREKWy3g==",
66
- "shasum": "379bada9fb0b1bddfa323b6f574beed862457236",
67
- "filename": "lando-nginx-1.4.4.tgz",
68
- "unpackedSize": 1481520
65
+ "integrity": "sha512-5ucFuVSujqYHcrRYfp7h7hJoeB4hDIykCa3jCSrOzXEh9yJA5tOoIHWZ6sA5bVWMZ+fmVjJwN4ECq5bCSL4fXQ==",
66
+ "shasum": "4f17dd1cd473fd82fffc629a87f09b695826bf75",
67
+ "filename": "lando-nginx-1.5.0.tgz",
68
+ "unpackedSize": 1438911
69
69
  }
70
70
  }