File size: 1,377 Bytes
8a01471
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Docker Compose for NN3D Visualizer
# Run: docker-compose up --build

version: '3.8'

services:
  # FastAPI Backend - Model Analysis
  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    container_name: nn3d-backend
    restart: unless-stopped
    volumes:
      # Persist database
      - nn3d-data:/app/data
      # Mount models directory for local model files (optional)
      - ./samples:/app/samples:ro
    environment:
      - DATABASE_PATH=/app/data/models.db
      - PYTHONUNBUFFERED=1
    ports:
      - "8000:8000"
    networks:
      - nn3d-network
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s

  # React Frontend - 3D Visualization
  frontend:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nn3d-frontend
    restart: unless-stopped
    ports:
      - "3000:80"
    depends_on:
      backend:
        condition: service_healthy
    networks:
      - nn3d-network
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s

networks:
  nn3d-network:
    driver: bridge

volumes:
  nn3d-data:
    driver: local