mirror of
https://github.com/jambonz/jambonz-infrastructure.git
synced 2025-12-19 09:17:44 +00:00
267 lines
6.8 KiB
YAML
267 lines
6.8 KiB
YAML
version: "3.9"
|
|
networks:
|
|
jambonz:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.10.0.0/16
|
|
services:
|
|
mysql:
|
|
build: ./mysql
|
|
volumes:
|
|
- ./data_volume:/var/lib/mysql
|
|
ports:
|
|
- "3360:3306"
|
|
environment:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
|
|
MYSQL_DATABASE: "jambones"
|
|
MYSQL_USER: "jambones"
|
|
MYSQL_PASSWORD: "jambones"
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin" ,"ping", "-h", "127.0.0.1", "--protocol", "tcp"]
|
|
timeout: 5s
|
|
retries: 10
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.2
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
ports:
|
|
- "16379:6379/tcp"
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.3
|
|
|
|
drachtio-sbc:
|
|
image: drachtio/drachtio-server:latest
|
|
restart: always
|
|
command: drachtio --contact sip:172.10.0.10;transport=udp --external-ip ${HOST_IP} --contact sip:172.10.0.10;transport=tcp --address 0.0.0.0 --port 9022
|
|
volumes:
|
|
- ./sbc/drachtio.conf.xml:/etc/drachtio.conf.xml
|
|
ports:
|
|
- "5060:5060/udp"
|
|
depends_on:
|
|
- rtpengine
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.10
|
|
|
|
rtpengine:
|
|
image: drachtio/rtpengine:jambonz-test
|
|
restart: always
|
|
command: rtpengine --interface private/172.10.0.11 --interface public/172.10.0.11!${HOST_IP} --log-level 7
|
|
ports:
|
|
- "40000-40100:40000-40100/udp"
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.11
|
|
|
|
api-server:
|
|
image: jambonz/api-server:latest
|
|
restart: always
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
NODE_ENV: production
|
|
JWT_SECRET: '5a3e38b5-3188-4936-89c9-fb0df3138b5c'
|
|
JAMBONES_MYSQL_HOST: 172.10.0.2
|
|
JAMBONES_MYSQL_USER: jambones
|
|
JAMBONES_MYSQL_PASSWORD: jambones
|
|
JAMBONES_MYSQL_DATABASE: jambones
|
|
JAMBONES_REDIS_HOST: 172.10.0.3
|
|
JAMBONES_REDIS_PORT: 6379
|
|
JAMBONES_LOGLEVEL: info
|
|
JAMBONE_API_VERSION: v1
|
|
JAMBONES_CLUSTER_ID: jb
|
|
ENABLE_METRICS: 0
|
|
HTTP_PORT: 3000
|
|
JAMBONES_TIME_SERIES_HOST: 172.10.0.61
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.30
|
|
|
|
webapp:
|
|
build: ./jambonz-webapp
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.31
|
|
ports:
|
|
- "3001:3001"
|
|
environment:
|
|
API_BASE_URL: http://${HOST_IP}:3000/v1
|
|
depends_on:
|
|
- api-server
|
|
|
|
registrar:
|
|
image: jambonz/sbc-registrar:latest
|
|
restart: always
|
|
environment:
|
|
NODE_ENV: production
|
|
DRACHTIO_HOST: 172.10.0.10
|
|
DRACHTIO_PORT: 9022
|
|
DRACHTIO_SECRET: cymru
|
|
JAMBONES_MYSQL_HOST: 172.10.0.2
|
|
JAMBONES_MYSQL_USER: jambones
|
|
JAMBONES_MYSQL_PASSWORD: jambones
|
|
JAMBONES_MYSQL_DATABASE: jambones
|
|
JAMBONES_REDIS_HOST: 172.10.0.3
|
|
JAMBONES_REDIS_PORT: 6379
|
|
JAMBONES_LOGLEVEL: info
|
|
ENABLE_METRICS: 0
|
|
JAMBONES_TIME_SERIES_HOST: 172.10.0.61
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.32
|
|
|
|
call-router:
|
|
image: jambonz/sbc-call-router:latest
|
|
restart: always
|
|
environment:
|
|
NODE_ENV: production
|
|
DOCKER_BRIDGE_IP: 172.10.0.1
|
|
JAMBONES_LOGLEVEL: info
|
|
JAMBONES_NETWORK_CIDR: 172.10.0.0/16
|
|
HTTP_PORT: 4000
|
|
JAMBONES_INBOUND_ROUTE: 127.0.0.1:4002
|
|
JAMBONES_OUTBOUND_ROUTE: 127.0.0.1:4003
|
|
JAMBONZ_TAGGED_INBOUND: 1
|
|
ENABLE_METRICS: 0
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.33
|
|
|
|
sbc-inbound:
|
|
image: jambonz/sbc-inbound:latest
|
|
restart: always
|
|
environment:
|
|
NODE_ENV: production
|
|
DRACHTIO_HOST: 172.10.0.10
|
|
DRACHTIO_PORT: 9022
|
|
DRACHTIO_SECRET: cymru
|
|
JAMBONES_RTPENGINES: '172.10.0.11:22222'
|
|
JAMBONES_MYSQL_HOST: 172.10.0.2
|
|
JAMBONES_MYSQL_USER: jambones
|
|
JAMBONES_MYSQL_PASSWORD: jambones
|
|
JAMBONES_MYSQL_DATABASE: jambones
|
|
JAMBONES_REDIS_HOST: 172.10.0.3
|
|
JAMBONES_REDIS_PORT: 6379
|
|
JAMBONES_CLUSTER_ID: jb
|
|
JAMBONES_LOGLEVEL: info
|
|
ENABLE_METRICS: 0
|
|
JAMBONES_NETWORK_CIDR: 172.10.0.0/16
|
|
JAMBONES_TIME_SERIES_HOST: 172.10.0.61
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.34
|
|
|
|
sbc-outbound:
|
|
image: jambonz/sbc-outbound:latest
|
|
restart: always
|
|
environment:
|
|
NODE_ENV: production
|
|
DRACHTIO_HOST: 172.10.0.10
|
|
DRACHTIO_PORT: 9022
|
|
DRACHTIO_SECRET: cymru
|
|
JAMBONES_RTPENGINES: '172.10.0.11:22222'
|
|
JAMBONES_MYSQL_HOST: 172.10.0.2
|
|
JAMBONES_MYSQL_USER: jambones
|
|
JAMBONES_MYSQL_PASSWORD: jambones
|
|
JAMBONES_MYSQL_DATABASE: jambones
|
|
JAMBONES_REDIS_HOST: 172.10.0.3
|
|
JAMBONES_REDIS_PORT: 6379
|
|
JAMBONES_CLUSTER_ID: jb
|
|
JAMBONES_LOGLEVEL: info
|
|
ENABLE_METRICS: 0
|
|
JAMBONES_NETWORK_CIDR: 172.10.0.0/16
|
|
JAMBONES_TIME_SERIES_HOST: 172.10.0.61
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.35
|
|
|
|
drachtio-fs:
|
|
image: drachtio/drachtio-server:latest
|
|
restart: always
|
|
command: drachtio --contact sip:*;transport=udp,tcp --address 0.0.0.0 --port 9022
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.50
|
|
|
|
freeswitch:
|
|
image: drachtio/drachtio-freeswitch-mrf:0.4.27
|
|
restart: always
|
|
command: freeswitch --rtp-range-start 20000 --rtp-range-end 20100
|
|
ports:
|
|
- "8022:8021/tcp"
|
|
volumes:
|
|
- ./tmpAudio:/tmp
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.51
|
|
|
|
feature-server:
|
|
image: jambonz/feature-server:latest
|
|
restart: always
|
|
volumes:
|
|
- ./credentials:/opt/credentials
|
|
- ./tmpAudio:/tmp
|
|
environment:
|
|
NODE_ENV: production
|
|
GOOGLE_APPLICATION_CREDENTIALS: /opt/credentials/gcp.json
|
|
DRACHTIO_HOST: 172.10.0.50
|
|
DRACHTIO_PORT: 9022
|
|
DRACHTIO_SECRET: cymru
|
|
JAMBONES_MYSQL_HOST: 172.10.0.2
|
|
JAMBONES_MYSQL_USER: jambones
|
|
JAMBONES_MYSQL_PASSWORD: jambones
|
|
JAMBONES_MYSQL_DATABASE: jambones
|
|
JAMBONES_REDIS_HOST: 172.10.0.3
|
|
JAMBONES_REDIS_PORT: 6379
|
|
JAMBONES_LOGLEVEL: info
|
|
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
|
|
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
|
|
AWS_REGION: ${AWS_REGION}
|
|
ENABLE_METRICS: 0
|
|
JAMBONES_NETWORK_CIDR: 172.10.0.0/16
|
|
HTTP_PORT: 3000
|
|
JAMBONES_SBCS: 172.10.0.10
|
|
JAMBONES_FEATURE_SERVERS: 172.10.0.50:9022:cymru
|
|
JAMBONES_FREESWITCH: 172.10.0.51:8021:ClueCon
|
|
JAMBONES_TIME_SERIES_HOST: 172.10.0.61
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- sbc-inbound
|
|
- sbc-outbound
|
|
- api-server
|
|
- drachtio-fs
|
|
- freeswitch
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.60
|
|
|
|
influxdb:
|
|
image: influxdb:1.8
|
|
ports:
|
|
- "8086:8086"
|
|
networks:
|
|
jambonz:
|
|
ipv4_address: 172.10.0.61
|
|
|
|
|