vps: mem_limit + oom_score_adj na serwisach in-repo; deploy-local stosuje override (stop OOM)
This commit is contained in:
parent
1db9db7d03
commit
f64cec645e
|
|
@ -13,8 +13,27 @@
|
|||
#
|
||||
# The executor inherits the canonical name from the action JSON written by the
|
||||
# supervisor, so NODE_ALIAS_MAP is only required on the supervisor service.
|
||||
#
|
||||
# Memory limits: VPS has 4 GiB RAM, no swap. oom_score_adj -900 ensures the
|
||||
# host kernel OOM-killer never targets control-plane containers. mem_limit
|
||||
# provides a per-container cgroup ceiling so a leaking process is restarted by
|
||||
# Docker before it can exhaust host memory.
|
||||
|
||||
services:
|
||||
operator-ui:
|
||||
mem_limit: 192m
|
||||
oom_score_adj: -900
|
||||
|
||||
observer:
|
||||
mem_limit: 192m
|
||||
oom_score_adj: -900
|
||||
|
||||
supervisor:
|
||||
mem_limit: 400m
|
||||
oom_score_adj: -900
|
||||
environment:
|
||||
- NODE_ALIAS_MAP={"node-2":"chelsty"}
|
||||
|
||||
executor:
|
||||
mem_limit: 64m
|
||||
oom_score_adj: -900
|
||||
|
|
|
|||
|
|
@ -8,3 +8,9 @@ services:
|
|||
# Without this, localhost inside the container is the container's own loopback
|
||||
# and the _check_control_plane_health() probe would always fail.
|
||||
network_mode: host
|
||||
# HARD memory ceiling: node-agent mounts /opt/homelab/events/ (page cache)
|
||||
# and may accumulate Python RSS over hours; 640m cap ensures it is killed and
|
||||
# auto-restarted by Docker before consuming host memory. oom_score_adj -900
|
||||
# prevents the host kernel OOM-killer from picking it as a global victim.
|
||||
mem_limit: 640m
|
||||
oom_score_adj: -900
|
||||
|
|
|
|||
|
|
@ -5,3 +5,5 @@ services:
|
|||
- REDIS_HOST=100.108.208.3
|
||||
- REDIS_PORT=6379
|
||||
- REDIS_ENABLED=true
|
||||
mem_limit: 96m
|
||||
oom_score_adj: -900
|
||||
|
|
|
|||
|
|
@ -46,7 +46,13 @@ sudo chmod -R 775 /opt/homelab
|
|||
|
||||
# 4. Run docker compose up -d --build --force-recreate
|
||||
echo "--- Starting Control Plane Services ---"
|
||||
docker compose up -d --build --force-recreate
|
||||
COMPOSE_ARGS="-f docker-compose.yml"
|
||||
OVERRIDE_FILE="../../hosts/vps/runtime/control-plane/docker-compose.override.yml"
|
||||
if [ -f "$OVERRIDE_FILE" ]; then
|
||||
echo "Using override: $OVERRIDE_FILE"
|
||||
COMPOSE_ARGS="$COMPOSE_ARGS -f $OVERRIDE_FILE"
|
||||
fi
|
||||
docker compose $COMPOSE_ARGS up -d --build --force-recreate
|
||||
|
||||
# 5. Print docker ps for control-plane containers
|
||||
echo "--- Deployment Status ---"
|
||||
|
|
|
|||
Loading…
Reference in a new issue