Update infrastructure to use external PostgreSQL server instead of Docker container. Modify .env.example and documentation to reflect new connection settings and deployment instructions.

This commit is contained in:
Leonid Pershin
2026-07-24 06:33:11 +03:00
parent 8a3eebc48f
commit b67cc960a0
4 changed files with 27 additions and 46 deletions
+8 -4
View File
@@ -23,7 +23,8 @@
Маппинг DTO вручную. OpenAPI — нативный `Microsoft.AspNetCore.OpenApi` + Scalar UI.
- **Frontend**: React 19 + Vite + TS, TanStack Query/Router, shadcn-стиль поверх Radix + Tailwind
v4, Zustand (только auth+тема), react-hook-form + zod. pnpm, oxlint.
- **Инфра**: единый Docker-образ (API + статика SPA) + PostgreSQL в docker-compose.
- **Инфра**: единый Docker-образ (API + статика SPA); PostgreSQL **внешний сервер**, не в
compose (в отличие от PnvPanel).
## Архитектура — жёсткие правила
@@ -83,8 +84,11 @@
runtime. Никакого gosu/root-drop и Data Protection key-ring — секретов на диске пока нет
(JWT-ключ — обычная конфигурация, не шифруемый секрет at-rest); если появятся зашифрованные
данные (например API-ключи внешних сервисов) — добавлять Data Protection по образцу PnvPanel.
- docker-compose: `app` + `db` (PostgreSQL). Миграции применяются авто на старте
(`ApplyMigrationsAsync` в `Program.cs`).
- docker-compose: только `app` — PostgreSQL живёт вне compose (внешний сервер/хост, адрес и
креды — в `ConnectionStrings__Default` из `.env`; база и пользователь на нём создаются
заранее вручную, приложение их не сидит). Миграции применяются авто на старте
(`ApplyMigrationsAsync` в `Program.cs`) — прав `CREATEDB` не требуется, только DDL/DML в
уже существующей базе.
- Не вводи отдельный nginx-контейнер для статики — ломает требование единого контейнера.
- **TLS — внешний**; `app` отдаёт HTTP + доверяет `X-Forwarded-*` (`ForwardedHeaders`).
@@ -121,7 +125,7 @@ pnpm lint && pnpm typecheck
Инфраструктура:
```bash
docker compose up -d --build # api + postgres
docker compose up -d --build # только api; postgres — внешний, см. ConnectionStrings__Default
```
> Окружение: Windows, основная оболочка — **PowerShell**. Для POSIX-скриптов есть Bash-инструмент.