@lando/drupal 1.11.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.
- package/CHANGELOG.md +7 -0
- package/builders/_drupaly.js +1 -1
- package/builders/drupal-php.js +17 -16
- package/builders/drupal10.js +1 -1
- package/builders/drupal6.js +3 -2
- package/builders/drupal9.js +1 -1
- package/netlify.toml +17 -1
- package/node_modules/@lando/mysql/CHANGELOG.md +5 -0
- package/node_modules/@lando/mysql/builders/mysql.js +3 -3
- package/node_modules/@lando/mysql/package.json +5 -5
- package/node_modules/@lando/php/CHANGELOG.md +29 -1
- package/node_modules/@lando/php/builders/php.js +75 -15
- package/node_modules/@lando/php/images/5.6-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/5.6-fpm/Dockerfile +0 -5
- package/node_modules/@lando/php/images/7.0-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.0-fpm/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.1-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.1-fpm/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.2-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.2-fpm/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.3-apache/Dockerfile +0 -3
- package/node_modules/@lando/php/images/7.3-fpm/Dockerfile +0 -3
- package/node_modules/@lando/php/images/7.4-apache/Dockerfile +45 -55
- package/node_modules/@lando/php/images/7.4-fpm/Dockerfile +59 -69
- package/node_modules/@lando/php/images/8.0-apache/Dockerfile +45 -56
- package/node_modules/@lando/php/images/8.0-fpm/Dockerfile +45 -56
- package/node_modules/@lando/php/images/8.1-apache/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.1-fpm/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.2-apache/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.2-fpm/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.3-apache/Dockerfile +24 -4
- package/node_modules/@lando/php/images/8.3-fpm/Dockerfile +25 -4
- package/node_modules/@lando/php/images/8.4-apache/Dockerfile +27 -4
- package/node_modules/@lando/php/images/8.4-fpm/Dockerfile +27 -4
- 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-composer.sh +4 -0
- package/node_modules/@lando/php/utils/add-build-step.js +17 -3
- package/node_modules/@lando/php/utils/get-install-commands.js +19 -3
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.12.0 - [January 16, 2025](https://github.com/lando/drupal/releases/tag/v1.12.0)
|
|
4
|
+
|
|
5
|
+
* Updated globally installed Drush to `v8.5.0`.
|
|
6
|
+
* Added docs for setting up [Drupal CMS](https://drupal.org/docs/drupal-cms).
|
|
7
|
+
* Updated to [@lando/php@1.7.1](https://github.com/lando/php/releases/tag/v1.7.1).
|
|
8
|
+
* Updated to [@lando/mysql@1.5.0](https://github.com/lando/mysql/releases/tag/v1.5.0).
|
|
9
|
+
|
|
3
10
|
## v1.11.0 - [December 9, 2024](https://github.com/lando/drupal/releases/tag/v1.11.0)
|
|
4
11
|
|
|
5
12
|
* Optimized for `midcore`
|
package/builders/_drupaly.js
CHANGED
package/builders/drupal-php.js
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const _ = require('lodash');
|
|
4
|
-
const fs = require('fs');
|
|
5
3
|
const path = require('path');
|
|
6
4
|
const landoPhpPath = path.join(__dirname, '../node_modules/@lando/php');
|
|
7
5
|
const LandoPhp = require(`${landoPhpPath}/builders/php.js`);
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
lando.utils.makeExecutable(fs.readdirSync(dest), dest);
|
|
16
|
-
lando.log.debug('automoved scripts from %s to %s and set to mode 755',
|
|
17
|
-
path.join(landoPhpPath, 'scripts'), confDir);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
// Builder
|
|
7
|
+
/**
|
|
8
|
+
* Drupal PHP builder class that extends Lando PHP builder.
|
|
9
|
+
* Uses the bundled version of @lando/php plugin instead of user's version.
|
|
10
|
+
*
|
|
11
|
+
* @module drupal-php
|
|
12
|
+
*/
|
|
22
13
|
module.exports = {
|
|
23
14
|
name: 'drupal-php',
|
|
24
15
|
parent: '_appserver',
|
|
16
|
+
/**
|
|
17
|
+
* Builder function that returns the DrupalPhp class
|
|
18
|
+
* @param {Object} parent - Parent builder class
|
|
19
|
+
* @return {Class} DrupalPhp class extending LandoPhp builder
|
|
20
|
+
*/
|
|
25
21
|
builder: parent => class DrupalPhp extends LandoPhp.builder(parent, LandoPhp.config) {
|
|
22
|
+
/**
|
|
23
|
+
* Create a new DrupalPhp instance
|
|
24
|
+
* @param {string} id - Service id
|
|
25
|
+
* @param {Object} options - Service options
|
|
26
|
+
* @param {Object} factory - App factory instance
|
|
27
|
+
*/
|
|
26
28
|
constructor(id, options = {}, factory) {
|
|
27
|
-
loadScripts(options);
|
|
28
29
|
options.nginxServiceType = 'drupal-nginx';
|
|
29
30
|
super(id, options, factory);
|
|
30
31
|
}
|
package/builders/drupal10.js
CHANGED
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
// Set drush to false
|
|
28
28
|
options.drush = false;
|
|
29
29
|
|
|
30
|
-
// Let's make sure we set
|
|
30
|
+
// Let's make sure we set appropriate default versions for things
|
|
31
31
|
// See: https://www.drupal.org/docs/system-requirements/database-server-requirements
|
|
32
32
|
if (_.get(options, 'database') === 'mysql') {
|
|
33
33
|
options.database = 'mysql:5.7';
|
package/builders/drupal6.js
CHANGED
|
@@ -14,8 +14,9 @@ module.exports = {
|
|
|
14
14
|
confSrc: path.resolve(__dirname, '..', 'config', 'drupal6'),
|
|
15
15
|
defaultFiles: {},
|
|
16
16
|
php: '5.6',
|
|
17
|
-
// @NOTE: below seems to be the last known
|
|
18
|
-
// drush si -y
|
|
17
|
+
// @NOTE: below seems to be the last known Drupal 6 compatible
|
|
18
|
+
// drush version that let you do drush si -y successfully.
|
|
19
|
+
// @see https://github.com/drush-ops/drush/issues/218#issuecomment-2580619527
|
|
19
20
|
drush: '8.4.5',
|
|
20
21
|
},
|
|
21
22
|
builder: (parent, config) => class LandoDrupal6 extends parent {
|
package/builders/drupal9.js
CHANGED
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
// Set drush to false
|
|
28
28
|
options.drush = false;
|
|
29
29
|
|
|
30
|
-
// Let's make sure we set
|
|
30
|
+
// Let's make sure we set appropriate default versions for things
|
|
31
31
|
// See: https://www.drupal.org/docs/9/how-drupal-9-is-made-and-what-is-included/environment-requirements-of-drupal-9
|
|
32
32
|
if (_.get(options, 'database') === 'mysql') {
|
|
33
33
|
options.database = 'mysql:5.7';
|
package/netlify.toml
CHANGED
|
@@ -10,7 +10,14 @@
|
|
|
10
10
|
[[context.deploy-preview.plugins]]
|
|
11
11
|
package = "netlify-plugin-checklinks"
|
|
12
12
|
[context.deploy-preview.plugins.inputs]
|
|
13
|
-
todoPatterns = [
|
|
13
|
+
todoPatterns = [
|
|
14
|
+
"load",
|
|
15
|
+
"CHANGELOG.html",
|
|
16
|
+
"x.com",
|
|
17
|
+
"twitter.com",
|
|
18
|
+
"https://www.drupal.org",
|
|
19
|
+
"/v/"
|
|
20
|
+
]
|
|
14
21
|
skipPatterns = [ ".rss", ".gif", ".jpg" ]
|
|
15
22
|
checkExternal = true
|
|
16
23
|
|
|
@@ -40,6 +47,15 @@
|
|
|
40
47
|
output_path = "reports/lighthouse.html"
|
|
41
48
|
|
|
42
49
|
# We need this so preview environments and the base site look ok on their own
|
|
50
|
+
[[redirects]]
|
|
51
|
+
from = "https://lando-drupal.netlify.app"
|
|
52
|
+
to = "https://lando-drupal.netlify.app/plugins/drupal/index.html"
|
|
53
|
+
status = 301
|
|
54
|
+
force = true
|
|
55
|
+
[[redirects]]
|
|
56
|
+
from = "https://lando-drupal.netlify.app/*"
|
|
57
|
+
to = "https://docs.lando.dev/:splat"
|
|
58
|
+
status = 301
|
|
43
59
|
[[redirects]]
|
|
44
60
|
from = "/"
|
|
45
61
|
to = "/plugins/drupal"
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.5.0 - [January 6, 2025](https://github.com/lando/mysql/releases/tag/v1.5.0)
|
|
4
|
+
|
|
5
|
+
* Added support for MySQL 8.4
|
|
6
|
+
* Updated 8.0 to patch 40
|
|
7
|
+
|
|
3
8
|
## v1.4.4 - [December 7, 2024](https://github.com/lando/mysql/releases/tag/v1.4.4)
|
|
4
9
|
|
|
5
10
|
* Optimized for `midcore`
|
|
@@ -9,13 +9,13 @@ module.exports = {
|
|
|
9
9
|
name: 'mysql',
|
|
10
10
|
config: {
|
|
11
11
|
version: '5.7',
|
|
12
|
-
supported: ['8.0', '5.7'],
|
|
12
|
+
supported: ['8.4', '8.0', '5.7'],
|
|
13
13
|
pinPairs: {
|
|
14
|
-
'8.
|
|
14
|
+
'8.4': 'bitnami/mysql:8.4.3-debian-12-r4',
|
|
15
|
+
'8.0': 'bitnami/mysql:8.0.40-debian-12-r4',
|
|
15
16
|
'5.7': 'bitnami/mysql:5.7.43-debian-11-r73',
|
|
16
17
|
},
|
|
17
18
|
patchesSupported: true,
|
|
18
|
-
authentication: 'caching_sha2_password',
|
|
19
19
|
confSrc: path.resolve(__dirname, '..', 'config'),
|
|
20
20
|
creds: {
|
|
21
21
|
database: 'database',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lando/mysql",
|
|
3
3
|
"description": "A Lando plugin that provides a tight integration with MySQL.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0",
|
|
5
5
|
"author": "Mike Pirog @pirog",
|
|
6
6
|
"license": "GPL-3.0",
|
|
7
7
|
"repository": "lando/mysql",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"lodash"
|
|
63
63
|
],
|
|
64
64
|
"dist": {
|
|
65
|
-
"integrity": "sha512-
|
|
66
|
-
"shasum": "
|
|
67
|
-
"filename": "lando-mysql-1.
|
|
68
|
-
"unpackedSize":
|
|
65
|
+
"integrity": "sha512-6Vo5ldpXsUNlwXbDBLTiZKcx0H58FBJQ4Cv3+oI54MnAuUwWc0DpmHfa5eKR39wNuqxXrMXulS7igDE62FRhvQ==",
|
|
66
|
+
"shasum": "2eb72be5a0a4beeeebb6384d7913def1ddded538",
|
|
67
|
+
"filename": "lando-mysql-1.5.0.tgz",
|
|
68
|
+
"unpackedSize": 1471270
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -1,13 +1,41 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.7.1 - [January 15, 2025](https://github.com/lando/php/releases/tag/v1.7.1)
|
|
4
|
+
|
|
5
|
+
* Improved the `php` service builder to mount a unique scripts directory per service to prevent version conflicts.
|
|
6
|
+
|
|
7
|
+
## v1.7.0 - [January 8, 2025](https://github.com/lando/php/releases/tag/v1.7.0)
|
|
8
|
+
|
|
9
|
+
* Added logic to allow default `composer` version to be set based on PHP version.
|
|
10
|
+
* Added `2.2` and `2.2-latest` shorthand options to install the latest stable 2.2 LTS version of `composer`.
|
|
11
|
+
* Set default `composer` version to `2-latest`
|
|
12
|
+
* Set default `composer` version to `2.2-latest` for PHP 5.3-7.2
|
|
13
|
+
* Set default `composer` version to `1-latest` for PHP <= 5.2
|
|
14
|
+
* Removed `composer` installation from images to prefer installing during app build
|
|
15
|
+
* Fixed bug causing `composer` 2.2.x to be installed when `composer_version` was set to a single digit version such as `1`
|
|
16
|
+
* Fixed mismatched `libsqlite3-dev` and `libsqlite3-0` versions in PHP 8.3 and 8.4 images
|
|
17
|
+
* Fixed regression causing ImageMagick `convert` to not be available in images with `imagick` extension enabled
|
|
18
|
+
|
|
19
|
+
## v1.6.4 - [December 14, 2024](https://github.com/lando/php/releases/tag/v1.6.4)
|
|
20
|
+
|
|
21
|
+
* Fixed issue causing `xdebug` extension to not be disabled by default in PHP 8.3 and 8.4 images.
|
|
22
|
+
* Added `install-php-extensions` script to PHP 7.4-8.2 images.
|
|
23
|
+
* Added MariaDB client tools to PHP 7.4-8.4 images [#120](https://github.com/lando/php/issues/120).
|
|
24
|
+
* Added `xhprof` extension to PHP 7.4-8.4 images.
|
|
25
|
+
* Updated `sqlite3` to 3.45.1 in PHP 8.3-8.4 images.
|
|
26
|
+
|
|
3
27
|
## v1.6.3 - [December 7, 2024](https://github.com/lando/php/releases/tag/v1.6.3)
|
|
4
28
|
|
|
5
29
|
* Optimized for `midcore`
|
|
6
30
|
|
|
7
31
|
## v1.6.2 - [December 6, 2024](https://github.com/lando/php/releases/tag/v1.6.2)
|
|
8
32
|
|
|
33
|
+
* Updated PHP 8.1-8.3 base images to Debian 12 (bookworm).
|
|
34
|
+
* Added `install-php-extensions` script to PHP 8.3 and 8.4 images.
|
|
35
|
+
* Added `imagick` extension to PHP 8.3 and 8.4 images.
|
|
36
|
+
* Updated 8.4RC image to 8.4 stable.
|
|
37
|
+
* Added `xdebug` extension to PHP 8.4 images.
|
|
9
38
|
* Updated the version index.md to get Docuverse page to build correctly.
|
|
10
|
-
|
|
11
39
|
* Updated to [@lando/vitepress-theme-default-plus@v1.1.0-beta.24](https://github.com/lando/vitepress-theme-default-plus/releases/tag/v1.1.0-beta.24).
|
|
12
40
|
* Updated GitHub Actions to build images only on changes to images or workflows.
|
|
13
41
|
|
|
@@ -5,6 +5,29 @@ const _ = require('lodash');
|
|
|
5
5
|
const path = require('path');
|
|
6
6
|
const semver = require('semver');
|
|
7
7
|
const addBuildStep = require('./../utils/add-build-step');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Get the appropriate Composer version based on the PHP version.
|
|
11
|
+
* @param {semver} phpSemver - The PHP semantic version.
|
|
12
|
+
* @return {string|boolean} - The Composer version or false if we cannot parse the version.
|
|
13
|
+
*/
|
|
14
|
+
const getDefaultComposerVersion = phpSemver => {
|
|
15
|
+
// Don't set a default composer version if we cannot
|
|
16
|
+
// parse the version such as with `custom`.
|
|
17
|
+
if (!phpSemver) return false;
|
|
18
|
+
|
|
19
|
+
if (semver.lt(phpSemver, '5.3.2')) {
|
|
20
|
+
// Use Composer 1 for PHP < 5.3.2
|
|
21
|
+
return '1';
|
|
22
|
+
} else if (semver.lt(phpSemver, '7.3.0')) {
|
|
23
|
+
// Use Composer 2.2 LTS for PHP < 7.3
|
|
24
|
+
return '2.2';
|
|
25
|
+
} else {
|
|
26
|
+
// Use Composer 2 for PHP >= 7.3
|
|
27
|
+
return '2';
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
8
31
|
/*
|
|
9
32
|
* Helper to get nginx config
|
|
10
33
|
*/
|
|
@@ -30,13 +53,25 @@ const nginxConfig = options => ({
|
|
|
30
53
|
const xdebugConfig = host => ([
|
|
31
54
|
`client_host=${host}`,
|
|
32
55
|
'discover_client_host=1',
|
|
33
|
-
|
|
34
|
-
|
|
56
|
+
'log=/tmp/xdebug.log',
|
|
57
|
+
'remote_enable=true',
|
|
35
58
|
`remote_host=${host}`,
|
|
36
59
|
].join(' '));
|
|
37
60
|
|
|
38
|
-
|
|
39
|
-
* Helper to build a package string
|
|
61
|
+
/**
|
|
62
|
+
* Helper function to build a package string by combining package name and version
|
|
63
|
+
*
|
|
64
|
+
* @param {string} pkg - The package name
|
|
65
|
+
* @param {string} version - The package version
|
|
66
|
+
* @return {string} The formatted package string, either "pkg:version" or just "pkg" if version is empty
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* // Returns "php:7.4"
|
|
70
|
+
* pkger('php', '7.4');
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* // Returns "mysql"
|
|
74
|
+
* pkger('mysql', '');
|
|
40
75
|
*/
|
|
41
76
|
const pkger = (pkg, version) => (!_.isEmpty(version)) ? `${pkg}:${version}` : pkg;
|
|
42
77
|
|
|
@@ -108,7 +143,7 @@ module.exports = {
|
|
|
108
143
|
],
|
|
109
144
|
confSrc: path.resolve(__dirname, '..', 'config'),
|
|
110
145
|
command: ['sh -c \'a2enmod rewrite && apache2-foreground\''],
|
|
111
|
-
composer_version:
|
|
146
|
+
composer_version: true,
|
|
112
147
|
phpServer: 'apache',
|
|
113
148
|
defaultFiles: {
|
|
114
149
|
_php: 'php.ini',
|
|
@@ -126,6 +161,7 @@ module.exports = {
|
|
|
126
161
|
php: '/usr/local/etc/php/conf.d/zzz-lando-my-custom.ini',
|
|
127
162
|
pool: '/usr/local/etc/php-fpm.d/zz-lando.conf',
|
|
128
163
|
},
|
|
164
|
+
scriptsDir: path.resolve(__dirname, '..', 'scripts'),
|
|
129
165
|
sources: [],
|
|
130
166
|
suffix: '5',
|
|
131
167
|
ssl: false,
|
|
@@ -137,12 +173,20 @@ module.exports = {
|
|
|
137
173
|
parent: '_appserver',
|
|
138
174
|
builder: (parent, config) => class LandoPhp extends parent {
|
|
139
175
|
constructor(id, options = {}, factory) {
|
|
176
|
+
const debug = _.get(options, '_app._lando').log.debug;
|
|
177
|
+
|
|
178
|
+
// Merge the user config onto the default options
|
|
140
179
|
options = parseConfig(_.merge({}, config, options));
|
|
180
|
+
|
|
181
|
+
// Get the semver of the PHP version, NULL if we cannot parse it
|
|
182
|
+
const phpSemver = semver.coerce(options.version);
|
|
183
|
+
phpSemver && debug('Parsed PHP semantic version: %s', phpSemver);
|
|
184
|
+
|
|
141
185
|
// Mount our default php config
|
|
142
186
|
options.volumes.push(`${options.confDest}/${options.defaultFiles._php}:${options.remoteFiles._php}`);
|
|
143
187
|
options.volumes.push(`${options.confDest}/${options.defaultFiles.pool}:${options.remoteFiles.pool}`);
|
|
144
188
|
// Shift on the docker entrypoint if this is a more recent version
|
|
145
|
-
if (
|
|
189
|
+
if (phpSemver && semver.gt(phpSemver, '5.5.0')) {
|
|
146
190
|
options.command.unshift('docker-php-entrypoint');
|
|
147
191
|
}
|
|
148
192
|
|
|
@@ -168,22 +212,38 @@ module.exports = {
|
|
|
168
212
|
};
|
|
169
213
|
options.info = {via: options.via};
|
|
170
214
|
|
|
171
|
-
//
|
|
172
|
-
if (
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
215
|
+
// Determine the appropriate composer version to install if not specified
|
|
216
|
+
if (options.composer_version === true || options.composer_version === '') {
|
|
217
|
+
options.composer_version = getDefaultComposerVersion(phpSemver);
|
|
218
|
+
} else if (typeof options.composer_version === 'number') {
|
|
219
|
+
options.composer_version = options.composer_version.toString();
|
|
176
220
|
}
|
|
221
|
+
const usingComposer1 = options.composer_version && semver.satisfies(options.composer_version, '1.x');
|
|
177
222
|
|
|
178
|
-
// Add
|
|
223
|
+
// Add prestissimo as a global package for Composer 1.x performance improvements. Requires PHP >= 5.3
|
|
224
|
+
if (usingComposer1 && phpSemver && semver.gte(phpSemver, '5.3.0')) {
|
|
225
|
+
options.composer = options.composer || {};
|
|
226
|
+
options.composer = {'hirak/prestissimo': '*', ...options.composer};
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Add build step to enable xdebug
|
|
179
230
|
if (options.xdebug) {
|
|
180
231
|
addBuildStep(['docker-php-ext-enable xdebug'], options._app, options.name, 'build_as_root_internal');
|
|
181
232
|
}
|
|
182
233
|
|
|
183
|
-
//
|
|
234
|
+
// Add build step to install our Composer global packages
|
|
235
|
+
if (!_.isEmpty(options.composer)) {
|
|
236
|
+
const commands =
|
|
237
|
+
require('../utils/get-install-commands')(options.composer, pkger, ['composer', 'global', 'require', '-n']);
|
|
238
|
+
addBuildStep(commands, options._app, options.name, 'build_internal');
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// Install the desired composer version as the first `build_internal` build step
|
|
184
242
|
if (options.composer_version) {
|
|
185
|
-
|
|
186
|
-
|
|
243
|
+
debug('Installing composer version %s', options.composer_version);
|
|
244
|
+
const commands = [`/etc/lando/service/helpers/install-composer.sh ${options.composer_version}`];
|
|
245
|
+
const firstStep = true;
|
|
246
|
+
addBuildStep(commands, options._app, options.name, 'build_internal', firstStep);
|
|
187
247
|
}
|
|
188
248
|
|
|
189
249
|
// Add in nginx if we need to
|
|
@@ -72,11 +72,7 @@ RUN \
|
|
|
72
72
|
intl \
|
|
73
73
|
gettext \
|
|
74
74
|
pcntl \
|
|
75
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
76
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
77
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
78
75
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
79
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
80
76
|
&& apt-get -y clean \
|
|
81
77
|
&& apt-get -y autoclean \
|
|
82
78
|
&& apt-get -y autoremove \
|
|
@@ -72,12 +72,7 @@ RUN \
|
|
|
72
72
|
intl \
|
|
73
73
|
gettext \
|
|
74
74
|
pcntl \
|
|
75
|
-
# Install composer
|
|
76
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
77
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
78
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
79
75
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
80
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
81
76
|
&& apt-get -y clean \
|
|
82
77
|
&& apt-get -y autoclean \
|
|
83
78
|
&& apt-get -y autoremove \
|
|
@@ -72,11 +72,7 @@ RUN \
|
|
|
72
72
|
intl \
|
|
73
73
|
gettext \
|
|
74
74
|
pcntl \
|
|
75
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
76
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
77
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
78
75
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
79
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
80
76
|
&& apt-get -y clean \
|
|
81
77
|
&& apt-get -y autoclean \
|
|
82
78
|
&& apt-get -y autoremove \
|
|
@@ -72,11 +72,7 @@ RUN \
|
|
|
72
72
|
intl \
|
|
73
73
|
gettext \
|
|
74
74
|
pcntl \
|
|
75
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
76
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
77
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
78
75
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
79
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
80
76
|
&& apt-get -y clean \
|
|
81
77
|
&& apt-get -y autoclean \
|
|
82
78
|
&& apt-get -y autoremove \
|
|
@@ -75,11 +75,7 @@ RUN \
|
|
|
75
75
|
intl \
|
|
76
76
|
gettext \
|
|
77
77
|
pcntl \
|
|
78
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
79
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
80
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
81
78
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
82
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
83
79
|
&& apt-get -y clean \
|
|
84
80
|
&& apt-get -y autoclean \
|
|
85
81
|
&& apt-get -y autoremove \
|
|
@@ -75,11 +75,7 @@ RUN \
|
|
|
75
75
|
intl \
|
|
76
76
|
gettext \
|
|
77
77
|
pcntl \
|
|
78
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
79
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
80
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
81
78
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
82
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
83
79
|
&& apt-get -y clean \
|
|
84
80
|
&& apt-get -y autoclean \
|
|
85
81
|
&& apt-get -y autoremove \
|
|
@@ -73,11 +73,7 @@ RUN \
|
|
|
73
73
|
intl \
|
|
74
74
|
gettext \
|
|
75
75
|
pcntl \
|
|
76
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
77
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
78
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
79
76
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
80
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
81
77
|
&& apt-get -y clean \
|
|
82
78
|
&& apt-get -y autoclean \
|
|
83
79
|
&& apt-get -y autoremove \
|
|
@@ -73,11 +73,7 @@ RUN \
|
|
|
73
73
|
intl \
|
|
74
74
|
gettext \
|
|
75
75
|
pcntl \
|
|
76
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
77
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.1 \
|
|
78
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
79
76
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
80
|
-
&& su -c "composer global require -n hirak/prestissimo" -s /bin/sh www-data \
|
|
81
77
|
&& apt-get -y clean \
|
|
82
78
|
&& apt-get -y autoclean \
|
|
83
79
|
&& apt-get -y autoremove \
|
|
@@ -69,9 +69,6 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
|
69
69
|
intl \
|
|
70
70
|
gettext \
|
|
71
71
|
pcntl \
|
|
72
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
73
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.2.12 \
|
|
74
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
75
72
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
76
73
|
&& apt-get -y clean \
|
|
77
74
|
&& apt-get -y autoclean \
|
|
@@ -69,9 +69,6 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
|
69
69
|
intl \
|
|
70
70
|
gettext \
|
|
71
71
|
pcntl \
|
|
72
|
-
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
73
|
-
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.2.12 \
|
|
74
|
-
&& php -r "unlink('composer-setup.php');" \
|
|
75
72
|
&& chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
76
73
|
&& apt-get -y clean \
|
|
77
74
|
&& apt-get -y autoclean \
|
|
@@ -2,30 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
FROM php:7.4-apache-bullseye
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
6
|
+
|
|
7
|
+
RUN \
|
|
8
|
+
# MariaDB client compatibility (https://github.com/lando/php/issues/120)
|
|
9
|
+
mkdir -p /etc/apt/keyrings \
|
|
10
|
+
&& curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' \
|
|
11
|
+
&& echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.mariadb.org/repo/10.5/debian bullseye main" > /etc/apt/sources.list.d/mariadb.list
|
|
12
|
+
|
|
6
13
|
RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
7
14
|
&& apt -y update && apt-get install -y \
|
|
8
|
-
bzip2 \
|
|
9
15
|
default-mysql-client \
|
|
10
16
|
exiftool \
|
|
11
17
|
git-core \
|
|
12
18
|
gnupg2 \
|
|
13
19
|
imagemagick \
|
|
14
|
-
libbz2-dev \
|
|
15
|
-
libc-client-dev \
|
|
16
|
-
libicu-dev \
|
|
17
|
-
libjpeg62-turbo-dev \
|
|
18
|
-
libkrb5-dev \
|
|
19
|
-
libldap2-dev \
|
|
20
|
-
libmagickwand-dev \
|
|
21
|
-
libmemcached-dev \
|
|
22
|
-
libpng-dev \
|
|
23
|
-
libpq-dev \
|
|
24
|
-
libssl-dev \
|
|
25
|
-
libwebp-dev \
|
|
26
|
-
libxml2-dev \
|
|
27
|
-
libzip-dev \
|
|
28
20
|
libonig-dev \
|
|
21
|
+
mariadb-client \
|
|
29
22
|
openssl \
|
|
30
23
|
postgresql-client-13 \
|
|
31
24
|
pv \
|
|
@@ -34,45 +27,42 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
|
|
|
34
27
|
unzip \
|
|
35
28
|
wget \
|
|
36
29
|
xfonts-75dpi \
|
|
37
|
-
xfonts-base
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
&&
|
|
42
|
-
&&
|
|
43
|
-
&&
|
|
44
|
-
&&
|
|
45
|
-
&&
|
|
46
|
-
&&
|
|
47
|
-
&&
|
|
48
|
-
&&
|
|
49
|
-
&&
|
|
50
|
-
&&
|
|
51
|
-
&&
|
|
52
|
-
&&
|
|
53
|
-
&&
|
|
54
|
-
&&
|
|
55
|
-
&&
|
|
56
|
-
&&
|
|
57
|
-
&&
|
|
58
|
-
&&
|
|
59
|
-
&&
|
|
60
|
-
&&
|
|
61
|
-
&&
|
|
62
|
-
&&
|
|
63
|
-
&&
|
|
64
|
-
&&
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
&&
|
|
69
|
-
|
|
70
|
-
|
|
30
|
+
xfonts-base
|
|
31
|
+
|
|
32
|
+
RUN \
|
|
33
|
+
install-php-extensions @fix_letsencrypt \
|
|
34
|
+
&& install-php-extensions apcu \
|
|
35
|
+
&& install-php-extensions bcmath \
|
|
36
|
+
&& install-php-extensions bz2 \
|
|
37
|
+
&& install-php-extensions calendar \
|
|
38
|
+
&& install-php-extensions exif \
|
|
39
|
+
&& install-php-extensions gd \
|
|
40
|
+
&& install-php-extensions gettext \
|
|
41
|
+
&& install-php-extensions imagick \
|
|
42
|
+
&& install-php-extensions imap \
|
|
43
|
+
&& install-php-extensions intl \
|
|
44
|
+
&& install-php-extensions ldap \
|
|
45
|
+
&& install-php-extensions mbstring \
|
|
46
|
+
&& install-php-extensions memcached \
|
|
47
|
+
&& install-php-extensions mysqli \
|
|
48
|
+
&& install-php-extensions oauth \
|
|
49
|
+
&& install-php-extensions opcache \
|
|
50
|
+
&& install-php-extensions pcntl \
|
|
51
|
+
&& install-php-extensions pdo \
|
|
52
|
+
&& install-php-extensions pdo_mysql \
|
|
53
|
+
&& install-php-extensions pdo_pgsql \
|
|
54
|
+
&& install-php-extensions redis \
|
|
55
|
+
&& install-php-extensions soap \
|
|
56
|
+
&& install-php-extensions xhprof \
|
|
57
|
+
&& install-php-extensions zip
|
|
58
|
+
|
|
59
|
+
# Install xdebug but disable it by default
|
|
60
|
+
RUN install-php-extensions xdebug \
|
|
61
|
+
&& rm -f /usr/local/etc/php/conf.d/*xdebug.ini
|
|
62
|
+
|
|
63
|
+
RUN \
|
|
64
|
+
chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
|
|
71
65
|
&& apt-get -y clean \
|
|
72
66
|
&& apt-get -y autoclean \
|
|
73
67
|
&& apt-get -y autoremove \
|
|
74
|
-
&& rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/*
|
|
75
|
-
&& PHP_OPENSSL=yes docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
|
|
76
|
-
&& docker-php-ext-install imap \
|
|
77
|
-
&& docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \
|
|
78
|
-
&& docker-php-ext-install gd
|
|
68
|
+
&& rm -rf /var/lib/apt/lists/* && rm -rf && rm -rf /var/lib/cache/* && rm -rf /var/lib/log/* && rm -rf /tmp/*
|