Install and build on the server host with npmmirror, then package a slim image without network during docker build.
Co-authored-by: Cursor <cursoragent@cursor.com>
npm ci ignores registry config when lockfile points at registry.npmjs.org; rewrite resolved URLs to mirror.iranserver.com before install.
Co-authored-by: Cursor <cursoragent@cursor.com>
ARG after FROM was empty without an explicit default, so npm ci hit the slow/blocked official registry.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop apk openssl (node alpine already has it) and use npmmirror by default so Iranian servers can build without Alpine TLS failures.
Co-authored-by: Cursor <cursoragent@cursor.com>
Provide backend for admin and user apps with Postgres, migrations, seed data, and docker-compose for LiteSpeed reverse-proxy deployment.
Co-authored-by: Cursor <cursoragent@cursor.com>