dumant/docker-compose.yaml
2025-07-13 10:27:27 -07:00

106 lines
2.3 KiB
YAML

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