/DEPT · EDITORIAL

03 —FieldNotes.

Обложка статьи Claude Code на VPS
Свежее

Claude Code на VPS: держим ИИ-агента в терминале, а не в ноутбуке

Ноутбук засыпает, закрывается или теряет Wi-Fi в кафе - и вместе с ним обрывается любая задача для Claude Code длиннее пары минут. Переносим агента на постоянный VPS: установка без единой строки Node.js, вход в аккаунт с сервера, у которого нет браузера, tmux вместо надежды на стабильный Wi-Fi, и разговор о том, что реально означает дать программе с доступом к shell отдельный сервер.

Обложка статьи Docker Compose: несколько сервисов на одном VPS

Несколько сервисов на одном VPS: Docker Compose вместо десяти docker run

Три docker run с разными флагами - это три места, где конфигурация может разъехаться при первом же ребуте. Один docker-compose.yml с reverse proxy и парой сервисов за ним решает это раз и навсегда: сервисы видят друг друга по имени, наружу торчит только один порт, у каждого контейнера свой потолок по памяти и CPU, а обновление - это pull и up -d, а не ритуал. Собираем стек из Caddy, Vaultwarden и Uptime Kuma и разбираем, где у него границы.

Обложка статьи: n8n на VPS

n8n на VPS: свой сервер автоматизации вместо n8n.cloud

n8n.cloud считает активные workflow и запуски и не достаёт до сервисов в вашей частной сети. Свой n8n на VPS снимает оба ограничения за цену тарифа в пару долларов. Разбираем docker compose, том с данными, три переменные окружения, которые молча ломают вебхуки, если задать их неправильно, вход через встроенную учётную запись владельца, периметр из nginx и ufw и то, что нужно бэкапить, чтобы не потерять workflow вместе с сервером.

Обложка статьи: AnythingLLM на VPS, веб-интерфейс и RAG поверх Ollama

AnythingLLM на VPS: веб-интерфейс и RAG поверх вашего Ollama

Ollama даёт API и больше ничего: ни истории чатов, ни загрузки документов, ни логина. AnythingLLM закрывает ровно эту дырку - веб-интерфейс, workspace'ы и встроенная векторная база для RAG поверх ваших файлов. Разбираем развёртывание через docker compose: как контейнер дотягивается до Ollama на хосте, где живут данные, почему авторизацию надо включить до того, как вы выдадите ссылку коллеге, и почему привычное

pm2 max_memory_restart не работает - обложка RU

pm2 max_memory_restart не работает как вы думаете: что реально ограничивает память

Живой тест на PM2 7.0.4: короткий всплеск памяти в 100 МБ, который длится 2 секунды и опускается обратно, PM2 не замечает вообще - а устойчивый рост убивает процесс на следующей проверке, что подтверждено логом демона. Разбираем источник кода PM2 (Worker.js, God/Reload.js), разницу между RSS и

Zero-downtime деплой Next.js - обложка RU

Zero-downtime деплой Next.js: PM2 в fork-режиме плюс переключение nginx

pm2 reload не даёт настоящего zero downtime в fork-режиме - замер показал провал около секунды, 11 из 57 запросов вернули connection refused. Рабочая схема: два процесса Next.js на разных портах, переключение upstream nginx и curl-петля, которая это доказывает.

cover - perimeter-ru

nginx и ufw перед вашим Node.js-приложением: правильный периметр

nginx берёт на себя TLS, роутинг по домену и защиту от битого конфига через nginx -t; ufw закрывает всё, кроме SSH и 80/443 - но только если приложение не спрятано за Cloudflare Tunnel. Разбираем конфиг, заголовки прокси и самую частую дыру в периметре - открытый порт приложения в обход nginx.

Рентген-схема сервера с Next.js и путь через туннель к глобусу

Как выложить Next.js-сайт на дешёвый VPS: nginx, Cloudflare Tunnel и PM2

Боевой разбор: почему PM2 должен запускать next start напрямую, а не через npm start, почему сборке даже пустого приложения нужно ~1.2 ГБ памяти, что писать в конфиг nginx и как пустить трафик через Cloudflare Tunnel по config.yml, не открыв ни одного входящего порта. Плюс атомарная выкладка с откатом.

OOM killer и load average на HIP - обложка статьи
25 сентября 2026 г.

OOM killer и load average на VPS: как отличить нехватку памяти от нехватки CPU

Load average 15 при почти простаивающем процессоре - это не сбой датчика, а сигнал, который половина админов читает неправильно. Разбираем, что на самом деле считает load average, когда за дело берётся OOM killer и по какому принципу выбирает жертву, почему контейнер может умереть от собственного лимита памяти при свободных гигабайтах на хосте, и какая из трёх стандартных «починок» - своп, лимиты или апгрейд RAM - решает проблему, а какая просто её откладывает.

POSTS
16
TAGS
0
LANGUAGES
EN · RU