Forráskód Böngészése

Merged in FD3-400 (pull request #28)

FD3-400 Config geoserver docker
Guillermo Espinoza 7 éve
szülő
commit
07439b1b18
1 módosított fájl, 44 hozzáadás és 2 törlés
  1. 44 2
      tools/src/Release.php

+ 44 - 2
tools/src/Release.php

@@ -189,7 +189,16 @@ class Release extends Command
                 'HOST_ENV' => false,
                 'OAUTH' => false,
                 'MODULE_INSTALL' => true
-            )
+            ),
+            "geoserver" => array(
+                'HOST_ENV' => true,
+                "VAR_ENV" => array(
+                    'VIRTUAL_HOST' => '',
+                    'HTTPS_METHOD' => 'nohttps',
+                ),
+                'OAUTH' => false,
+                'MODULE_INSTALL' => true
+            ),
         );
     }
 
@@ -592,6 +601,8 @@ class Release extends Command
             ->image($registry . "fd3/supervisord:$version")
             ->privileged(true)
             ->restart($this->_docker_restart_default)
+            ->addLinks("geoserver")
+            ->addLinks("nginx", $this->getDomain("geoserver"))
             ->addVolumes("./extra/supervisord/", "/etc/supervisord/")
             ->addVolumes("./extra/supervisord/var/", "/var/log/supervisor/")
             ->addVolumes("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
@@ -835,10 +846,38 @@ class Release extends Command
         ->addLinks("base")
         ->addLinks("amqp")
         ->addLinks("nginx", $this->getDomain("base"))
+        ->addLinks("geoserver")
+        ->addLinks("nginx", $this->getDomain("geoserver"))
         ->addEnv_file("running.env")
         ->addEnv_file("host.env")
         ->addEnviroment("AMQP_KEY", "stats")
-        ->addVolumes("./stats/", "/opt/stats");
+        ->addVolumes("./stats/", "/opt/stats")
+        ->addVolumes("./geoserver/geoserver-shapes", "/var/www/shapes")
+        ;
+    }
+
+    /**
+    * @param FileFormat2 $composer
+    * @param array $config
+    */
+    public function addGeoserver(FileFormat2 $composer, $config = array())
+    {
+        $version = "latest";
+        $registry = "";
+        extract($config);
+
+        $composer
+        ->addService("geoserver")
+        ->image($registry . "fd3/geoserver:" . $version)
+        ->build("./extra/geoserver/")
+        ->restart($this->_docker_restart_default)
+        ->addLinks("nginx", $this->getDomain("geoserver"))
+        ->addEnv_file("running.env")
+        ->addEnv_file("host.env")
+        ->addVolumes("./extra/geoserver/geoserver-data/styles", "/opt/geoserver/data_dir/styles")
+        ->addVolumes("./geoserver/geoserver-shapes", "/var/www/shapes")
+        ->addPorts(8081, 8080)
+        ;
     }
 
 
@@ -881,6 +920,9 @@ class Release extends Command
         $this->addSupervisord($composer, $base_vars);
         $this->addCommandWorkers($composer, $base_vars);
 
+        // Geoserver
+        $this->addGeoserver($composer, $base_vars);
+
         $this->_dObj->file("docker-compose.yml")->content($composer->render());
 
         // escribo un archivo inventory.ini por defecto para no tener que lanzar los docker