СтатьяРазработка

Codex на удалённом сервере: мой короткий чек-лист перед первым запуском

Права, Git, переменные окружения, сборка и откат — несколько проверок, которые спасают удалённую сессию от очень длинного вечера.

19 июля 2026 г.2 минут чтения

Удалённый агент особенно бодр в первые пять минут. Он видит репозиторий, находит package.json и уже готов чинить всё сразу. Я в этот момент проверяю скучные вещи.

Отдельный пользователь и понятная папка

Для проекта нужен отдельный каталог с предсказуемым владельцем. Если сборка запускается от одного пользователя, а файлы после деплоя принадлежат другому, следующий запуск быстро превращается в археологию прав.

id
pwd
git status --short --branch

Три команды дают больше полезного контекста, чем торжественное «у нас Ubuntu».

Секреты не должны попадать в диалог

Я проверяю наличие .env, но не печатаю его содержимое. Агенту обычно достаточно знать названия обязательных переменных из .env.example и команду проверки конфигурации.

Токен в аргументах команды тоже плохая идея: он останется в истории shell и иногда мелькнёт в списке процессов.

Сначала сборка, потом Nginx

До изменения рабочего конфига запускаю тесты и production-сборку. Для Nginx есть nginx -t, для Compose — docker compose config, для systemd — хотя бы чтение последних логов сервиса.

npm ci
npm run build
sudo nginx -t

Откат должен помещаться в одну фразу

Перед деплоем я хочу закончить предложение: «Если всё сломается, я…»

Хорошие варианты — вернуть предыдущий симлинк, перезапустить старый контейнер или сделать checkout известного коммита. «Посмотрю по ситуации» технически тоже ответ, но спать после него сложнее.