134 lines
2.9 KiB
YAML
134 lines
2.9 KiB
YAML
services:
|
|
db:
|
|
image: postgres:15
|
|
container_name: rss_db
|
|
environment:
|
|
- POSTGRES_DB=${DB_NAME}
|
|
- POSTGRES_USER=${DB_USER}
|
|
- POSTGRES_PASSWORD=${DB_PASS}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./init-db:/docker-entrypoint-initdb.d
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
args:
|
|
TORCH_CUDA: cu121
|
|
container_name: rss_web
|
|
command: gunicorn --bind 0.0.0.0:8000 --workers 3 app:app
|
|
ports:
|
|
- "8001:8000"
|
|
environment:
|
|
- DB_HOST=db
|
|
- DB_PORT=5432
|
|
- DB_NAME=${DB_NAME}
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASS=${DB_PASS}
|
|
- SECRET_KEY=${SECRET_KEY}
|
|
- WEB_TRANSLATED_DEFAULT=1
|
|
- DEFAULT_LANG=es
|
|
- TRANSLATION_PREFERRED_LANGS=es
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: always
|
|
|
|
scheduler:
|
|
build:
|
|
context: .
|
|
args:
|
|
TORCH_CUDA: cu121
|
|
container_name: rss_scheduler
|
|
command: python scheduler.py
|
|
environment:
|
|
- DB_HOST=db
|
|
- DB_PORT=5432
|
|
- DB_NAME=${DB_NAME}
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASS=${DB_PASS}
|
|
- SECRET_KEY=${SECRET_KEY}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: always
|
|
|
|
translator:
|
|
build:
|
|
context: .
|
|
args:
|
|
TORCH_CUDA: cu121
|
|
container_name: rss_translator
|
|
command: python translation_worker.py
|
|
environment:
|
|
- DB_HOST=db
|
|
- DB_PORT=5432
|
|
- DB_NAME=${DB_NAME}
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASS=${DB_PASS}
|
|
|
|
- TARGET_LANGS=es
|
|
- TRANSLATOR_BATCH=8
|
|
- ENQUEUE=200
|
|
- TRANSLATOR_SLEEP_IDLE=5
|
|
|
|
- MAX_SRC_TOKENS=680
|
|
- MAX_NEW_TOKENS=400
|
|
|
|
- NUM_BEAMS_TITLE=2
|
|
- NUM_BEAMS_BODY=1
|
|
|
|
- UNIVERSAL_MODEL=facebook/nllb-200-1.3B
|
|
|
|
- CHUNK_BY_SENTENCES=True
|
|
- CHUNK_MAX_TOKENS=700
|
|
- CHUNK_OVERLAP_SENTS=1
|
|
- CLEAN_ARTICLE=1
|
|
|
|
- DEVICE=cuda
|
|
|
|
- PYTHONUNBUFFERED=1
|
|
- HF_HOME=/root/.cache/huggingface
|
|
- TOKENIZERS_PARALLELISM=false
|
|
- PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:64,garbage_collection_threshold:0.9
|
|
|
|
- NVIDIA_VISIBLE_DEVICES=all
|
|
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
|
|
volumes:
|
|
- hf_cache:/root/.cache/huggingface
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: always
|
|
gpus: all
|
|
|
|
ner:
|
|
build:
|
|
context: .
|
|
args:
|
|
TORCH_CUDA: cu121
|
|
container_name: rss_ner
|
|
command: python ner_worker.py
|
|
environment:
|
|
- DB_HOST=db
|
|
- DB_PORT=5432
|
|
- DB_NAME=${DB_NAME}
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASS=${DB_PASS}
|
|
- NER_LANG=es
|
|
- NER_BATCH=64
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: always
|
|
|
|
volumes:
|
|
postgres_data:
|
|
hf_cache:
|
|
|