Files
2026-11-11 11:24:02 +03:00

25 lines
3.0 KiB
Plaintext

О’ляпка · Nginx с сайтом в оперативной памяти
Распакуйте три файла рядом с существующей папкой html и docker-compose.yml версии v3. Папку html оставьте на диске: это источник для перезапуска. Существующая внешняя сеть pangolin_frontend и имя контейнера olapka-ru сохранены.
Проверка без запуска:
docker compose -f docker-compose.ram.yml config -q
Включение (в каталоге действующего проекта):
docker compose -f docker-compose.ram.yml up -d --force-recreate nginx
Команда пересоздаёт сервис; во время копирования возможен краткий перерыв. Используйте то же имя проекта Compose, что и сейчас (в исходном файле — olapka; если вы задавали -p, повторите его).
Контроль внутри контейнера:
docker compose -f docker-compose.ram.yml exec nginx df -h /srv/olapka-ram
docker compose -f docker-compose.ram.yml exec nginx nginx -t
Для видео запрос Range: bytes=0-1023 должен вернуть 206 Partial Content.
Обновление контента: полностью обновите html на диске, затем выполните
docker compose -f docker-compose.ram.yml restart nginx
Обычный nginx reload не копирует файлы заново. При изменении лимитов или томов используйте up -d --force-recreate nginx.
Откат к исходному конфигу:
docker compose -f docker-compose.yml up -d --force-recreate nginx
Что находится в RAM: полный снимок html (страницы, скрипты, картинки, видео и служебные файлы). Сервер начинает принимать запросы только после успешного копирования и nginx -t. Правила браузерного кеширования, перенаправления, HTTPS через Pangolin и отложенная загрузка видео сохранены. Журналы Docker, исходники и сама ОС не переносятся в RAM.
Размер текущей статики около 265 МиБ. Предел tmpfs — 384 МиБ, лимит всего контейнера — 640 МиБ; равный memswap_limit запрещает контейнеру swap при поддержке Linux cgroups. Лимиты не резервируют физическую память. На сервере нужен достаточный запас оперативной памяти. Если html перерастёт 384 МиБ, увеличьте size, а при необходимости и оба равных лимита; при ошибке копирования сервис не запустится.