campaign_connector/docker-compose.yml
2025-08-25 09:41:16 -06:00

33 lines
1.2 KiB
YAML

services:
sms-campaign:
build:
context: .
dockerfile: ./docker/dockerfile
container_name: sms-campaign-manager
ports:
- "5000:5000" # Web interface
- "5037:5037" # ADB server
volumes:
- ./data:/app/data # SQLite database
- ./uploads:/app/uploads # CSV uploads
- ./logs:/app/logs # Logs
- ./src:/app/src # Live source for development
- ./src/static:/app/src/static # Static assets
- ./src/templates:/app/src/templates # Templates
- /dev/bus/usb:/dev/bus/usb # USB devices (for direct USB connection)
environment:
PHONE_IP: ${PHONE_IP:-10.0.0.193}
ADB_PORT: ${ADB_PORT:-5555}
FLASK_ENV: ${FLASK_ENV:-production}
SECRET_KEY: ${SECRET_KEY:-change-me-in-production}
network_mode: host # Required for ADB network connection (host mode needed for ADB)
privileged: true # Required for USB access
restart: unless-stopped
stop_grace_period: 30s # Give container 30 seconds to gracefully shutdown
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s