42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
|
|
# PIHA-specific overrides for paperless (KB module 2).
|
|||
|
|
#
|
|||
|
|
# RESOURCE CONTEXT: PIHA is the RAM-bound 8 GB box shared with Home Assistant
|
|||
|
|
# and monitoring. Precondition for this service is KB module 0 (piha-slim);
|
|||
|
|
# after it ~3.8 Gi should be available. Ceilings below keep the whole stack
|
|||
|
|
# ≤ ~1.9 Gi worst-case so paperless can never starve HA — the cgroup OOM
|
|||
|
|
# killer restarts the offending container instead of the host killer picking
|
|||
|
|
# a victim.
|
|||
|
|
services:
|
|||
|
|
paperless:
|
|||
|
|
# Idle expectation ~400–600 Mi (gunicorn + consumer + beat + 1 celery
|
|||
|
|
# worker). The ceiling leaves room for the concurrency-1 FALLBACK OCR of
|
|||
|
|
# a large PDF when SOLARIA is asleep; a pathological document gets the
|
|||
|
|
# container restarted rather than the host swapping.
|
|||
|
|
mem_limit: 1400m
|
|||
|
|
mem_reservation: 512m
|
|||
|
|
|
|||
|
|
db:
|
|||
|
|
# Metadata-only DB (documents live on disk, not in Postgres). Same tuning
|
|||
|
|
# philosophy as kb-postgres but smaller: bounded backends because the
|
|||
|
|
# SOLARIA worker also holds connections (concurrency 4 + webserver pool).
|
|||
|
|
mem_limit: 384m
|
|||
|
|
command:
|
|||
|
|
- "postgres"
|
|||
|
|
- "-c"
|
|||
|
|
- "shared_buffers=96MB"
|
|||
|
|
- "-c"
|
|||
|
|
- "effective_cache_size=256MB"
|
|||
|
|
- "-c"
|
|||
|
|
- "work_mem=4MB"
|
|||
|
|
- "-c"
|
|||
|
|
- "maintenance_work_mem=32MB"
|
|||
|
|
- "-c"
|
|||
|
|
- "max_connections=50"
|
|||
|
|
|
|||
|
|
broker:
|
|||
|
|
# Task payloads are tiny (paths + ids): even the 70k-attachment backlog
|
|||
|
|
# is ~tens of MB in-queue. NO maxmemory/eviction — evicting broker keys
|
|||
|
|
# would silently drop queued OCR tasks; if the limit is ever hit the
|
|||
|
|
# container restarts and recovers the queue from AOF instead.
|
|||
|
|
mem_limit: 256m
|