64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
services:
|
|
server:
|
|
build:
|
|
context: .
|
|
dockerfile: apps/server/Dockerfile
|
|
working_dir: /app
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
dns:
|
|
- 8.8.8.8
|
|
- 1.1.1.1
|
|
command: sh -c "pnpm install || true && pnpm -C /app/apps/server dev"
|
|
ports:
|
|
- "${SERVER_PORT:-3001}:${SERVER_PORT:-3001}"
|
|
volumes:
|
|
- ./:/app
|
|
- /app/node_modules
|
|
- /app/apps/web/node_modules
|
|
- /app/apps/server/node_modules
|
|
- ./data:/app/data
|
|
environment:
|
|
- NODE_ENV=development
|
|
- QBIT_BASE_URL=${QBIT_BASE_URL}
|
|
- QBIT_USERNAME=${QBIT_USERNAME}
|
|
- QBIT_PASSWORD=${QBIT_PASSWORD}
|
|
- APP_USERNAME=${APP_USERNAME}
|
|
- APP_PASSWORD=${APP_PASSWORD}
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- SERVER_PORT=${SERVER_PORT}
|
|
- WEB_PORT=${WEB_PORT}
|
|
- WEB_ORIGIN=${WEB_ORIGIN}
|
|
- WEB_ALLOWED_ORIGINS=${WEB_ALLOWED_ORIGINS}
|
|
- POLL_INTERVAL_MS=${POLL_INTERVAL_MS}
|
|
- ENFORCE_INTERVAL_MS=${ENFORCE_INTERVAL_MS}
|
|
- DEFAULT_DELAY_MS=${DEFAULT_DELAY_MS}
|
|
- MAX_LOOP_LIMIT=${MAX_LOOP_LIMIT}
|
|
- WATCHER_SECRET_KEY=${WATCHER_SECRET_KEY}
|
|
- WATCHER_ENABLED=${WATCHER_ENABLED}
|
|
- WATCHER_TICK_MS=${WATCHER_TICK_MS}
|
|
- WATCHER_TIMEOUT_MS=${WATCHER_TIMEOUT_MS}
|
|
- WATCHER_RUNTIME_DIR=${WATCHER_RUNTIME_DIR}
|
|
- WSCRAPER_SERVICE_BASE_URL=${WSCRAPER_SERVICE_BASE_URL:-http://host.docker.internal:8787}
|
|
- WSCRAPER_SERVICE_TOKEN=${WSCRAPER_SERVICE_TOKEN:-}
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: apps/web/Dockerfile
|
|
working_dir: /app
|
|
dns:
|
|
- 8.8.8.8
|
|
- 1.1.1.1
|
|
command: sh -c "pnpm install || true && pnpm -C /app/apps/web dev"
|
|
ports:
|
|
- "${WEB_PORT:-5173}:${WEB_PORT:-5173}"
|
|
volumes:
|
|
- ./:/app
|
|
- /app/node_modules
|
|
environment:
|
|
- NODE_ENV=development
|
|
- VITE_API_BASE=http://${APP_HOST:-localhost}:${SERVER_PORT:-3001}
|
|
- WEB_PORT=${WEB_PORT}
|
|
- WEB_ORIGIN=http://${APP_HOST:-localhost}:${WEB_PORT:-5173}
|
|
- WEB_ALLOWED_HOSTS=${WEB_ALLOWED_HOSTS:-localhost}
|