Files

22 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

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