- Switch @bytelyst/* to file:../vendor/* references; add vendor/ tree;
update both Dockerfile stages to COPY vendor/ before pnpm install
- docker-compose.yml: add healthcheck on backend /health/live; use
backend/.env as env_file; env-var-driven web build args with prod defaults;
GITEA_NPM_TOKEN uses ${:-} safe default; web depends_on service_healthy
- Add docker-compose.dev.yml hot-reload overlay
- Add scripts/dev.sh convenience script for Docker+local-web hybrid
- .npmrc: add replace-registry-host=always for Gitea Docker-internal rewrite
- Update smoke-release.sh and root package.json docker:* scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
# Development overlay — hot-reload for backend and web.
|
|
# Usage:
|
|
# docker compose -f docker-compose.yml -f docker-compose.dev.yml up
|
|
#
|
|
# Both services mount local source directories so edits are reflected immediately
|
|
# without rebuilding the image. Requires node_modules to exist locally
|
|
# (run `pnpm install` at repo root first).
|
|
|
|
version: '3.9'
|
|
|
|
services:
|
|
# ---------------------------------------------------------------------------
|
|
# Backend dev — tsx hot-reload
|
|
# ---------------------------------------------------------------------------
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: backend/Dockerfile
|
|
target: builder # Stop at the build stage; no production image
|
|
command: >
|
|
sh -c "cd /app/backend && node --import tsx src/bootstrap.ts"
|
|
volumes:
|
|
- ./backend/src:/app/backend/src:ro
|
|
- ./shared:/app/shared:ro
|
|
- ./.env:/app/.env:ro
|
|
environment:
|
|
NODE_ENV: development
|
|
# Override healthcheck for faster feedback in dev
|
|
healthcheck:
|
|
interval: 10s
|
|
start_period: 5s
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Web dev — Vite dev server (HMR)
|
|
# ---------------------------------------------------------------------------
|
|
web:
|
|
image: node:20-alpine
|
|
working_dir: /app/web
|
|
command: >
|
|
sh -c "corepack enable && pnpm run dev --host 0.0.0.0 --port 3048"
|
|
volumes:
|
|
- ./web:/app/web:ro
|
|
- ./shared:/app/shared:ro
|
|
- ./web/node_modules:/app/web/node_modules
|
|
- ./.env:/app/.env:ro
|
|
ports:
|
|
- '3048:3048'
|
|
environment:
|
|
NODE_ENV: development
|
|
VITE_PRODUCT_ID: ${VITE_PRODUCT_ID:-invttrdg}
|
|
VITE_PLATFORM_URL: ${VITE_PLATFORM_URL:-http://localhost:4003/api}
|
|
VITE_TRADING_API_URL: ${VITE_TRADING_API_URL:-http://localhost:4018}
|
|
VITE_BACKTEST_ENABLED: ${VITE_BACKTEST_ENABLED:-true}
|
|
depends_on:
|
|
- backend
|