File size: 1,737 Bytes
c13f797
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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