diff --git a/api/src/production/server.py b/api/src/production/server.py index cf0bdbe..a491a0e 100644 --- a/api/src/production/server.py +++ b/api/src/production/server.py @@ -45,7 +45,7 @@ QUEUED_INFERENCES = max(0, int(os.getenv("QUEUED_INFERENCES", "1"))) # PyTorch threads used by EACH running prediction. Total CPU use is roughly # PARALLEL_INFERENCES * TORCH_THREADS, so keep the product <= your CPU cores. TORCH_THREADS = max(1, int(os.getenv("TORCH_THREADS", "1"))) -MAX_UPLOAD_BYTES = 5 * 1024 * 1024 +MAX_UPLOAD_BYTES = int(max(1, float(os.getenv("MAX_UPLOAD_MEGABYTES", "15"))) * 1024 * 1024) MAX_FRAME_BYTES = 1 * 1024 * 1024 MAX_IMAGE_PIXELS = 20_000_000 MAX_WEBSOCKETS = 3 diff --git a/caddy/Caddyfile b/caddy/Caddyfile index e773af8..9505ad8 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -1,5 +1,5 @@ { - email marvin.krausser277@gmail.com + email {$CADDY_EMAIL:marvin.krausser277@gmail.com} } (common) { @@ -25,7 +25,7 @@ marvinkrausser.com { api.marvinkrausser.com { import common request_body { - max_size 10MB + max_size {$CADDY_MAX_BODY:16MB} } reverse_proxy cnn_api:8000 } diff --git a/compose.yaml b/compose.yaml index 2019cde..f185e6c 100644 --- a/compose.yaml +++ b/compose.yaml @@ -7,6 +7,10 @@ services: - "80:80" - "443:443" restart: unless-stopped + environment: + - CADDY_EMAIL=marvin.krausser277@gmail.com + # Keep about 1 MB above the API's MAX_UPLOAD_MEGABYTES (multipart overhead). + - CADDY_MAX_BODY=16MB volumes: - ./caddy/data:/data/caddy - ./caddy/config:/config/caddy @@ -41,6 +45,7 @@ services: - PREDICT_RATE_WINDOW=60 - REVIEW_RATE_LIMIT=5 - REVIEW_RATE_WINDOW=60 + - MAX_UPLOAD_MEGABYTES=15 cpus: "5" mem_limit: 3g