sane-assistant / docker-compose.yml
agenthinkmesh's picture
Upload project files
c13f797 verified
Raw History Blame Contribute Delete
1.74 kB
version: '3.9'
# ============================================================
# صانع (San'e) — Docker Compose for VPS Deployment
# ============================================================
# Usage: docker compose up -d
# ============================================================
services:
sane:
build:
context: .
dockerfile: Dockerfile
container_name: sane-assistant
restart: unless-stopped
ports:
- "${SANE_GATEWAY_PORT:-18789}:18789"
volumes:
# Persist WhatsApp auth and session data
- sane-data:/app/.sane
# Mount .env file
- ./.env:/app/.env:ro
environment:
- NODE_ENV=production
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
- TELEGRAM_ALLOWED_USERS=${TELEGRAM_ALLOWED_USERS}
- SANE_MODEL=${SANE_MODEL:-claude-sonnet-4-5}
- SANE_LANGUAGE=${SANE_LANGUAGE:-ar}
- SANE_LOCALE=${SANE_LOCALE:-ar-KW}
- SANE_TIMEZONE=${SANE_TIMEZONE:-Asia/Kuwait}
- SANE_LOCATION=${SANE_LOCATION:-kuwait_city}
- SANE_GATEWAY_PORT=18789
- SANE_PRAYER_REMINDERS=${SANE_PRAYER_REMINDERS:-true}
- SANE_RAMADAN_MODE=${SANE_RAMADAN_MODE:-auto}
- SANE_HIJRI_DATES=${SANE_HIJRI_DATES:-true}
- WHATSAPP_ENABLED=${WHATSAPP_ENABLED:-true}
- LOG_LEVEL=${LOG_LEVEL:-info}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
networks:
- sane-network
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
sane-data:
driver: local
networks:
sane-network:
driver: bridge