Files
factoryOps-v2/docker-compose.dev.yml
Johngreen 278cd9d551
All checks were successful
Deploy to Production / deploy (push) Successful in 1m37s
feat: bidirectional equipment sync with digital-twin
Add import, sync, and push capabilities between factoryOps and the
digital-twin (BaSyx AAS) backend. Includes:

- Equipment sync service with field mapping and LWW conflict resolution
- Import preview modal with already-imported detection
- Bidirectional sync (pull updates + push local changes)
- Sync history tracking via equipment_sync_history table
- Machine detail page shows sync status and change history
- Docker networking for container-to-container communication
- UI fixes: responsive layout (375px), touch targets, section spacing
- 30 test cases for sync service
2026-02-12 12:27:21 +09:00

60 lines
1.6 KiB
YAML

version: '3.8'
services:
api:
build:
context: .
dockerfile: Containerfile.backend
container_name: factoryops-dev-api
restart: unless-stopped
networks:
- default
- digital-twin
ports:
- "8000:8000"
environment:
- PYTHONPATH=/app
- PYTHONUNBUFFERED=1
# 원격 DB (IDC 배포서버)
- DATABASE_URL=postgresql+asyncpg://factoryops:factoryops@211.115.91.141:8200/factoryops_v2
- JWT_SECRET_KEY=factoryops-v2-dev-secret-key-2026
- CORS_ORIGINS=http://localhost:3100,http://127.0.0.1:3100
- DIGITAL_TWIN_API_URL=http://digital-twin-web-backend:4001
volumes:
# 소스 마운트 → 핫 리로드
- ./main.py:/app/main.py:ro
- ./src:/app/src:ro
- ./alembic:/app/alembic:ro
- ./alembic.ini:/app/alembic.ini:ro
- ./scripts:/app/scripts:ro
# uvicorn --reload 로 실행 (개발용)
command: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
dashboard:
image: node:20-alpine
container_name: factoryops-dev-dashboard
restart: unless-stopped
working_dir: /app
ports:
- "3100:3100"
environment:
- NEXT_PUBLIC_API_URL=http://localhost:8000
- NEXT_TELEMETRY_DISABLED=1
volumes:
- ./dashboard:/app
- dashboard_node_modules:/app/node_modules
# npm install 후 dev 서버 실행
command: ["sh", "-c", "npm install && npm run dev"]
depends_on:
- api
volumes:
dashboard_node_modules:
networks:
default:
name: factoryops-dev-network
digital-twin:
external: true
name: digital-twin-web_default