Commit Graph
11 Commits
Author SHA1 Message Date
DenozordecandCursor 8b38021200 docker: оптимизация образа — 2 стадии вместо 3, один COPY-слой в runtime
- убран отдельный deps-stage: build + pnpm prune --prod в одном RUN
- удаление src/tsconfig/.vite-temp и лишних файлов в node_modules (md/map/ts/LICENSE/...)
- runtime: alpine + nodejs, один COPY --from=build /app (symlink’и pnpm сохраняются)
- итого: 2 стадии, ~1 COPY-слой в runtime вместо ~17

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 16:08:34 +07:00
DenozordecandCursor 3026f1d1ce fix(docker): копирование apps/api/db.js и routes/ в образ; пути к web/dist и seed
- Dockerfile: добавлены COPY для db.js, routes/, apps/web/public (seed)
- apps/api/index.js: distPath → ../web/dist (раньше ../dist)
- apps/api/db/index.js: DB_PATH/SEED_DIR/dataDir — на 3 уровня вверх
  (apps/api/db/ → корень) и seed из apps/web/public/data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 13:51:19 +07:00
DenozordecandCursor 6fbd1a9113 refactor(repo): переход на pnpm monorepo с shadcn/ui и Fastify+Drizzle
Frontend:
- apps/web (Vite+TS, TanStack Router/Query, shadcn/ui @cfdm/ui base-nova)
- 10 страниц в routes/_auth/, Recharts через shadcn Chart, lucide-react
- формы на RHF + Zod (FormSheet/FormField)
- удалены Tabler, Chart.js, react-router-dom

Backend (параллельный трек):
- apps/api (Fastify 5 + Drizzle + better-sqlite3)
- packages/db: Drizzle-схема и repositories по сущностям
- packages/shared: Zod-контракты
- роуты с валидацией и единым форматом ошибок { error: { code, message } }
- sync/backup — заглушки 501 (billmanager-адаптеры переносятся отдельно)
- legacy Express оставлен как runtime по умолчанию (RUNTIME=express)

Infra:
- Dockerfile multi-stage под pnpm workspaces
- .dockerignore и docker-compose обновлены под monorepo

Rules:
- удалены нерелевантные правила (rust, cloudflare, server/frontend-conventions)
- project-structure.mdc и AGENTS.md переписаны под monorepo
- frontend-shadcn.mdc, shadcn-ui-production.mdc, sqlite.mdc обновлены

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 13:42:05 +07:00
Denozordec 5cd11fc454 docker: revert to apk add nodejs (smaller than full node binary)
Docker / build (push) Failing after 17s
Made-with: Cursor
2026-03-21 01:43:47 +07:00
Denozordec 3c950db2ad docker: copy node binary instead of apk add nodejs for smaller image
Docker / build (push) Failing after 16s
Made-with: Cursor
2026-03-21 01:41:51 +07:00
Denozordec 116632aa9e docker: оптимизация образа (alpine+nodejs, очистка node_modules)
Docker / build (push) Failing after 16s
Made-with: Cursor
2026-03-21 01:38:01 +07:00
Denozordec 43c1a0dc81 docker: final stage back to node:22-alpine (fewer base layers than distroless)
Made-with: Cursor
2026-03-21 01:31:09 +07:00
Denozordec 446d70d3dc docker: minimal runtime image — UI in devDeps, distroless final, slim bundle
Docker / build (push) Failing after 16s
Made-with: Cursor
2026-03-21 01:27:26 +07:00
Denozordec dae8bb8066 docker: drop npm cache clean after ci (fixes exit 254 with BuildKit cache mount)
Docker / build (push) Failing after 18s
Made-with: Cursor
2026-03-21 01:19:53 +07:00
Denozordec 87cc899486 docker: fewer final image layers, npm cache mount, trim build context
Docker / build (push) Failing after 18s
Made-with: Cursor
2026-03-21 01:18:37 +07:00
Denozordec a32f3420f9 Update README and server configuration for VPS Tracker application
Docker / build (push) Failing after 2m55s
- Renamed project from "React + Vite" to "VPS Tracker" and updated the README to reflect the application's purpose and usage instructions.
- Added detailed Docker setup instructions, including two methods for running the application: using Docker Compose and standalone Docker.
- Implemented static file serving in the server configuration to serve the frontend from the 'dist' directory if it exists, enhancing the application's deployment capabilities.
2026-03-20 23:24:32 +07:00