Fix compose: move pids limits into deploy.resources.limits

Newer docker compose treats pids_limit and deploy.resources.limits.pids
as the same setting and rejects the project when both are present
("can't set distinct values on 'pids_limit' and
'deploy.resources.limits.pids'"). The limits are now only set as
deploy.resources.limits.pids (same values).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-27 13:12:56 +02:00
co-authored by Claude Opus 5.5
parent 9ffee8b952
commit e99113ae91
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -9,7 +9,7 @@ services:
limits:
cpus: "${WEBSITE_CPUS:-0.25}"
memory: ${WEBSITE_MEMORY:-64M}
pids_limit: 64
pids: 64
networks:
- wizard_website
@@ -29,7 +29,7 @@ services:
limits:
cpus: "${SERVER_CPUS:-1.0}"
memory: ${SERVER_MEMORY:-512M}
pids_limit: 256
pids: 256
networks:
- wizard_api
- wizard_internal
@@ -58,7 +58,7 @@ services:
limits:
cpus: "${AI_CPUS:-1.0}"
memory: ${AI_MEMORY:-1G}
pids_limit: 256
pids: 256
volumes:
# Trained checkpoints; replace without rebuilding the image.
- ./wizard_ai/models:/srv/models:ro
+1 -1
View File
@@ -60,7 +60,7 @@ Set in `compose.yaml` from `.env` (defaults shown):
would end all games (state is in memory), so the limit has lots of headroom:
the server uses ~80 MB idle and ~100 MB with 100 games (see
[measurements](#measurements)).
- **Processes** (`pids_limit`) stop fork bombs / thread explosions.
- **Processes** (`deploy.resources.limits.pids`) stop fork bombs / thread explosions.
- The AI container sets `OMP_NUM_THREADS` / `MKL_NUM_THREADS` to `AI_WORKERS`,
so numeric libraries (numpy, torch) don't start one thread per *host* core
inside a 1-CPU container.