On a shared Docker network (Dokploy) plain service names like web or api
also resolve to other stacks' containers, so the gateway balanced requests
across foreign containers and returned 502. Services reached by name now
carry an imen-* alias, used by the gateway upstreams and the service URLs.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- API: `pnpm build` bundles dist/ into apps/api/.output (esbuild), with
Linux musl native packages for sharp and argon2 kept alongside
- docker/api.Dockerfile copies that output; no pnpm install on the server
- add dist/migrate.js (prisma migrate deploy equivalent, same
_prisma_migrations table and lock) so the Prisma CLI is not needed at runtime
- pnpm-workspace: supportedArchitectures for linux/x64/musl
- admin: apps/admin/.env.production sets VITE_SITE_URL for the production build
- drop NPM_REGISTRY / SITE_URL build args from compose and .env.example
- gitignore: anchor node_modules rules so pre-built node_modules are committed
- README: describe the pre-built deploy flow
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Restructure the repo into a pnpm + Turborepo monorepo:
- apps/web: Nuxt 4 site, now server-rendered and reading all content
from the API; pages cached with SWR and purged on content changes
- apps/api: NestJS 12 + Prisma 7 + PostgreSQL. Auth with short-lived
access tokens and rotating httpOnly refresh cookies, roles (ADMIN,
EDITOR), catalog, editable site sections, media upload to S3-compatible
storage (converted to WebP), contact messages, audit log
- apps/admin: Vue 3 admin panel (Ant Design Vue, Pinia, Tailwind) for
products, categories, site sections, messages, media and users
- packages/shared: Zod schemas and types shared by API and admin
Also:
- seed script that loads the original 8 categories / 89 products and
section content
- Docker images for api (with a one-off migrate service), web, admin,
and an nginx gateway for both domains
- dev and production compose files, daily database backup service
- API e2e tests
Removes the committed static out/ build and the old root Dockerfile.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>