@fishawack/lab-env 4.37.0 → 4.38.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  ## Changelog
2
2
 
3
+ ### 4.38.0 (2024-11-21)
4
+
5
+ #### Features
6
+
7
+ * ability to override nginx config for adonis ([7b301fa](https://bitbucket.org/fishawackdigital/lab-env/commits/7b301fa090bf0a7857f4eca4318365419452d157))
8
+ * **adonis:** can now override base node image on adonis builds ([4a27372](https://bitbucket.org/fishawackdigital/lab-env/commits/4a27372b45644717f848e3d8cdce0e404ffa59cf))
9
+ * can now provide a docker-compose in _Docker dir to append to standard config ([0a9d97d](https://bitbucket.org/fishawackdigital/lab-env/commits/0a9d97d91807fa4a55f1b0c036aedf579c88371b))
10
+
11
+ #### Bug Fixes
12
+
13
+ * **adonis:** added software and post deploy scripts to default adonis deployments ([cc67d65](https://bitbucket.org/fishawackdigital/lab-env/commits/cc67d6517eee03b0a0a409416617656057c83204))
14
+
3
15
  ### 4.37.0 (2024-10-22)
4
16
 
5
17
  #### Features
@@ -24,7 +24,12 @@ services:
24
24
  ports:
25
25
  - "${PORT_WEB:-8000}:80"
26
26
  node:
27
- image: node:20.6
27
+ build:
28
+ context: $FW_ADONIS_0_NODE_CONTEXT
29
+ args:
30
+ version: 20.6
31
+ image: node
32
+ image: ${FW_ADONIS_0_NODE_IMAGE:-node}:${FW_ADONIS_0_NODE_VERSION:-20.6}
28
33
  working_dir: /app
29
34
  restart: always
30
35
  networks:
@@ -461,7 +461,10 @@ module.exports.eb = {
461
461
  adonis: {
462
462
  platform: "nginx",
463
463
  language: "node",
464
- shared: [],
464
+ shared: [
465
+ '.ebextensions/adonis/post-deploy.config',
466
+ '.ebextensions/adonis/software.config',
467
+ ],
465
468
  low: [],
466
469
  high: [],
467
470
  },
@@ -1,6 +1,4 @@
1
1
  container_commands:
2
2
  10-db-import:
3
- command: echo 'leader only'
4
- leader_only: true
5
- 20-clear-cache:
6
- command: ls
3
+ command: node ace migration:run --force
4
+ leader_only: true
@@ -1,5 +1,3 @@
1
1
  option_settings:
2
- aws:elasticbeanstalk:application:environment
3
- PORT: 5000
4
2
  aws:elasticbeanstalk:environment:proxy:
5
3
  ProxyServer: nginx
package/globals.js CHANGED
@@ -153,6 +153,7 @@ process.env.FW_CORE_1_IMAGE = process.env.FW_CORE_1_IMAGE || `fishawack/lab-env-
153
153
 
154
154
  process.env.FW_LARAVEL_8_NGINX_IMAGE = process.env.FW_LARAVEL_8_NGINX_IMAGE || `fishawack/lab-env-laravel-8-nginx`;
155
155
  process.env.FW_ADONIS_0_NGINX_IMAGE = process.env.FW_ADONIS_0_NGINX_IMAGE || `fishawack/lab-env-adonis-0-nginx`;
156
+ process.env.FW_ADONIS_0_NODE_IMAGE = process.env.FW_ADONIS_0_NODE_IMAGE || ``;
156
157
 
157
158
  var core = `-f ${__dirname}/core/${process.env.VERSION}/docker-compose.yml`;
158
159
 
@@ -170,6 +171,7 @@ process.env.FW_WORDPRESS_0_VERSION = process.env.FW_WORDPRESS_0_VERSION || requi
170
171
  process.env.FW_WORDPRESS_1_PHP_VERSION = process.env.FW_WORDPRESS_1_PHP_VERSION || require('./wordpress/1/php/package.json').version;
171
172
  process.env.FW_WORDPRESS_1_APACHE_VERSION = process.env.FW_WORDPRESS_1_APACHE_VERSION || require('./wordpress/1/apache/package.json').version;
172
173
  process.env.FW_ADONIS_0_NGINX_VERSION = process.env.FW_ADONIS_0_NGINX_VERSION || require('./adonis/0/nginx/package.json').version;
174
+ process.env.FW_ADONIS_0_NODE_VERSION = process.env.FW_ADONIS_0_NODE_VERSION || '';
173
175
 
174
176
  // Map docker contexts
175
177
  process.env.FW_CORE_1_CONTEXT = process.env.FW_CORE_1_CONTEXT || `${__dirname}/core/1/`;
@@ -189,28 +191,52 @@ if(existsSync(path.join(contextOverride, 'Dockerfile'))){
189
191
  process.env.FW_LARAVEL_8_NGINX_VERSION = require(`${contextOverride}/package.json`).version;
190
192
  }
191
193
 
194
+ // ADONIS
192
195
  process.env.FW_ADONIS_0_NGINX_CONTEXT = process.env.FW_ADONIS_0_NGINX_CONTEXT || `${__dirname}/adonis/0/nginx/`;
193
196
 
197
+ contextOverride = path.join(cwd, '_Docker/adonis/0/nginx');
198
+ if(existsSync(path.join(contextOverride, 'Dockerfile'))){
199
+ process.env.FW_ADONIS_0_NGINX_CONTEXT = contextOverride;
200
+ process.env.FW_ADONIS_0_NGINX_IMAGE += `-${repo_safe}`;
201
+ process.env.FW_ADONIS_0_NGINX_VERSION = require(`${contextOverride}/package.json`).version;
202
+ }
203
+
204
+ process.env.FW_ADONIS_0_NODE_CONTEXT = process.env.FW_ADONIS_0_NODE_CONTEXT || ``;
205
+
206
+ contextOverride = path.join(cwd, '_Docker/adonis/0/node');
207
+ if(existsSync(path.join(contextOverride, 'Dockerfile'))){
208
+ process.env.FW_ADONIS_0_NODE_CONTEXT = contextOverride;
209
+ process.env.FW_ADONIS_0_NODE_IMAGE = `fishawack/lab-env-adonis-0-node-${repo_safe}`;
210
+ process.env.FW_ADONIS_0_NODE_VERSION = require(`${contextOverride}/package.json`).version;
211
+ }
212
+
213
+ // Copy env.example if .env doesnt exist
194
214
  if(existsSync(path.join(cwd, '.env.example')) && !existsSync(path.join(cwd, '.env'))){
195
215
  copyFileSync(path.join(cwd, '.env.example'), path.join(cwd, '.env'));
196
216
  }
197
217
 
218
+ // If docker-compose.yml exists in project _Docker folder append to end
219
+ let localOverride = '';
220
+ if(existsSync(path.join(cwd, '_Docker/docker-compose.yml'))){
221
+ localOverride = `-f ${path.join(cwd, '_Docker/docker-compose.yml')}`;
222
+ }
223
+
198
224
  if(platform === 'laravel'){
199
225
  let container = `-f ${__dirname}/laravel/${process.env.VERSION_LARAVEL}/docker-compose.yml`;
200
226
 
201
- docker = `docker compose --env-file ${path.join(cwd, '.env')} ${container} ${core} -p ${repo_safe}`;
227
+ docker = `docker compose --env-file ${path.join(cwd, '.env')} ${container} ${core} ${localOverride} -p ${repo_safe}`;
202
228
  } else if(platform === 'wordpress'){
203
- docker = `docker compose --env-file ${path.join(cwd, '.env')} -f ${__dirname}/wordpress/${process.env.VERSION_WORDPRESS}/docker-compose.yml ${core} -p ${repo_safe}`;
229
+ docker = `docker compose --env-file ${path.join(cwd, '.env')} -f ${__dirname}/wordpress/${process.env.VERSION_WORDPRESS}/docker-compose.yml ${core} ${localOverride} -p ${repo_safe}`;
204
230
  } else if(platform === "drupal"){
205
231
  let container = `-f ${__dirname}/drupal/9/docker-compose.yml`;
206
232
 
207
- docker = `docker compose --env-file ${path.join(cwd, '.env')} ${container} ${core} -p ${repo_safe}`;
233
+ docker = `docker compose --env-file ${path.join(cwd, '.env')} ${container} ${core} ${localOverride} -p ${repo_safe}`;
208
234
  } else if(platform === "craftcms"){
209
- docker = `docker compose --env-file ${path.join(cwd, '.env')} -f ${__dirname}/craftcms/3/docker-compose.yml ${core} -p ${repo_safe}`;
235
+ docker = `docker compose --env-file ${path.join(cwd, '.env')} -f ${__dirname}/craftcms/3/docker-compose.yml ${core} ${localOverride} -p ${repo_safe}`;
210
236
  } else if(platform === "adonis"){
211
- docker = `docker compose --env-file ${path.join(cwd, '.env')} -f ${__dirname}/adonis/0/docker-compose.yml ${core} -p ${repo_safe}`;
237
+ docker = `docker compose --env-file ${path.join(cwd, '.env')} -f ${__dirname}/adonis/0/docker-compose.yml ${core} ${localOverride} -p ${repo_safe}`;
212
238
  } else {
213
- docker = `docker compose ${core} -p ${repo_safe}`;
239
+ docker = `docker compose ${core} ${localOverride} -p ${repo_safe}`;
214
240
  }
215
241
 
216
242
  try{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fishawack/lab-env",
3
- "version": "4.37.0",
3
+ "version": "4.38.0",
4
4
  "description": "Docker manager for FW",
5
5
  "main": "cli.js",
6
6
  "scripts": {