services: db: image: ankane/pgvector container_name: infobot-db restart: unless-stopped ports: - "5432:5432" environment: POSTGRES_DB: infobot POSTGRES_USER: infobot POSTGRES_PASSWORD: infobot volumes: - ./data/postgres:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "infobot"] interval: 10s timeout: 5s retries: 5 networks: ["dumant"] llm: image: ghcr.io/huggingface/text-generation-inference:1.4 container_name: infobot-llm restart: unless-stopped ports: - "8080:80" environment: HF_HUB_ENABLE_HF_TRANSFER: 0 # PYTORCH_CUDA_ALLOC_CONF: max_split_size_mb:64 MODEL_ID: ${MODEL_ID} volumes: - ./data/models:/data devices: - /dev/nvidia-uvm - /dev/nvidia-uvm-tools - /dev/nvidia-modeset - /dev/nvidiactl - /dev/nvidia0 command: - --max-total-tokens=1024 - --max-batch-prefill-tokens=256 - --max-input-length=256 deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: ["gpu"] networks: ["dumant"] app: build: ./app container_name: infobot-app restart: unless-stopped depends_on: db: condition: service_healthy llm: condition: service_started ports: - "8000:8000" volumes: - ./app:/app environment: DB_HOST: db DB_PORT: 5432 DB_USER: infobot DB_PASSWORD: infobot DB_NAME: infobot LLM_API_URL: http://llm:80 networks: ["dumant"] signal-app: build: ./signal-app container_name: infobot-signal-app restart: unless-stopped volumes: - ./signal-app:/app networks: ["dumant"] env_file: ./env signal-cli: #image: dogukanakkaya/signal-cli image: registry.gitlab.com/packaging/signal-cli/signal-cli-native:latest container_name: infobot-signal-cli restart: unless-stopped volumes: - ./data/signal-cli:/var/lib/signal-cli ports: - "7583:7583" tmpfs: - "/tmp:exec" command: -a ${SIGNAL_ID} daemon --tcp=0.0.0.0:7583 --receive-mode=on-start networks: ["dumant"] volumes: postgres: models: networks: dumant: name: dumant