docker-compose.yml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. version: '3'
  2. services:
  3. pbx:
  4. container_name: pbx
  5. hostname: ${APP_FQDN}
  6. build: https://gogs.halsbox.ru/hal/docker-freepbx.git
  7. image: halsbox/docker-freepbx:latest
  8. restart: always
  9. depends_on:
  10. - db
  11. env_file:
  12. - .env
  13. - app.env
  14. volumes:
  15. - /etc/localtime:/etc/localtime:ro
  16. - ${PERSISTENT_STORAGE_PATH}/pbx:/data
  17. cap_add:
  18. - NET_ADMIN
  19. privileged: true
  20. network_mode: host
  21. db:
  22. container_name: db
  23. image: mariadb:10.5.8
  24. command: --sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  25. restart: always
  26. env_file:
  27. - .env
  28. ports:
  29. - ${APP_PORT_MYSQL}:3306
  30. volumes:
  31. - /etc/localtime:/etc/localtime:ro
  32. - ${PERSISTENT_STORAGE_PATH}/db:/var/lib/mysql
  33. environment:
  34. - MYSQL_ROOT_PASSWORD
  35. - MYSQL_DATABASE
  36. - MYSQL_USER
  37. - MYSQL_PASSWORD
  38. app:
  39. container_name: app
  40. hostname: ${APP_FQDN}
  41. image: git.dela.bz/dela.bz/dela/rrt-app:22.09.30
  42. restart: always
  43. depends_on:
  44. - pbx
  45. env_file:
  46. - app.env
  47. ports:
  48. - ${APP_API_PORT}:${APP_API_PORT}
  49. volumes:
  50. - /etc/localtime:/etc/localtime:ro
  51. - ./app:/app
  52. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records
  53. environment:
  54. - APP_FQDN
  55. - APP_API_PORT
  56. - APP_PORT_MYSQL
  57. - MYSQL_USER
  58. - MYSQL_PASSWORD
  59. - MYSQL_DATABASE
  60. - FREEPBX_CDRDBNAME
  61. - MYSQL_SERVER=db
  62. app0:
  63. container_name: app0
  64. hostname: test-${APP_FQDN}
  65. build: ./app0
  66. restart: always
  67. depends_on:
  68. - pbx
  69. env_file:
  70. - app.env
  71. ports:
  72. - 1${APP_API_PORT}:${APP_API_PORT}
  73. volumes:
  74. - /etc/localtime:/etc/localtime:ro
  75. - ./app0:/app
  76. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records
  77. environment:
  78. - APP_FQDN
  79. - APP_API_PORT
  80. - APP_PORT_MYSQL
  81. - MYSQL_USER
  82. - MYSQL_PASSWORD
  83. - MYSQL_DATABASE
  84. - FREEPBX_CDRDBNAME
  85. - MYSQL_SERVER=db
  86. nfs:
  87. container_name: nfs
  88. hostname: nfs.${APP_FQDN}
  89. image: itsthenetwork/nfs-server-alpine:latest
  90. restart: always
  91. env_file:
  92. - app.env
  93. ports:
  94. - 2049:2049
  95. volumes:
  96. - /etc/localtime:/etc/localtime:ro
  97. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/monitor
  98. cap_add:
  99. - NET_ADMIN
  100. privileged: true
  101. environment:
  102. - READ_ONLY=1
  103. - SHARED_DIRECTORY=/monitor
  104. - PERMITTED="192.168.171.53"