Nginx.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace FD3\Services;
  3. use Docker\Composer\FileFormat2;
  4. use FD3\Release;
  5. class Nginx extends InitialService
  6. {
  7. /**
  8. * Nginx constructor.
  9. */
  10. public function __construct()
  11. {
  12. $this
  13. ->setHelp("Modulo de nginx")
  14. ->setHostEnv(false)
  15. ->setVarEnv([])
  16. ->setOauth(false)
  17. ->setRequired(true)
  18. ->setDepends(['base']);
  19. }
  20. /**
  21. * @param Release $release
  22. * @param FileFormat2 $composer
  23. * @param array $config
  24. */
  25. public function add(Release $release, FileFormat2 $composer, $config = array())
  26. {
  27. $module = $this->getModuleName();
  28. $version = "latest";
  29. $registry = "";
  30. $host_env_file = "";
  31. extract($config);
  32. $composer
  33. ->addService($module)
  34. ->build("extra/nginx/")
  35. ->image($registry . "fd3/$module:" . $version)
  36. ->addEnv_file($host_env_file)
  37. ->restart($release->_docker_restart_default)
  38. ->addPorts(80, 80)
  39. ->addPorts(443, 443)
  40. ->addVolumes("./base/", "/opt/base")
  41. ->addVolumes("./ftth/", "/opt/ftth")
  42. ->addVolumes("./radius/", "/opt/radius")
  43. ->addVolumes("./stats/", "/opt/stats")
  44. ->addVolumes("./cablemodem/", "/opt/cablemodem")
  45. ->addVolumes("./dhcp/", "/opt/dhcp")
  46. ->addVolumes('./extra/api/', '/opt/api')
  47. ->addVolumes("/var/run/docker.sock", "/tmp/docker.sock:ro")
  48. ->addVolumes("pma_volumen", "/opt/pma")
  49. ->addVolumes("swagger_volumen", "/opt/swagger")
  50. ->addVolumes("./extra/nginx/certs", "/etc/nginx/certs:ro")
  51. ->addVolumes("./extra/nginx/conf.d", "/etc/nginx/conf.d")
  52. ->addVolumes("./extra/nginx/share", "/usr/share/nginx/html");
  53. }
  54. }