finance-tools/docker-compose.yml

55 lines
1.3 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: investor-rpg-app
restart: unless-stopped
env_file:
- .env
environment:
PORT: "3000"
NODE_ENV: production
volumes:
# SQLite、SEC 快取、AI 設定(設定頁寫入)
- investor-data:/app/docker-data
# 設定頁會更新 /app/.env掛回主機以免重建容器後遺失
- ./.env:/app/.env
# 線型教材 MD專案上一層 content/;沒有此目錄可刪除此行)
- ../content:/content:ro
expose:
- "3000"
healthcheck:
test:
[
"CMD",
"node",
"-e",
"fetch('http://127.0.0.1:3000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 45s
nginx:
image: nginx:1.27-alpine
container_name: investor-rpg-nginx
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
app:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
investor-data: