31 lines
1.1 KiB
YAML
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:
|