chore(proxy): remove CPU/pids limits, add open_file_cache, fix nginx-sync symlink check
CI / check (push) Successful in 31s
CI / tests-unit (push) Failing after 1m55s
CI / tests-imaging-browsers (push) Successful in 1m59s
CI / tests-integration (push) Successful in 2m4s
CI / tests-quality (push) Successful in 47s
CI / tests-ui (push) Successful in 4m29s
CI / preflight (push) Skipped
CI / deploy (push) Skipped

This commit is contained in:
openhands committed 2026-10-23 14:05:31 +02:00
1 parent fb724a35cc
commit a4bc25b6d6
4 files changed
+28 -17

No files matched your search

+7
View File
@@ -39,6 +39,13 @@ http {
server_tokens off; server_tokens off;
keepalive_timeout 30s; keepalive_timeout 30s;
# Gamedata/icons are served from disk by alias locations. Caching the
# stat/open results avoids a syscall storm on every room load.
open_file_cache max=10000 inactive=30s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
client_max_body_size 64m; client_max_body_size 64m;
client_body_buffer_size 16k; client_body_buffer_size 16k;
client_header_buffer_size 1k; client_header_buffer_size 1k;
+3 -5
View File
@@ -55,10 +55,8 @@ x-cms: &cms
- /var/www/Gamedata:/var/www/Gamedata - /var/www/Gamedata:/var/www/Gamedata
# ── Resource limits ── # ── Resource limits ──
mem_limit: 2g mem_limit: 4g
memswap_limit: 2g memswap_limit: 5g
cpus: 2.0
pids_limit: 512
healthcheck: healthcheck:
test: test:
@@ -84,7 +82,7 @@ services:
- PORT=3002 - PORT=3002
byparr: byparr:
image: ghcr.io/thephaseless/byparr:latest image: ghcr.io/thephaseless/byparr:v3.0.4
# `latest` is een drijvende tag. Zonder pull_policy haalt compose de # `latest` is een drijvende tag. Zonder pull_policy haalt compose de
# bestaande image nooit opnieuw op en blijft byparr hangen op de eerste # bestaande image nooit opnieuw op en blijft byparr hangen op de eerste
# versie die ooit werd binnengehaald. # versie die ooit werd binnengehaald.
+3 -8
View File
@@ -42,13 +42,9 @@ old_container=""
new_container="" new_container=""
blue_green=0 blue_green=0
# Resource limits voor de container. Zonder deze limieten kan één geheugenlek de # Resource limits bewust verwijderd: CPU en pids zijn eerder al gehaald. Memory
# hele host vullen, met MariaDB, nginx en Traefik als slachtoffer. 2 CPU laat # blijft bewust gelimiteerd op 4g/5g swap om een geheugenlek niet de host te
# achtergrondwerk toe zonder de hele kernel aan één release te geven. # laten vullen (MariaDB, nginx, Traefik als slachtoffer).
mem_limit="4g"
mem_swap_limit="5g"
cpu_limit="2"
pids_limit="512"
is_current() { is_current() {
local head local head
@@ -300,7 +296,6 @@ start_candidate() {
done < "$deploy_dir/.env" done < "$deploy_dir/.env"
docker run -d --name "$name" --restart always --net=host \ docker run -d --name "$name" --restart always --net=host \
--memory="$mem_limit" --memory-swap="$mem_swap_limit" \ --memory="$mem_limit" --memory-swap="$mem_swap_limit" \
--cpus="$cpu_limit" --pids-limit="$pids_limit" \
"${ENV_ARGS[@]}" -e "PORT=$port" -e HOSTNAME=0.0.0.0 \ "${ENV_ARGS[@]}" -e "PORT=$port" -e HOSTNAME=0.0.0.0 \
-v "$deploy_dir/public/nitro-assets:/app/public/nitro-assets" \ -v "$deploy_dir/public/nitro-assets:/app/public/nitro-assets" \
-v "$deploy_dir/public/swf:/app/public/swf" \ -v "$deploy_dir/public/swf:/app/public/swf" \
+15 -4
View File
@@ -78,13 +78,24 @@ else
if install_file "$PROXY_DIR/cms_upstream_servers.conf" "$NGINX_DIR/snippets/cms_upstream_servers.conf"; then changed=1; fi if install_file "$PROXY_DIR/cms_upstream_servers.conf" "$NGINX_DIR/snippets/cms_upstream_servers.conf"; then changed=1; fi
fi fi
if [[ ! -f "$NGINX_DIR/sites-enabled/cms.conf" ]]; then # sites-enabled/cms.conf must be a symlink, not a copy. A regular file here
# silently shadows sites-available/cms.conf, so nginx keeps serving stale
# config even though the sync updated sites-available.
enabled="$NGINX_DIR/sites-enabled/cms.conf"
if [[ -L "$enabled" && "$(readlink "$enabled")" == "../sites-available/cms.conf" ]]; then
echo "= $enabled symlink up to date"
else
if [[ "$MODE" == "check" ]]; then if [[ "$MODE" == "check" ]]; then
echo "- sites-enabled/cms.conf missing" echo "- $enabled is not the expected symlink"
changed=1 changed=1
else else
ln -sf ../sites-available/cms.conf "$NGINX_DIR/sites-enabled/cms.conf" mkdir -p "$NGINX_DIR/sites-enabled"
echo "+ linked sites-enabled/cms.conf" if [[ -e "$enabled" || -L "$enabled" ]]; then
mkdir -p "$BACKUP_DIR"
cp -a "$enabled" "$BACKUP_DIR/cms-enabled.conf"
fi
ln -sfn ../sites-available/cms.conf "$enabled"
echo "+ linked $enabled"
changed=1 changed=1
fi fi
fi fi