34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
services:
|
|
career-ops:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: career-ops:local
|
|
container_name: career-ops
|
|
working_dir: /app
|
|
# Long-running shell so `docker compose exec` is instant.
|
|
command: ["tail", "-f", "/dev/null"]
|
|
init: true
|
|
# Mount whole project so edits on host are visible inside the container.
|
|
# node_modules is kept inside the image to avoid host/container ABI mismatch
|
|
# (host is ubuntu26.04 where playwright won't install; image is jammy).
|
|
volumes:
|
|
- .:/app
|
|
- career-ops-node-modules:/app/node_modules
|
|
environment:
|
|
- NODE_ENV=development
|
|
- PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
|
|
# Forward common API keys if set on host. Empty values are ignored.
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
# Chromium needs a larger /dev/shm than the default 64M.
|
|
shm_size: "1gb"
|
|
# Dashboard TUI is interactive; expose nothing by default but allow `-it`.
|
|
tty: true
|
|
stdin_open: true
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
career-ops-node-modules:
|