fix: updated ram limits to be under 2GB i have available

This commit is contained in:
Brian Pooe 2026-03-01 17:39:31 +02:00
parent 6720cf8d62
commit d0b565703e
4 changed files with 34 additions and 1 deletions

View file

@ -83,11 +83,15 @@ TECHNITIUM_BLOCKING_TYPE=AnyAddress
TECHNITIUM_BLOCKLIST_URLS=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
TECHNITIUM_ALLOW_BLOCKING_REPORT=false
TECHNITIUM_PREFER_IPV6=false
TECHNITIUM_MEM_LIMIT=512m
TECHNITIUM_MEM_RESERVATION=192m
# Dockhand
DOCKHAND_ENCRYPTION_KEY=
DOCKHAND_PORT=3000
DOCKHAND_BIND_IP=0.0.0.0
DOCKHAND_MEM_LIMIT=256m
DOCKHAND_MEM_RESERVATION=64m
# Host path containing compose stacks that Dockhand should manage
DOCKHAND_STACKS_DIR=/opt/stacks
# Find with: stat -c '%g' /var/run/docker.sock

View file

@ -18,6 +18,21 @@ Use this as the single flow document. Each step links to the deeper guide where
Why temporary IP first:
- You can build and test everything without disturbing production DNS (`192.168.60.5`).
### Compatibility preflight on Pi 4 (important)
Run these checks before deployment:
```bash
uname -m
cat /etc/os-release
docker --version
docker compose version
```
Expected:
- `uname -m` should be `aarch64` (64-bit) for best compatibility with Dockhand.
- OS can be Raspberry Pi OS Lite based on Debian Trixie.
- Docker Engine + Compose plugin installed and working.
- 2GB RAM Pi 4 is fine for this stack with current memory caps.
## 3) Configure compose environment and render stack
1. Fill required values in `.env` (or environment file you use):
- `DNS_BIND_IP=192.168.60.6` (temporary during staging)

View file

@ -3,6 +3,10 @@
This guide deploys Technitium DNS and Dockhand using:
- `/Users/luda/Documents/synology-docker-services/docker-compose-files/technitium-dockhand_template.yaml`
Compatibility note:
- Dockhand image in this stack is `fnsys/dockhand:latest` and should be run on 64-bit Linux (`arm64` on Pi 4).
- 2GB RAM Pi 4 is supported with the included memory caps in the compose template.
## 1) Prepare env values
Update your `.env` with these required values:
- `DNS_BIND_IP=192.168.60.5`
@ -11,6 +15,12 @@ Update your `.env` with these required values:
- `DOCKHAND_STACKS_DIR=<host path containing compose files>`
- `DOCKER_GID=<docker.sock group id>`
For 2GB Pi 4 (recommended defaults already in `.env.sample`):
- `TECHNITIUM_MEM_LIMIT=512m`
- `TECHNITIUM_MEM_RESERVATION=192m`
- `DOCKHAND_MEM_LIMIT=256m`
- `DOCKHAND_MEM_RESERVATION=64m`
Tip:
- `DOCKER_GID` command: `stat -c '%g' /var/run/docker.sock`

View file

@ -44,6 +44,8 @@ services:
# Optional encrypted DNS listeners (enable only if you intend to use them)
# - "{{DNS_BIND_IP:-0.0.0.0}}:853:853/tcp" # DoT
# - "{{DNS_BIND_IP:-0.0.0.0}}:443:443/tcp" # DoH
mem_limit: "{{TECHNITIUM_MEM_LIMIT:-512m}}"
mem_reservation: "{{TECHNITIUM_MEM_RESERVATION:-192m}}"
security_opt:
- no-new-privileges:true
logging:
@ -53,7 +55,7 @@ services:
max-size: "{{DOCKERLOGGING_MAXSIZE}}"
dockhand:
image: ghcr.io/dockhand-oss/dockhand:latest
image: fnsys/dockhand:latest
container_name: dockhand
restart: unless-stopped
labels:
@ -75,6 +77,8 @@ services:
- {{DOCKHAND_STACKS_DIR:-/opt/stacks}}:/opt/stacks
ports:
- "{{DOCKHAND_BIND_IP:-0.0.0.0}}:{{DOCKHAND_PORT:-3000}}:3000/tcp"
mem_limit: "{{DOCKHAND_MEM_LIMIT:-256m}}"
mem_reservation: "{{DOCKHAND_MEM_RESERVATION:-64m}}"
security_opt:
- no-new-privileges:true
logging: