212.113.117.186 — all services on this server
GIT
GIT
GIT
GIT
GIT
GIT
GIT
Статический проект (HTML/JS) → отдельный nginx:alpine контейнер → карточка в этой сводке.
Для камеры/HTTPS прокинь под путь на dvn.ostrov-vezeniya.ru.
Редактировать файл нужно в-place (sed -i ломает inode bind-mount).
В /srv/dvn/index.html добавь блок внутри подходящей .group .grid:
Скрипт сам парсит index.html — список картинок не дублируется в коде.
/srv/infrastructure/screenshooter/shoot.js — puppeteer-скрипт (ESM)prv-graph и map-1914 ждут domcontentloaded + 4с (тяжёлые сцены)/srv/dvn/previews/<name>.jpgОдин VPS, один nginx-прокси, отдельные nginx-контейнеры на каждый статический проект.
/etc/logrotate.d/docker-containers (10MB × 5, gzip)proxy.conf mount — file-mount, sed -i сменит inode и контейнер не увидит правок. Только truncate + write или Python f.seek(0)server_name или серверный блок → docker compose restart proxylocation внутри блока подхватывается по nginx -s reload