Stats_cmd.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace FD3\Services;
  3. use Docker\Composer\FileFormat;
  4. use FD3\Release;
  5. class Stats_cmd extends InitialService
  6. {
  7. /**
  8. * @var int ip server
  9. */
  10. protected $ip_server = 24;
  11. /**
  12. * Stats_command_worker constructor.
  13. */
  14. public function __construct()
  15. {
  16. $this
  17. ->setHelp("Modulo de comandos del stats")
  18. ->setHostEnv(false)
  19. ->setVarEnv([])
  20. ->setOauth(false)
  21. ->setRequired(true)
  22. ->setDepends(['stats']);
  23. }
  24. /**
  25. * Add config
  26. * @throws \Docker\Composer\ServiceNotFoundException
  27. */
  28. public function add()
  29. {
  30. $module = "stats_command";
  31. $version = "latest";
  32. $registry = "";
  33. $host_env_file = "";
  34. extract($this->getConfigVar());
  35. if ($this->getRelease()->needInstallModule($module)) {
  36. $this->getComposer()->addService($module)
  37. ->image($registry . "fd3/$module:" . $version);
  38. if ($this->getProduction() === false) {
  39. $this->getComposer()->service($module)
  40. ->build("./$module/")
  41. ->addVolumes("./$module/", "/opt/$module/");
  42. }
  43. $this->getComposer()->service($module)
  44. ->hostname($module)
  45. ->restart($this->getRelease()->_docker_restart_task)
  46. ->addEnv_file($this->getRelease()->_host_env)
  47. ->addEnviroment("DEV_MODE", $this->getProduction() === false ? 1 : 0)
  48. ->addEnv_file("mysql." . $host_env_file)
  49. ->addVolumes("/etc/localtime:/etc/localtime:ro")
  50. ->network($this->getRelease()->_network_name)->ipv4_address($this->generateIP());
  51. if ($this->getRelease()->isModuleAvailable(new Geoserver())) {
  52. $this->getComposer()->service($module)
  53. ->addVolumes("./geoserver/geoserver-shapes", "/var/www/shapes");
  54. }
  55. $this->addLink(new Mysql(), $module)
  56. ->addLink(new Redis(), $module)
  57. ->addLink(new Amqp(), $module);
  58. }
  59. }
  60. }