Init
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# Один узел: памяти процесса достаточно, общий слой не нужен.
|
||||
# docker compose up pd-guard
|
||||
#
|
||||
# Несколько узлов: маскирование детерминировано и работает на любом узле, а вот
|
||||
# обратный шаг требует общего состояния — иначе запрос попадёт не на тот узел.
|
||||
# docker compose --profile cluster up
|
||||
services:
|
||||
|
||||
pd-guard:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/main/docker/Dockerfile.native
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
PDGUARD_MAX_CONCURRENT: "2000"
|
||||
PDGUARD_STORE_TTL_MINUTES: "30"
|
||||
# Переменная не задана — вторая ступень выключена. Чтобы включить:
|
||||
# PDGUARD_NER_MODEL: /work/models/ru-ner-person.bin
|
||||
volumes:
|
||||
- ./config:/work/config:ro
|
||||
# Модель второй ступени монтируется томом: в образ она не входит.
|
||||
# Собрать: ./tools/train-ner.sh full
|
||||
- ./models:/work/models:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"]
|
||||
interval: 10s
|
||||
timeout: 2s
|
||||
retries: 3
|
||||
|
||||
redis:
|
||||
profiles: ["cluster"]
|
||||
image: redis:7-alpine
|
||||
command: ["redis-server", "--save", "", "--appendonly", "no", "--maxmemory", "1gb", "--maxmemory-policy", "allkeys-lru"]
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 2s
|
||||
retries: 5
|
||||
|
||||
node-a: &node
|
||||
profiles: ["cluster"]
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/main/docker/Dockerfile.native
|
||||
ports:
|
||||
- "8081:8080"
|
||||
environment:
|
||||
PDGUARD_STORE_BACKEND: redis
|
||||
QUARKUS_REDIS_HOSTS: redis://redis:6379
|
||||
PDGUARD_MAX_CONCURRENT: "2000"
|
||||
volumes:
|
||||
- ./config:/work/config:ro
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
node-b:
|
||||
<<: *node
|
||||
ports:
|
||||
- "8082:8080"
|
||||
Reference in New Issue
Block a user