# Конфигурация Docker на сервере ## Рекомендации для серверов с ограниченной RAM (8 GB) ### 1. Ограничение BuildKit cache Чтобы BuildKit cache не раздувался до 80+ GB: ```bash # Создать или отредактировать sudo nano /etc/docker/daemon.json ``` Содержимое: ```json { "builder": { "gc": { "defaultKeepStorage": "10GB", "enabled": true } }, "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } ``` Затем перезапуск: ```bash sudo systemctl restart docker ``` ### 2. Очистка build cache Если нужно освободить место вручную: ```bash # Удалить неиспользуемый build cache (осторожно: следующая сборка будет дольше) docker builder prune -af # Или с ограничением по возрасту (старше 7 дней) docker builder prune -af --filter "until=168h" ``` ### 3. Frontend Dockerfile — лимит памяти Node.js В `front_material/Dockerfile` уже задано: ```dockerfile ENV NODE_OPTIONS="--max-old-space-size=2048" ``` Это ограничивает heap Node.js до 2 GB при сборке и снижает риск OOM и тяжёлого swapping на машинах с 8 GB RAM. ### 4. Swap Рекомендуется swap 4–8 GB на серверах с 8 GB RAM — для стабильности при пиковых нагрузках.