From d3ca29edf1ab5345fc517f64d3e9dbf98ba3b30b Mon Sep 17 00:00:00 2001 From: Ivan Date: Fri, 17 Jul 2026 17:33:04 -0500 Subject: [PATCH] feat: add resource limits and configurations for Docker container in docs --- README.md | 4 ++++ docs/en/installation.md | 5 ++++- lang/README.de.md | 4 ++++ lang/README.it.md | 4 ++++ lang/README.ja.md | 4 ++++ lang/README.ru.md | 4 ++++ lang/README.zh.md | 4 ++++ meshchatx.rsm | Bin 150921 -> 150921 bytes .../public/meshchatx-docs/en/installation.md | 6 ++++++ scripts/ci/docker-runtime-smoke.sh | 4 ++++ 10 files changed, 38 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bab0337d..934cee10 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,10 @@ docker compose up -d docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/docs/en/installation.md b/docs/en/installation.md index 5c422c7c..408a5929 100644 --- a/docs/en/installation.md +++ b/docs/en/installation.md @@ -35,13 +35,16 @@ Quick start with Compose: ```bash docker compose up -d ``` - Manual run with a named volume for persistence: ```bash docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/lang/README.de.md b/lang/README.de.md index 86d55175..869a892d 100644 --- a/lang/README.de.md +++ b/lang/README.de.md @@ -89,6 +89,10 @@ docker compose up -d docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/lang/README.it.md b/lang/README.it.md index 55612d69..9c373d2f 100644 --- a/lang/README.it.md +++ b/lang/README.it.md @@ -89,6 +89,10 @@ docker compose up -d docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/lang/README.ja.md b/lang/README.ja.md index e209f7ae..38a4a6dc 100644 --- a/lang/README.ja.md +++ b/lang/README.ja.md @@ -89,6 +89,10 @@ docker compose up -d docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/lang/README.ru.md b/lang/README.ru.md index 4f0bbcfd..8f9b6239 100644 --- a/lang/README.ru.md +++ b/lang/README.ru.md @@ -89,6 +89,10 @@ docker compose up -d docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/lang/README.zh.md b/lang/README.zh.md index 4e3e6ec8..33ad0022 100644 --- a/lang/README.zh.md +++ b/lang/README.zh.md @@ -89,6 +89,10 @@ docker compose up -d docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/meshchatx.rsm b/meshchatx.rsm index da7b67b5d11740a1602f5878302fa1897a02f23f..f3d53c4486aaa30a78855015319069de386f4dfb 100644 GIT binary patch delta 803 zcmY+CL5LSr5Qp1SZJ?H=WoT^Kwe`JuGjHBIr2ma17b?Y5hald}yxD~GASJS(3mvLO z18X564^cv=Xp=qcB_yzmMQx|(Bzh}?4uOIvecR3J@c6xNzTYfgnqIy%Jz2c++1n>C z@4oQCZy)`<^}GG^_x}F+{PBNJefz|#=U!et`|I5F_O});=NJDw_xaMs#-Xc6ZvC*a z_nYKDKNv3UFHfjfJ@{PW}M51l#m%L_m5 zd1-#vmD7)JoAhi5DZ~UFItSChUcm?&HY*fbt&F{?xRzo$HAbpfdvxkWl-I6rI~6Cj zB|!{Ptf=Q6YA>yhoD#Bol31gZn7m;n?<$xzD+4)1j94SCEzQkuS<))*%Bi9U$Sl;d zKn5>boiGHTMAaaBp(dgc0;iPX_(LlNgqfLl+lhsJM-R@u^7_G9>$Au0QPn7vBcL?^ zYZ+LSQYw)%NQ6oP$SBx49BVye#T4>Tq1MN~812E(WAFVRD%omb>ve3Yu`BeLEoM}w z=+G;vyS2(-s0pnA<>t~X2(blP`Tp>eOP(X8;_fww%XlUbtEYfMs$H=R1;BM+R-mD3 z&=qtE7!vv5eh}>B`wBe51^?#&Y^aAwata%|{L%NUy?WgNBX z+M7pSyK$fki%>^y1w&1MGMrn_EmQ0^n&f~s+T~g#nz3`1VD6h4WVZ6vt!FOYd~WLD zi=V`)?JLW3N7vukH?{ce1ZwGh91&WIWtiwgvH~Vzb_5GeSe@hMv=uJ745bh@?@f>? Mg!Sj&m|D1ZAKbh9kpKVy delta 799 zcmbu7J7^a$5XLPy*!n2e3PnU(@qvPEl1p+44*n~xDEO%2pit4fTv99Q;G>932NCJu ziw-S5Py~yhpi;1t4!Y>-=AhzahYnp_9Mp8|>=rI}zkJ_)8N1&+cE7nXxASw`!v}A- zemMMQvhVm7`g7{hig(Mte4VAuE!R&>uABe z@9FMp9~@kIx6#r0Yhd}zZk~JbF|EIGbmIB#Yg5PR*~yDb&&)r4a%b+-t=Cspw>BuJ zf;ndf3NbMi>y1ySiFDFABuYLS1xcd@R$#0X(xenXhMdVye`+1kjbv@cBr&2bnmHJ4 zY>Fjl!w#)T(j^nTS`W#JHk1URBsNuF zX32#?k`i>*@o;u3EmVWzq62vJwXzsGd}#p+Mg?aI2WH0^&}tj1m0%(`u#$|Rs@q`| zm5@Xg45F5-U8LfQm+@DJ+DDxWXwgMgH%B^VYZcegn1KO3VS!lK*y3YBWmO;xjJDpn z5=n_(EbPMN1z{=GDIW;gWLr}$f&?{8s1`LNqeAPnvf}bu!=fE#f`T>D1l9+U>0<-? zzwP?ZI4AVhrml&bx~Xk^toO*w>7J&m8yX6!`Zr_@2Un8_(HYE8j1!CXKgA+RY}FPV X>Y_>_G(bgp0WMC`%*KOFLx2AP6*csG diff --git a/meshchatx/src/frontend/public/meshchatx-docs/en/installation.md b/meshchatx/src/frontend/public/meshchatx-docs/en/installation.md index 5c422c7c..800edc48 100644 --- a/meshchatx/src/frontend/public/meshchatx-docs/en/installation.md +++ b/meshchatx/src/frontend/public/meshchatx-docs/en/installation.md @@ -36,12 +36,18 @@ Quick start with Compose: docker compose up -d ``` +For [Coolify](https://coolify.io/docs/knowledge-base/docker/compose), deploy with `docker-compose.coolify.yml`. Assign a domain that includes container port `8000` (for example `https://mesh.example.com:8000`). That file serves HTTP inside the container so Coolify can terminate TLS at the proxy. + Manual run with a named volume for persistence: ```bash docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p 127.0.0.1:8000:8000 \ -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest diff --git a/scripts/ci/docker-runtime-smoke.sh b/scripts/ci/docker-runtime-smoke.sh index 0a2b82a1..0011b85a 100755 --- a/scripts/ci/docker-runtime-smoke.sh +++ b/scripts/ci/docker-runtime-smoke.sh @@ -35,6 +35,10 @@ mkdir -p "$CONFIG_DIR" echo "Starting container on host port ${HOST_PORT}..." docker run -d \ --name "$CONTAINER" \ + --cpus=2.0 \ + --memory=1g \ + --memory-reservation=256m \ + --pids-limit=512 \ -p "${HOST_PORT}:8000" \ -v "${CONFIG_DIR}:/config" \ "$IMAGE" >/dev/null