- ci.yml: lint + type-check + build on every push/PR to main; uploads dist artifact - docker.yml: builds and pushes image to ghcr.io/nmemmert/letter on main push and version tags; uses GHA layer cache - docker-compose.yml: `app` service runs the production nginx image on :8080; `dev` profile mounts source and runs vite dev server on :5173 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
393 B
YAML
22 lines
393 B
YAML
services:
|
|
app:
|
|
build: .
|
|
image: ghcr.io/nmemmert/letter:main
|
|
ports:
|
|
- "8080:80"
|
|
restart: unless-stopped
|
|
|
|
dev:
|
|
image: node:20-alpine
|
|
working_dir: /app
|
|
volumes:
|
|
- .:/app
|
|
- node_modules:/app/node_modules
|
|
ports:
|
|
- "5173:5173"
|
|
command: sh -c "npm install && npm run dev -- --host 0.0.0.0"
|
|
profiles: [dev]
|
|
|
|
volumes:
|
|
node_modules:
|