Files
pd-guard/compose.yaml
T

30 lines
1.5 KiB
YAML

# Один узел, состояние маскирования/демаскирования — в памяти самого процесса
# (pdguard.store.backend=memory, дефолт). Redis был нужен только чтобы разделить
# состояние между несколькими репликами; кластерная схема на 4-vCPU хосте под
# нагрузкой давала конкуренцию за CPU (см. историю в git) — один узел проще и
# получает весь хост целиком.
services:
pd-guard:
image: pd-guard-spring:jvm
ports:
- "8080:8080"
environment:
PDGUARD_MAX_CONCURRENT: "2000"
PDGUARD_WARMUP_ITERATIONS: "2000"
# Вторая ступень распознавания — две модели под разные задачи (см.
# NameCascade.java): WikiNEuRal размечает имена, ruBERT — составляющие
# адреса. Модели в репозиторий не входят: ./tools/fetch-ner-model.sh.
PDGUARD_NER_NAME_ENGINE: wikineural
PDGUARD_NER_NAME_MODEL: /deployments/models/wikineural-ner
PDGUARD_NER_ADDRESS_ENGINE: rubert
PDGUARD_NER_ADDRESS_MODEL: /deployments/models/rubert-ner
volumes:
- ./config:/deployments/config:ro
- ./models:/deployments/models:ro
healthcheck:
test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"]
interval: 10s
timeout: 2s
retries: 3