Files
Domain_web/docs/DEPLOYMENT.md
Андрей Бобырев 1196bc3d11 fix(deploy): sync static assets and nginx CSS route
Copy .next/static and public into standalone after build; serve
/_next/static from nginx; verify CSS in install.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-24 23:19:03 +03:00

46 lines
1.3 KiB
Markdown

# Deployment
## Docker (recommended)
```bash
docker compose up -d --build
docker compose exec web npx prisma db push
```
## VPS one-liner
```bash
curl -fsSL https://raw.githubusercontent.com/andrey271192/Domain_web/main/install.sh | sudo bash
```
Install path: `/opt/domain-scanner` (lite VPS install via `install.sh`)
Service: `domain-scanner.service``npm start` from repo root (not standalone `server.js` alone)
Nginx site: `domain-scanner` on port 80 → app `:3000`, with `/_next/static/` served from disk
**CSS / static assets:** After `next build`, run `scripts/sync-standalone-assets.sh` (also via `postbuild`) so `.next/static` and `public` exist under `.next/standalone` for Docker. Host deploy must keep `${INSTALL_DIR}/.next/static` — never run `node .next/standalone/server.js` without that copy.
## Environment on server
Edit `/opt/domain-scanner/.env`:
- `NEXTAUTH_SECRET` — auto-generated on first install
- `NEXTAUTH_URL` / `NEXT_PUBLIC_APP_URL` — public IP or domain
## Manual Node deploy
```bash
npm ci && npm run build
DATABASE_URL=... npx prisma db push
PORT=3000 npm start
```
## SSL / HTTPS
Place certbot in front of nginx or terminate TLS at a reverse proxy.
## Upgrades
```bash
cd /opt/domain-scanner && git pull && npm ci && npm run build && systemctl restart domain-scanner nginx
```