docker-compose.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. logging:
  54. driver: json-file
  55. options:
  56. max-size: 50m
  57. max-file: 10
  58. environment:
  59. - APP_FQDN
  60. - APP_API_PORT
  61. - APP_PORT_MYSQL
  62. - MYSQL_USER
  63. - MYSQL_PASSWORD
  64. - MYSQL_DATABASE
  65. - FREEPBX_CDRDBNAME
  66. - MYSQL_SERVER=db
  67. app0:
  68. container_name: app0
  69. hostname: test-${APP_FQDN}
  70. build: ./app0
  71. restart: always
  72. depends_on:
  73. - pbx
  74. env_file:
  75. - app.env
  76. ports:
  77. - 1${APP_API_PORT}:${APP_API_PORT}
  78. volumes:
  79. - /etc/localtime:/etc/localtime:ro
  80. - ./app0:/app
  81. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records
  82. environment:
  83. - APP_FQDN
  84. - APP_API_PORT
  85. - APP_PORT_MYSQL
  86. - MYSQL_USER
  87. - MYSQL_PASSWORD
  88. - MYSQL_DATABASE
  89. - FREEPBX_CDRDBNAME
  90. - MYSQL_SERVER=db
  91. nfs:
  92. container_name: nfs
  93. hostname: nfs.${APP_FQDN}
  94. image: itsthenetwork/nfs-server-alpine:latest
  95. restart: always
  96. env_file:
  97. - app.env
  98. ports:
  99. - 2049:2049
  100. volumes:
  101. - /etc/localtime:/etc/localtime:ro
  102. - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/monitor
  103. cap_add:
  104. - NET_ADMIN
  105. privileged: true
  106. environment:
  107. - READ_ONLY=1
  108. - SHARED_DIRECTORY=/monitor
  109. - PERMITTED="192.168.171.53"