docker-compose.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. - ${PWD}/db/master.cnf:/etc/mysql/conf.d/master.cnf
  34. environment:
  35. - MYSQL_ROOT_PASSWORD
  36. - MYSQL_DATABASE
  37. - MYSQL_USER
  38. - MYSQL_PASSWORD
  39. app:
  40. container_name: app
  41. hostname: ${APP_FQDN}
  42. image: git.dela.bz/dela.bz/dela/rrt-app:22.09.30
  43. restart: always
  44. depends_on:
  45. - pbx
  46. env_file:
  47. - app.env
  48. ports:
  49. - ${APP_API_PORT}:${APP_API_PORT}
  50. volumes:
  51. - /etc/localtime:/etc/localtime:ro
  52. - ./app:/app
  53. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records
  54. logging:
  55. driver: json-file
  56. options:
  57. max-size: 50m
  58. max-file: 10
  59. environment:
  60. - APP_FQDN
  61. - APP_API_PORT
  62. - APP_PORT_MYSQL
  63. - MYSQL_USER
  64. - MYSQL_PASSWORD
  65. - MYSQL_DATABASE
  66. - FREEPBX_CDRDBNAME
  67. - MYSQL_SERVER=db
  68. app0:
  69. container_name: app0
  70. hostname: test-${APP_FQDN}
  71. build: ./app0
  72. restart: always
  73. depends_on:
  74. - pbx
  75. env_file:
  76. - app.env
  77. ports:
  78. - 1${APP_API_PORT}:${APP_API_PORT}
  79. volumes:
  80. - /etc/localtime:/etc/localtime:ro
  81. - ./app0:/app
  82. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records
  83. environment:
  84. - APP_FQDN
  85. - APP_API_PORT
  86. - APP_PORT_MYSQL
  87. - MYSQL_USER
  88. - MYSQL_PASSWORD
  89. - MYSQL_DATABASE
  90. - FREEPBX_CDRDBNAME
  91. - MYSQL_SERVER=db
  92. nfs:
  93. container_name: nfs
  94. hostname: nfs.${APP_FQDN}
  95. image: itsthenetwork/nfs-server-alpine:latest
  96. restart: always
  97. env_file:
  98. - app.env
  99. ports:
  100. - 2049:2049
  101. volumes:
  102. - /etc/localtime:/etc/localtime:ro
  103. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/monitor
  104. cap_add:
  105. - NET_ADMIN
  106. privileged: true
  107. environment:
  108. - READ_ONLY=1
  109. - SHARED_DIRECTORY=/monitor
  110. - PERMITTED="192.168.171.53"