DOCKER: 3CX Downloading config

The new API integration option requires the following to work:

  • Docker installation
  • 3CX enterprise license
  • API key details from the 3CX
  • dtxrecordings to process the files.

The Docker installation uses the following docker compose file

compose-dtx3cx.yml

services:
  dtx3cx:
    # This is the version of the software that will be used when the container starts up. 
    image: dtx3cx:1.0.0.6
    container_name: dtx3cx-container

    command: ["node", "index.js", "${PABX_PATH:-/datatex/pabx/globalchoice}"]
# Use the beloow command SD=Start Date and ED=End Date to download a historic set of data and requires version 1.0.0.6 or newer. 
#    command: ["node", "index.js", "${PABX_PATH:-/datatex/pabx/globalchoice}", "${SD:-2026-02-27}","${ED:-2026-03-02}"]

    volumes:
      - ./pabx:/datatex/pabx
      - ./work:/datatex/work
    environment:
      - TZ=Africa/Johannesburg
      - NODE_TLS_REJECT_UNAUTHORIZED=0

If you do use the SD and ED, make sure that you switch back to the old command afterwards, or it will never download other dates again.

The script to run the download process from the CRON:

#!/bin/bash
cd /opt/datatex/docker/dtx3cx
docker compose -f compose-dtx3cx.yml up 2>> $0-lastrun.log 1>> $0-lastrun.log

CRON entry:


*/5 * * * * /usr/bin/run-one /opt/datatex/docker/dtx3cx/docker-3cx-download.sh
* * * * * /usr/bin/run-one /opt/datatex/docker/dtx3cx/docker-dtxrecordings.sh