Files
pca-pijac/docker-compose.yml
Marko Marković 39460df61d Fix prod docker build: native modules and frontend devDeps
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.
2026-04-23 21:52:22 +04:00

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