|
@@ -0,0 +1,54 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace FD3\Services;
|
|
|
+
|
|
|
+use Docker\Composer\FileFormat2;
|
|
|
+use FD3\Release;
|
|
|
+
|
|
|
+class Extra extends InitialService
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * Base constructor.
|
|
|
+ */
|
|
|
+ public function __construct()
|
|
|
+ {
|
|
|
+ $this
|
|
|
+ ->setHelp("Modulo extras")
|
|
|
+ ->setHostEnv(false)
|
|
|
+ ->setVarEnv([])
|
|
|
+ ->setOauth(false)
|
|
|
+ ->setRequired(true)
|
|
|
+ ->setDepends([]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param Release $release
|
|
|
+ * @param FileFormat2 $composer
|
|
|
+ * @param array $config
|
|
|
+ * @throws \Docker\Composer\ServiceNotFoundException
|
|
|
+ */
|
|
|
+ public function add(Release $release, FileFormat2 $composer, $config = array())
|
|
|
+ {
|
|
|
+ $module = $this->getModuleName();
|
|
|
+ $version = "latest";
|
|
|
+ $registry = "";
|
|
|
+ $host_env_file = "";
|
|
|
+ extract($config);
|
|
|
+ if ($release->needInstallModule($module)) {
|
|
|
+ $composer
|
|
|
+ ->addService($module)
|
|
|
+ ->image($registry . "fd3/$module:" . $version)
|
|
|
+ ->restart($release->_docker_restart_default)
|
|
|
+ ->build("$module/")
|
|
|
+ ->addLinks($release->_mysql_link)
|
|
|
+ ->addEnv_file($release->_running_env)
|
|
|
+ ->addEnv_file($host_env_file)
|
|
|
+ ->addEnv_file($module . "." . $host_env_file)
|
|
|
+ ->addVolumes("./$module/", "/opt/$module");
|
|
|
+ $release->addNginxLinks($module, $composer);
|
|
|
+ $release->addBuild($module, $composer);
|
|
|
+ $release->writeVariablesEnviroment($module . "." . $host_env_file, $module);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|