Spaces:
Runtime error
Runtime error
File size: 3,686 Bytes
cd00cb5 | 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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | # docker-compose.yml
version: '3.8'
services:
# Triton Inference Server
triton-server:
image: nvcr.io/nvidia/tritonserver:23.10-py3
container_name: triton-diamond-ai
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "8000:8000" # HTTP
- "8001:8001" # gRPC
- "8002:8002" # Metrics
volumes:
- ./models/triton_model_repository:/models
- ./configs/triton_model_config.pbtxt:/models/wizardlm_7b/config.pbtxt
environment:
- NVIDIA_VISIBLE_DEVICES=all
- CUDA_VISIBLE_DEVICES=0,1
command: >
tritonserver
--model-repository=/models
--http-port=8000
--grpc-port=8001
--metrics-port=8002
--log-verbose=1
--model-control-mode=poll
--repository-poll-secs=30
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/v2/health/ready"]
interval: 30s
timeout: 10s
retries: 3
networks:
- diamond-network
# FastAPI Backend
api-server:
build:
context: .
dockerfile: Dockerfile.api
container_name: diamond-api
ports:
- "8080:8080"
depends_on:
triton-server:
condition: service_healthy
environment:
- TRITON_URL=triton-server:8001
- SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
- DIAMOND_TOKEN_ADDRESS=5zJo2GzYRgiZw5j3SBNpuqVcGok35kT3ADwsw74yJWV6
- PLATFORM_PRIVATE_KEY=${PLATFORM_PRIVATE_KEY}
- REDIS_URL=redis:6379
volumes:
- ./data:/app/data
- ./logs:/app/logs
networks:
- diamond-network
command: >
uvicorn api.main:app
--host 0.0.0.0
--port 8080
--workers 4
--log-level info
# Redis para caching
redis:
image: redis:7-alpine
container_name: diamond-redis
ports:
- "6379:6379"
volumes:
- redis-data:/data
networks:
- diamond-network
# PostgreSQL para datos
postgres:
image: postgres:15-alpine
container_name: diamond-postgres
environment:
- POSTGRES_USER=diamond
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=diamond_ai
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
- ./scripts/init-db.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- diamond-network
# Frontend React
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: diamond-frontend
ports:
- "3000:3000"
depends_on:
- api-server
environment:
- REACT_APP_API_URL=http://localhost:8080
- REACT_APP_SOLANA_NETWORK=mainnet-beta
- REACT_APP_DIAMOND_TOKEN_ADDRESS=5zJo2GzYRgiZw5j3SBNpuqVcGok35kT3ADwsw74yJWV6
networks:
- diamond-network
# Prometheus + Grafana para monitoreo
prometheus:
image: prom/prometheus:latest
container_name: diamond-prometheus
volumes:
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
ports:
- "9090:9090"
networks:
- diamond-network
grafana:
image: grafana/grafana:latest
container_name: diamond-grafana
ports:
- "3001:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
volumes:
- grafana-data:/var/lib/grafana
- ./monitoring/dashboards:/etc/grafana/provisioning/dashboards
depends_on:
- prometheus
networks:
- diamond-network
volumes:
redis-data:
postgres-data:
prometheus-data:
grafana-data:
networks:
diamond-network:
driver: bridge |