Files
veilix.app/docs/decisions/D-003-hosting.md
T
2026-10-21 03:30:38 +02:00

1.3 KiB
Raw Blame 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).
  3. Prod выкладывается в отдельную папку релиза и переключается симлинком current. Откат — переключить симлинк обратно.

Рассмотренные варианты

Docker-образ для prod — воспроизводимая сборка и изоляция, но лишний слой. Тот же откат даёт схема с папками релизов.

Последствия

  1. Сборка prod идёт на этом же сервере (нагрузка 2–4 ГБ памяти на время сборки).
  2. Node и pnpm общие для dev и prod: обновляются вместе.