Run backend as non-root user, add resource limits to all containers

- Dockerfile: create and switch to unprivileged appuser (HIGH fix)
- docker-compose: mem_limit + cpus on nginx (128m/0.25), backend (512m/0.5), db (512m/0.5)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 01:06:40 -07:00
parent 95d648210c
commit 2c45e599c0
2 changed files with 9 additions and 0 deletions
+6
View File
@@ -9,6 +9,8 @@ services:
depends_on:
- backend
restart: unless-stopped
mem_limit: 128m
cpus: 0.25
backend:
build: ./backend
@@ -23,6 +25,8 @@ services:
db:
condition: service_healthy
restart: unless-stopped
mem_limit: 512m
cpus: 0.5
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 10s
@@ -45,6 +49,8 @@ services:
timeout: 5s
retries: 10
restart: unless-stopped
mem_limit: 512m
cpus: 0.5
volumes:
mysql_data: