1.3 KiB
1.3 KiB
D-003. Без Docker: всё на хосте, процессы под systemd
Статус: принято, 20.10.2026.
Контекст
На сервере уже работают PostgreSQL 18, nginx и Redis. Пользователь хочет, чтобы dev и prod запускались одинаково и без Docker.
Решение
- PostgreSQL и nginx — на хосте.
- Приложение — обычный процесс Node: dev —
pnpm dev, prod —pnpm buildиpnpm start. Оба — systemd user-юниты: dev у пользователя vx_dev, prod у vx_prod (D-004). - Prod выкладывается в отдельную папку релиза и переключается симлинком
current. Откат — переключить симлинк обратно.
Рассмотренные варианты
Docker-образ для prod — воспроизводимая сборка и изоляция, но лишний слой. Тот же откат даёт схема с папками релизов.
Последствия
- Сборка prod идёт на этом же сервере (нагрузка 2–4 ГБ памяти на время сборки).
- Node и pnpm общие для dev и prod: обновляются вместе.