@@ -5,6 +5,7 @@ const path = require('path');
55const yaml = require ( 'js-yaml' ) ;
66const uuid = require ( 'uuid' ) ;
77const { spawn} = require ( 'child_process' ) ;
8+ const { getHost, getEnv} = require ( '../../util' ) ;
89
910// generates new base name for deployment
1011const generateBaseName = ( { username, config} ) =>
@@ -63,9 +64,9 @@ const updateCompose = ({username, baseName, serverConfig, composePath}) => {
6364} ;
6465
6566// function to execute docker-compose file and return the output
66- const executeCompose = ( { cmd, resultStream, tempDockerDir, folder, writeStatus} ) =>
67+ const executeCompose = ( { cmd, resultStream, tempDockerDir, folder, writeStatus, env = { } } ) =>
6768 new Promise ( resolve => {
68- const dc = spawn ( 'docker-compose' , cmd , { cwd : path . join ( tempDockerDir , folder ) } ) ;
69+ const dc = spawn ( 'docker-compose' , cmd , { cwd : path . join ( tempDockerDir , folder ) , env : { ... process . env , ... env } } ) ;
6970 const log = [ ] ;
7071
7172 dc . stdout . on ( 'data' , data => {
@@ -137,9 +138,15 @@ exports.executeTemplate = async ({
137138 util . logger . debug ( 'Compose modified:' , composeConfig ) ;
138139 util . writeStatus ( resultStream , { message : 'Compose file modified' , data : composeConfig , level : 'verbose' } ) ;
139140
141+ // generate host
142+ const host = getHost ( { serverConfig, name : baseName , config} ) ;
143+ const env = getEnv ( { username, config, name : baseName , host} )
144+ . reduce ( ( merged , [ key , value ] ) => ( { ...merged , [ key ] : value } ) , { } ) ;
145+
140146 // re-build images if needed
141147 const { code : buildExitCode , log : buildLog } = await executeCompose ( {
142148 cmd : [ '--project-name' , baseName , 'build' ] ,
149+ env,
143150 resultStream,
144151 tempDockerDir,
145152 folder,
@@ -179,6 +186,7 @@ exports.executeTemplate = async ({
179186 // execute compose 'up -d'
180187 const exitCode = await executeCompose ( {
181188 cmd : [ '--project-name' , baseName , 'up' , '-d' ] ,
189+ env,
182190 resultStream,
183191 tempDockerDir,
184192 folder,
0 commit comments