@scandipwa/magento-scripts 2.4.0-alpha.0 → 2.4.0-alpha.2

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 (100) hide show
  1. package/exec.js +2 -2
  2. package/index.js +1 -0
  3. package/lib/commands/cli.js +17 -19
  4. package/lib/commands/execute.js +8 -4
  5. package/lib/commands/start.js +0 -6
  6. package/lib/config/docker.js +196 -79
  7. package/lib/config/get-project-configuration.js +0 -5
  8. package/lib/config/php-config.js +4 -0
  9. package/lib/config/port-config.js +47 -10
  10. package/lib/config/services/composer/versions/composer-2.8.js +1 -1
  11. package/lib/config/services/elasticsearch/default-es-env.js +1 -1
  12. package/lib/config/services/elasticsearch/versions/elasticsearch-8.17.js +14 -0
  13. package/lib/config/services/elasticsearch/versions/index.js +3 -1
  14. package/lib/config/services/mariadb/versions/index.js +3 -1
  15. package/lib/config/services/mariadb/versions/mariadb-10.2.js +3 -1
  16. package/lib/config/services/mariadb/versions/mariadb-10.3.js +3 -1
  17. package/lib/config/services/mariadb/versions/mariadb-10.4.js +3 -1
  18. package/lib/config/services/mariadb/versions/mariadb-10.6.js +3 -1
  19. package/lib/config/services/mariadb/versions/mariadb-11.4.js +11 -0
  20. package/lib/config/services/mariadb/versions/mariadb-11.6.js +11 -0
  21. package/lib/config/services/opensearch/default-os-env.js +1 -1
  22. package/lib/config/services/opensearch/versions/index.js +3 -1
  23. package/lib/config/services/opensearch/versions/opensearch-2.19.js +14 -0
  24. package/lib/config/services/php/extensions/ftp.js +7 -0
  25. package/lib/config/services/php/extensions/xdebug.js +1 -0
  26. package/lib/config/services/php/versions/index.js +2 -1
  27. package/lib/config/services/php/versions/php-7.2.js +0 -1
  28. package/lib/config/services/php/versions/php-7.3.js +0 -1
  29. package/lib/config/services/php/versions/php-7.4.js +0 -1
  30. package/lib/config/services/php/versions/php-8.1.js +4 -2
  31. package/lib/config/services/php/versions/php-8.2.js +1 -2
  32. package/lib/config/services/php/versions/php-8.3.js +32 -0
  33. package/lib/config/services/redis/index.js +6 -1
  34. package/lib/config/services/redis/valkey-8.0.js +8 -0
  35. package/lib/config/services/redis/valkey-8.1.js +8 -0
  36. package/lib/config/services/varnish/varnish-6-0.js +1 -1
  37. package/lib/config/services/varnish/varnish-6-6.js +1 -1
  38. package/lib/config/services/varnish/varnish-7-0.js +1 -1
  39. package/lib/config/services/varnish/varnish-7-1.js +1 -1
  40. package/lib/config/services/varnish/varnish-7-3.js +1 -1
  41. package/lib/config/services/varnish/varnish-7-4.js +1 -1
  42. package/lib/config/services/varnish/varnish-7-5.js +1 -1
  43. package/lib/config/services/varnish/varnish-7-6.js +1 -1
  44. package/lib/config/templates/nginx.template.conf +32 -9
  45. package/lib/config/templates/php-fpm.template.conf +1 -1
  46. package/lib/config/templates/ssl-terminator.template.conf +3 -1
  47. package/lib/config/versions/magento-2.4.4-p13.js +40 -0
  48. package/lib/config/versions/magento-2.4.5-p12.js +40 -0
  49. package/lib/config/versions/magento-2.4.6-p10.js +40 -0
  50. package/lib/config/versions/magento-2.4.7-p4.js +0 -1
  51. package/lib/config/versions/magento-2.4.7-p5.js +41 -0
  52. package/lib/config/versions/magento-2.4.8.js +43 -0
  53. package/lib/tasks/database/create-magento-database.js +6 -4
  54. package/lib/tasks/database/import-remote-db/ssh/index.js +1 -1
  55. package/lib/tasks/database/import-remote-db/ssh/readymage.js +1 -1
  56. package/lib/tasks/database/import-remote-db/ssh/regular-server.js +1 -1
  57. package/lib/tasks/docker/containers/container-api.d.ts +14 -3
  58. package/lib/tasks/docker/containers/container-api.js +16 -9
  59. package/lib/tasks/docker/containers/tasks.js +99 -28
  60. package/lib/tasks/docker/convert-mysql-to-mariadb.js +14 -22
  61. package/lib/tasks/docker/project-image-builder.js +153 -91
  62. package/lib/tasks/docker/system/system-api.d.ts +66 -0
  63. package/lib/tasks/docker/system/system-api.js +28 -1
  64. package/lib/tasks/execute.js +10 -10
  65. package/lib/tasks/file-system/create-nginx-config.js +22 -8
  66. package/lib/tasks/file-system/create-php-debug-config.js +1 -2
  67. package/lib/tasks/file-system/create-php-fpm-debug-config.js +33 -0
  68. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +5 -5
  69. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +2 -2
  70. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +4 -3
  71. package/lib/tasks/file-system/create-ssl-terminator-config.js +46 -7
  72. package/lib/tasks/file-system/index.js +2 -0
  73. package/lib/tasks/magento/install-magento-project.js +40 -24
  74. package/lib/tasks/magento/setup-magento/check-file-permissions.php +32 -0
  75. package/lib/tasks/magento/setup-magento/index.js +2 -0
  76. package/lib/tasks/magento/setup-magento/make-magento-binaries-executable.js +44 -0
  77. package/lib/tasks/magento/setup-magento/setup-file-permissions.js +160 -0
  78. package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +0 -1
  79. package/lib/tasks/php/php-container.d.ts +3 -3
  80. package/lib/tasks/php/php-container.js +22 -18
  81. package/lib/tasks/php/update-env-php.js +7 -14
  82. package/lib/tasks/project-config/index.js +0 -3
  83. package/lib/tasks/requirements/cgroup-version.js +69 -0
  84. package/lib/tasks/requirements/elasticsearch-version.js +23 -7
  85. package/lib/tasks/requirements/index.js +3 -0
  86. package/lib/tasks/requirements/opensearch-version.js +5 -5
  87. package/lib/tasks/requirements/searchengine-version.js +1 -2
  88. package/lib/tasks/start.js +2 -13
  89. package/lib/util/dockerfile-builder/build-instructions.js +5 -1
  90. package/lib/util/dockerfile-builder/types.d.ts +1 -1
  91. package/lib/util/execute-in-container.js +14 -8
  92. package/lib/util/get-installed-magento-version.js +60 -2
  93. package/lib/util/portscanner.js +3 -3
  94. package/lib/util/run-composer.js +1 -1
  95. package/lib/util/run-magento.js +2 -1
  96. package/lib/util/run-php.js +2 -1
  97. package/lib/util/set-config.js +4 -2
  98. package/package.json +16 -16
  99. package/typings/context.d.ts +13 -5
  100. package/typings/index.d.ts +10 -5
@@ -3,7 +3,9 @@
3
3
  */
4
4
  const mariadb102 = () => ({
5
5
  image: 'mariadb:10.2',
6
- useOptimizerSwitch: false
6
+ useOptimizerSwitch: false,
7
+ binFileName: 'mysql',
8
+ binAdminFileName: 'mysqladmin'
7
9
  })
8
10
 
9
11
  module.exports = mariadb102
@@ -3,7 +3,9 @@
3
3
  */
4
4
  const mariadb103 = () => ({
5
5
  image: 'mariadb:10.3',
6
- useOptimizerSwitch: false
6
+ useOptimizerSwitch: false,
7
+ binFileName: 'mysql',
8
+ binAdminFileName: 'mysqladmin'
7
9
  })
8
10
 
9
11
  module.exports = mariadb103
@@ -3,7 +3,9 @@
3
3
  */
4
4
  const mariadb104 = () => ({
5
5
  image: 'mariadb:10.4',
6
- useOptimizerSwitch: true
6
+ useOptimizerSwitch: true,
7
+ binFileName: 'mysql',
8
+ binAdminFileName: 'mysqladmin'
7
9
  })
8
10
 
9
11
  module.exports = mariadb104
@@ -3,7 +3,9 @@
3
3
  */
4
4
  const mariadb106 = () => ({
5
5
  image: 'mariadb:10.6',
6
- useOptimizerSwitch: true
6
+ useOptimizerSwitch: true,
7
+ binFileName: 'mysql',
8
+ binAdminFileName: 'mysqladmin'
7
9
  })
8
10
 
9
11
  module.exports = mariadb106
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').MariaDBConfiguration}
3
+ */
4
+ const mariadb114 = () => ({
5
+ image: 'mariadb:11.4',
6
+ useOptimizerSwitch: true,
7
+ binFileName: 'mariadb',
8
+ binAdminFileName: 'mariadb-admin'
9
+ })
10
+
11
+ module.exports = mariadb114
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').MariaDBConfiguration}
3
+ */
4
+ const mariadb116 = () => ({
5
+ image: 'mariadb:11.6',
6
+ useOptimizerSwitch: true,
7
+ binFileName: 'mariadb',
8
+ binAdminFileName: 'mariadb-admin'
9
+ })
10
+
11
+ module.exports = mariadb116
@@ -4,7 +4,7 @@
4
4
  module.exports = {
5
5
  'bootstrap.memory_lock': true,
6
6
  'discovery.type': 'single-node',
7
- OPENSEARCH_JAVA_OPTS: '-Xms512m -Xmx2048m',
7
+ OPENSEARCH_JAVA_OPTS: '-Xms2g -Xmx2g',
8
8
  DISABLE_SECURITY_PLUGIN: true,
9
9
  DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI: true
10
10
  }
@@ -2,10 +2,12 @@ const opensearch12 = require('./opensearch-1.2')
2
2
  const opensearch13 = require('./opensearch-1.3')
3
3
  const opensearch25 = require('./opensearch-2.5')
4
4
  const opensearch212 = require('./opensearch-2.12')
5
+ const opensearch219 = require('./opensearch-2.19')
5
6
 
6
7
  module.exports = {
7
8
  opensearch12,
8
9
  opensearch13,
9
10
  opensearch25,
10
- opensearch212
11
+ opensearch212,
12
+ opensearch219
11
13
  }
@@ -0,0 +1,14 @@
1
+ const defaultEnv = require('../default-os-env')
2
+
3
+ /**
4
+ * @returns {import('../../../../../typings/index').OpenSearchSearchConfiguration}
5
+ */
6
+ const opensearch219 = () => ({
7
+ image: 'opensearchproject/opensearch:2.19.1',
8
+ env: {
9
+ ...defaultEnv,
10
+ 'indices.id_field_data.enabled': true
11
+ }
12
+ })
13
+
14
+ module.exports = opensearch219
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @type {import('../../../../../typings/index').PHPExtensionInstallationInstruction}
3
+ */
4
+ module.exports = {
5
+ name: 'ftp',
6
+ command: 'docker-php-ext-install ftp'
7
+ }
@@ -7,6 +7,7 @@ module.exports = {
7
7
  command: ({
8
8
  version = ''
9
9
  }) => `apk add --no-cache --virtual .build-deps \\$PHPIZE_DEPS \
10
+ && apk add --no-cache linux-headers \
10
11
  && pecl install xdebug${version ? `-${version}` : ''} \
11
12
  && docker-php-ext-enable xdebug \
12
13
  && apk del -f .build-deps`,
@@ -3,5 +3,6 @@ module.exports = {
3
3
  php73: require('./php-7.3'),
4
4
  php74: require('./php-7.4'),
5
5
  php81: require('./php-8.1'),
6
- php82: require('./php-8.2')
6
+ php82: require('./php-8.2'),
7
+ php83: require('./php-8.3')
7
8
  }
@@ -16,7 +16,6 @@ const php72 = ({
16
16
  baseImage = `${repo}:php-7.2`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
@@ -16,7 +16,6 @@ const php73 = ({
16
16
  baseImage = `${repo}:php-7.3`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
@@ -16,7 +16,6 @@ const php74 = ({
16
16
  baseImage = `${repo}:php-7.4`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
@@ -16,12 +16,14 @@ const php81 = ({
16
16
  baseImage = `${repo}:php-8.1`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
23
22
  extensions: {
24
- xdebug,
23
+ xdebug: {
24
+ ...xdebug,
25
+ version: '3.4.2'
26
+ },
25
27
  ...extensions
26
28
  },
27
29
  env: defaultPhpEnv
@@ -16,14 +16,13 @@ const php82 = ({
16
16
  baseImage = `${repo}:php-8.2`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
23
22
  extensions: {
24
23
  xdebug: {
25
24
  ...xdebug,
26
- version: '3.2.1'
25
+ version: '3.4.2'
27
26
  },
28
27
  ...extensions
29
28
  },
@@ -0,0 +1,32 @@
1
+ const path = require('path')
2
+ const { repo } = require('../base-repo')
3
+ const xdebug = require('../extensions/xdebug')
4
+ const defaultPhpEnv = require('../default-php-env')
5
+
6
+ /**
7
+ * @param {Object} param0
8
+ * @param {string} param0.templateDir
9
+ * @param {import('../../../../../typings/index').PHPExtensions} [param0.extensions]
10
+ * @param {string} [param0.baseImage]
11
+ * @returns {import('../../../../../typings/index').PHPConfiguration}
12
+ */
13
+ const php83 = ({
14
+ templateDir,
15
+ extensions = {},
16
+ baseImage = `${repo}:php-8.3`
17
+ }) => ({
18
+ baseImage,
19
+ configTemplate: path.join(templateDir || '', 'php.template.ini'),
20
+ fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
21
+ debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
22
+ extensions: {
23
+ xdebug: {
24
+ ...xdebug,
25
+ version: '3.4.2'
26
+ },
27
+ ...extensions
28
+ },
29
+ env: defaultPhpEnv
30
+ })
31
+
32
+ module.exports = php83
@@ -1,7 +1,12 @@
1
+ const valkey80 = require('./valkey-8.0')
2
+ const valkey81 = require('./valkey-8.1')
3
+
1
4
  module.exports = {
2
5
  redis50: require('./redis-5.0'),
3
6
  redis60: require('./redis-6.0'),
4
7
  redis62: require('./redis-6.2'),
5
8
  redis70: require('./redis-7.0'),
6
- redis72: require('./redis-7.2')
9
+ redis72: require('./redis-7.2'),
10
+ valkey80,
11
+ valkey81
7
12
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../typings/index').ServiceWithImage}
3
+ */
4
+ const valkey80 = () => ({
5
+ image: 'valkey/valkey:8.0-alpine'
6
+ })
7
+
8
+ module.exports = valkey80
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../typings/index').ServiceWithImage}
3
+ */
4
+ const valkey81 = () => ({
5
+ image: 'valkey/valkey:8.1-alpine'
6
+ })
7
+
8
+ module.exports = valkey81
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish60 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:6.0',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish66 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:6.6',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish70 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.0',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish71 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.1',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish73 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.3',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish74 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.4',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish75 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.5',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish76 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.6',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -1,10 +1,37 @@
1
1
  upstream fastcgi_backend {
2
2
  # use tcp connection
3
- server <%= it.hostMachine %>:<%= it.ports.fpm %>;
3
+ server <%= it.phpNetwork %>:<%= it.fpmPort %>;
4
4
 
5
5
  keepalive 16;
6
6
  }
7
7
 
8
+ # Define available upstreams
9
+ upstream fastcgi_backend_xdebug {
10
+ server <%= it.phpWithXdebugNetwork %>:<%= it.fpmXdebugPort %>;
11
+
12
+ keepalive 16;
13
+ }
14
+
15
+ # XDebug mappings.
16
+ map $arg_XDEBUG_SESSION_START $session_arg_pass {
17
+ default fastcgi_backend;
18
+ 1 fastcgi_backend_xdebug;
19
+ }
20
+
21
+ map $cookie_XDEBUG_SESSION $cookie_arg_pass {
22
+ default $session_arg_pass;
23
+ xdebug fastcgi_backend_xdebug;
24
+ 1 fastcgi_backend_xdebug;
25
+ PHP_STORM fastcgi_backend_xdebug;
26
+ PHPSTORM fastcgi_backend_xdebug;
27
+ XDEBUG_ECLIPSE fastcgi_backend_xdebug;
28
+ }
29
+
30
+ map $arg_XDEBUG_PROFILE $xdebug_test_pass {
31
+ default $cookie_arg_pass;
32
+ 1 fastcgi_backend_xdebug;
33
+ }
34
+
8
35
  <% if (it.useStoreDomainMapping) { %>
9
36
  map $http_host $SITE_CODE_MAPPING {
10
37
  <% for (const [key, value] of Object.entries(it.storeDomains)) { %>
@@ -45,10 +72,8 @@ server {
45
72
  location ~* ^/setup($|/) {
46
73
  root $MAGE_ROOT;
47
74
  location ~ ^/setup/index.php {
48
- fastcgi_pass fastcgi_backend;
75
+ fastcgi_pass $xdebug_test_pass;
49
76
 
50
- fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
51
- fastcgi_param PHP_VALUE "memory_limit=756M \n max_execution_time=600";
52
77
  fastcgi_read_timeout 600s;
53
78
  fastcgi_connect_timeout 600s;
54
79
 
@@ -89,9 +114,9 @@ server {
89
114
  }
90
115
 
91
116
  location ~* \.(ico|jpg|jpeg|png|gif|svg|svgz|webp|avif|avifs|js|css|eot|ttf|otf|woff|woff2|html|json|webmanifest)$ {
92
- add_header Cache-Control "public";
117
+ add_header Cache-Control "no-store";
93
118
  add_header X-Frame-Options "SAMEORIGIN";
94
- expires +1y;
119
+ expires off;
95
120
 
96
121
  if (!-f $request_filename) {
97
122
  rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
@@ -167,12 +192,10 @@ server {
167
192
  # PHP entry point for main application
168
193
  location ~ ^/(index|get|static|errors/report|errors/404|errors/503|health_check|_intellij_phpdebug_validator)\.php$ {
169
194
  try_files $uri =404;
170
- fastcgi_pass fastcgi_backend;
195
+ fastcgi_pass $xdebug_test_pass;
171
196
  fastcgi_buffers 16 16k;
172
197
  fastcgi_buffer_size 32k;
173
198
 
174
- fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
175
- fastcgi_param PHP_VALUE "memory_limit=756M \n max_execution_time=18000";
176
199
  fastcgi_read_timeout 600s;
177
200
  fastcgi_connect_timeout 600s;
178
201
 
@@ -4,7 +4,7 @@ log_level = debug
4
4
 
5
5
  [www]
6
6
  clear_env = no
7
- user = nobody
7
+ user = www-data
8
8
  ;; Commented because if it is not set, php-fpm will use default group.
9
9
  ;; https://www.php.net/manual/en/install.fpm.configuration.php#group
10
10
  ; group = nobody
@@ -4,7 +4,7 @@ set_real_ip_from 172.0.0.0/8;
4
4
  real_ip_recursive on;
5
5
 
6
6
  upstream app_backend {
7
- server <%= it.hostMachine %>:<% if (!it.debug && it.config.configuration.varnish.enabled) { %><%= it.ports.varnish %><% } else { %><%= it.ports.app %><% } %>;
7
+ server <%= it.backendNetwork %>:<%= it.backendPort %>;
8
8
 
9
9
  keepalive 16;
10
10
  }
@@ -12,7 +12,9 @@ upstream app_backend {
12
12
  server {
13
13
  <% if (it.config.ssl.enabled && it.config.ssl.external_provider === false) { %> listen 443 ssl;
14
14
 
15
+ <% if (!it.isSSLDirectiveDeprecated) { %>
15
16
  ssl on;
17
+ <% } %>
16
18
  ssl_certificate /etc/nginx/conf.d/ssl_certificate.pem;
17
19
  ssl_certificate_key /etc/nginx/conf.d/ssl_certificate-key.pem;
18
20
  ssl_protocols TLSv1.2;<% } else { %>
@@ -0,0 +1,40 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.4-p13',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219()
39
+ }
40
+ })
@@ -0,0 +1,40 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.5-p12',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219()
39
+ }
40
+ })
@@ -0,0 +1,40 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.6-p10',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219()
39
+ }
40
+ })
@@ -20,7 +20,6 @@ const { opensearch212 } = require('../services/opensearch/versions')
20
20
  */
21
21
  module.exports = ({ templateDir }) => ({
22
22
  magentoVersion: '2.4.7-p4',
23
- isDefault: true,
24
23
  configuration: {
25
24
  php: php82({
26
25
  templateDir,
@@ -0,0 +1,41 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php82 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer28 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch817 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.7-p5',
23
+ configuration: {
24
+ php: php82({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.2-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch817(),
34
+ composer: composer28(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219(),
39
+ searchengine: 'opensearch'
40
+ }
41
+ })