diff --git a/docker-compose.yml b/docker-compose.yml index f1088ef..ee793f7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,17 +21,23 @@ services: postgres: image: pgvector/pgvector:pg16 - # Docker's default /dev/shm is 64MB; VACUUM (ANALYZE) and parallel queries - # allocate larger shared-memory segments and fail with - # "could not resize shared memory segment ... No space left on device" - # (operator-flagged 2026-06-07, vacuum_analyze on import_task needed 67MB). - shm_size: 512m environment: POSTGRES_USER: ${DB_USER:-fabledcurator} POSTGRES_PASSWORD: ${DB_PASSWORD:-fabledcurator_dev} POSTGRES_DB: ${DB_NAME:-fabledcurator} volumes: - postgres_data:/var/lib/postgresql/data + # Docker's default /dev/shm is 64MB; VACUUM (ANALYZE) + parallel queries + # allocate a POSIX dynamic-shared-memory segment in /dev/shm and fail with + # "could not resize shared memory segment ... No space left on device" + # (operator-flagged 2026-06-07, vacuum_analyze on import_task needed 67MB). + # NOTE: a `shm_size:` key is SILENTLY IGNORED under Docker Swarm + # (`docker stack deploy` — the prod deployment here), so size /dev/shm via + # a tmpfs mount instead — honored by both Swarm and plain Compose. + - type: tmpfs + target: /dev/shm + tmpfs: + size: 536870912 # 512 MB healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-fabledcurator}"] interval: 10s