forked from theNetworkChuck/claude-phone
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
64 lines (60 loc) · 1.87 KB
/
docker-compose.yml
File metadata and controls
64 lines (60 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
version: '3.8'
# CRITICAL: All containers must use network_mode: host
# Docker bridge networking causes FreeSWITCH to advertise internal IPs
# in SDP, making RTP unreachable from external callers.
services:
drachtio:
image: drachtio/drachtio-server:latest
container_name: drachtio
restart: unless-stopped
network_mode: host
command: >
drachtio
--contact "sip:*:5060;transport=tcp,udp"
--external-ip ${EXTERNAL_IP}
--secret ${DRACHTIO_SECRET:-cymru}
--port 9022
--loglevel info
# Ports (for reference - host mode doesn't need port mapping):
# - 5060: SIP UDP/TCP
# - 9022: Admin/App Port
freeswitch:
image: drachtio/drachtio-freeswitch-mrf:latest
container_name: freeswitch
restart: unless-stopped
network_mode: host
command: >
freeswitch
--sip-port 5080
--rtp-range-start 30000
--rtp-range-end 30100
--ext-rtp-ip ${EXTERNAL_IP}
--ext-sip-ip ${EXTERNAL_IP}
--advertise-external-ip
environment:
# CRITICAL: Set this to your server's LAN IP
# This IP goes into SDP packets so 3CX knows where to send audio
# Note: drachtio-freeswitch-mrf only accepts CLI flags, not env vars
- EXTERNAL_IP=${EXTERNAL_IP}
# Ports (for reference):
# - 8021: ESL (Event Socket Library)
# - 5080: Internal SIP
# - 30000-30100: RTP Audio (changed from 20000-20100 to avoid conflict with 3CX SBC)
voice-app:
build: ./voice-app
container_name: voice-app
restart: unless-stopped
network_mode: host
env_file:
- .env
volumes:
# Audio files directory for TTS playback
- ./voice-app/audio:/app/audio
# Device configurations
- ./voice-app/config:/app/config
depends_on:
- drachtio
- freeswitch
# Ports (for reference):
# - 3000: HTTP API
# - 3001: WebSocket for audio streaming