version: '3' services: pbx: container_name: pbx hostname: ${APP_FQDN} build: https://gogs.halsbox.ru/hal/docker-freepbx.git image: halsbox/docker-freepbx:latest restart: always depends_on: - db env_file: - .env - app.env volumes: - /etc/localtime:/etc/localtime:ro - ${PERSISTENT_STORAGE_PATH}/pbx:/data cap_add: - NET_ADMIN privileged: true network_mode: host db: container_name: db image: mariadb:10.5.8 command: --sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION restart: always env_file: - .env ports: - ${APP_PORT_MYSQL}:3306 volumes: - /etc/localtime:/etc/localtime:ro - ${PERSISTENT_STORAGE_PATH}/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD - MYSQL_DATABASE - MYSQL_USER - MYSQL_PASSWORD app: container_name: app hostname: ${APP_FQDN} image: git.dela.bz/dela.bz/dela/rrt-app:22.09.30 restart: always depends_on: - pbx env_file: - app.env ports: - ${APP_API_PORT}:${APP_API_PORT} volumes: - /etc/localtime:/etc/localtime:ro - ./app:/app - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records environment: - APP_FQDN - APP_API_PORT - APP_PORT_MYSQL - MYSQL_USER - MYSQL_PASSWORD - MYSQL_DATABASE - FREEPBX_CDRDBNAME - MYSQL_SERVER=db app0: container_name: app0 hostname: test-${APP_FQDN} build: ./app0 restart: always depends_on: - pbx env_file: - app.env ports: - 1${APP_API_PORT}:${APP_API_PORT} volumes: - /etc/localtime:/etc/localtime:ro - ./app0:/app - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/app/static/records environment: - APP_FQDN - APP_API_PORT - APP_PORT_MYSQL - MYSQL_USER - MYSQL_PASSWORD - MYSQL_DATABASE - FREEPBX_CDRDBNAME - MYSQL_SERVER=db nfs: container_name: nfs hostname: nfs.${APP_FQDN} image: itsthenetwork/nfs-server-alpine:latest restart: always env_file: - app.env ports: - 2049:2049 volumes: - /etc/localtime:/etc/localtime:ro - ${PERSISTENT_STORAGE_PATH}/pbx/var/spool/asterisk/monitor:/monitor cap_add: - NET_ADMIN privileged: true environment: - READ_ONLY=1 - SHARED_DIRECTORY=/monitor - PERMITTED="192.168.171.53"