Angular's server build needs Node loader hooks that Bun does not apply, and every route is client-rendered, so Angular now builds a client-only bundle and a small Bun.serve server delivers it: hashed assets with the one-year cache, index.html revalidated, extension-less routes falling back to index.html, missing assets 404, traversal and malformed paths rejected, and other methods 405. Express, @angular/ssr and the unused hydration provider are removed. Both Docker stages use the pinned oven/bun:1.4.3-alpine image without Node, and the health checks use Bun's fetch. Refs #292 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
818 B
YAML
32 lines
818 B
YAML
services:
|
|
vac-optimizer:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: vac-optimizer:latest
|
|
container_name: vac-optimizer
|
|
restart: unless-stopped
|
|
ports:
|
|
- '4000:4000'
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=4000
|
|
healthcheck:
|
|
test:
|
|
[
|
|
'CMD',
|
|
'bun',
|
|
'-e',
|
|
"fetch('http://localhost:4000/').then(r => process.exit(r.ok ? 0 : 1), () => process.exit(1))",
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
networks:
|
|
- vac-optimizer-network
|
|
|
|
networks:
|
|
vac-optimizer-network:
|
|
driver: bridge
|