Per-package onlyBuiltDependencies so pnpm 10 actually compiles native modules (isolated-vm, argon2, sqlite3, sharp) — root workspace config isn't visible when compose mounts a single package into /app. Frontend container now installs with devDeps (so tsc/vite exist), prunes after build, and gains a `start` script that serves the build via vite preview on 0.0.0.0:3000. Drop obsolete compose `version` key.
55 lines
1.1 KiB
YAML
55 lines
1.1 KiB
YAML
networks:
|
|
main:
|
|
external: true
|
|
|
|
services:
|
|
backend:
|
|
image: node:lts-bookworm
|
|
container_name: pca_pijac_backend
|
|
restart: unless-stopped
|
|
env_file: ./backend/.env.production
|
|
networks:
|
|
- main
|
|
volumes:
|
|
- ./backend:/app
|
|
- ./data:/data
|
|
labels:
|
|
caddy: admin.pca-pijac.dev.civokram.com
|
|
caddy.reverse_proxy: '{{upstreams 8055}}'
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
npm i -g pnpm
|
|
cd /app
|
|
pnpm install --production
|
|
rm -f .env
|
|
pnpm run start
|
|
|
|
frontend:
|
|
image: node:lts-bookworm
|
|
container_name: pca_pijac_frontend
|
|
restart: unless-stopped
|
|
env_file: ./frontend/.env.production
|
|
depends_on:
|
|
- backend
|
|
networks:
|
|
- main
|
|
volumes:
|
|
- ./frontend:/app
|
|
labels:
|
|
caddy: pca-pijac.dev.civokram.com
|
|
caddy.reverse_proxy: '{{upstreams 3000}}'
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
npm i -g pnpm
|
|
cd /app
|
|
pnpm install --frozen-lockfile
|
|
sleep 10
|
|
rm -f .env
|
|
pnpm run build
|
|
pnpm prune --prod
|
|
pnpm run start
|