diff --git a/app/config/environments.php b/app/config/environments.php index 11773eed4..9119bee33 100644 --- a/app/config/environments.php +++ b/app/config/environments.php @@ -6,6 +6,7 @@ return [ 'version' => '14.5', 'base' => 'node:14.5-alpine', 'image' => 'appwrite/env-node-14.5:1.0.0', + 'build' => '/usr/src/code/docker/environments/node-14.5', 'logo' => 'node.png', ], 'php-7.4' => [ @@ -13,6 +14,7 @@ return [ 'version' => '7.4', 'base' => 'php:7.4-cli-alpine', 'image' => 'appwrite/env-php-7.4:1.0.0', + 'build' => '/usr/src/code/docker/environments/php-7.4', 'logo' => 'php.png', ], 'php-8.0' => [ @@ -20,6 +22,7 @@ return [ 'version' => '8.0', 'base' => 'php:8.0-cli-alpine', 'image' => 'appwrite/env-php-8.0:1.0.0', + 'build' => '/usr/src/code/docker/environments/php-8.0', 'logo' => 'php.png', ], 'ruby-2.7' => [ @@ -27,6 +30,7 @@ return [ 'version' => '2.7', 'base' => 'ruby:2.7-alpine', 'image' => 'appwrite/env-ruby-2.7:1.0.2', + 'build' => '/usr/src/code/docker/environments/ruby-2.7', 'logo' => 'ruby.png', ], 'python-3.8' => [ @@ -34,6 +38,7 @@ return [ 'version' => '3.8', 'base' => 'python:3.8-alpine', 'image' => 'appwrite/env-python-3.8:1.0.0', + 'build' => '/usr/src/code/docker/environments/python-3.8', 'logo' => 'python.png', ], 'deno-1.2' => [ @@ -41,6 +46,7 @@ return [ 'version' => '1.2', 'base' => 'hayd/deno:alpine-1.2.0', 'image' => 'appwrite/env-deno-1.2:1.0.0', + 'build' => '/usr/src/code/docker/environments/deno-1.2', 'logo' => 'deno.png', ], 'deno-1.5' => [ @@ -48,6 +54,7 @@ return [ 'version' => '1.5', 'base' => 'hayd/deno:alpine-1.5.0', 'image' => 'appwrite/env-deno-1.5:1.0.0', + 'build' => '/usr/src/code/docker/environments/deno-1.5', 'logo' => 'deno.png', ], // 'dart-2.8' => [ @@ -55,6 +62,7 @@ return [ // 'version' => '2.8', // 'base' => 'google/dart:2.8', // 'image' => 'appwrite/env-dart:2.8', + // 'build' => '/usr/src/code/docker/environments/dart-2.8', // 'logo' => 'dart.png', // ], ]; \ No newline at end of file diff --git a/app/workers/functions.php b/app/workers/functions.php index 510aed092..37bf303d8 100644 --- a/app/workers/functions.php +++ b/app/workers/functions.php @@ -39,7 +39,12 @@ Co\run(function() use ($environments) { // Warmup: make sure images are ready t Console::info('Warming up '.$environment['name'].' environment...'); - Console::execute('docker pull '.$environment['image'], '', $stdout, $stderr); + if(App::isDevelopment()) { + Console::execute('docker build '.$environment['build'].' -t '.$environment['image'], '', $stdout, $stderr); + } + else { + Console::execute('docker pull '.$environment['image'], '', $stdout, $stderr); + } if(!empty($stdout)) { Console::log($stdout); diff --git a/docker-compose.yml b/docker-compose.yml index d3d021fd7..f80768dd7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -269,6 +269,7 @@ services: - appwrite-functions:/storage/functions:rw - /tmp:/tmp:rw - ./app:/usr/src/code/app + - ./docker:/usr/src/code/docker - ./src:/usr/src/code/src depends_on: - redis