Files
robotex/docker-compose.yml
T
2026-10-12 14:11:09 +04:00

31 lines
1.1 KiB
YAML

services:
api:
build: .
image: robotex:latest
restart: unless-stopped
ports:
- "${API_PORT:-8000}:8000"
env_file:
- path: .env
required: false
volumes:
- extra:/app/extra
# Chrome активно использует /dev/shm, дефолтных 64MB не хватает
shm_size: "2gb"
# Потолок ресурсов: при переборе OOM-killer прибьёт процесс Chrome внутри контейнера,
# а не соседние сервисы на хосте. Подбирать под сервер вместе с BROWSER_SLOTS.
cpus: ${API_CPUS:-4}
mem_limit: ${API_MEM_LIMIT:-8g}
memswap_limit: ${API_MEM_LIMIT:-8g}
# HTTP-прокси для локальных тестов (exit-IP = IP хоста): docker compose --profile loadtest up -d
# из контейнера api доступен как http://proxy:8080
proxy:
image: gogost/gost:3.1.0
profiles: ["loadtest"]
restart: unless-stopped
command: ["-L", "http://:8080"]
volumes:
extra: