Spaces:
Runtime error
Runtime error
File size: 4,505 Bytes
0211e6e 1ef5356 0211e6e 1ef5356 0211e6e |
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 153 154 155 156 157 |
# ============================================================================
# Docker Compose para desenvolvimento local - para.AI API v3.0
# ============================================================================
#
# Uso:
# docker-compose up -d # Iniciar todos os serviços
# docker-compose logs -f api # Ver logs da API
# docker-compose down # Parar todos os serviços
# docker-compose down -v # Parar e remover volumes
#
# ============================================================================
version: '3.1'
services:
# ==========================================================================
# PostgreSQL Database
# ==========================================================================
db:
image: postgres:15-alpine
container_name: para_ai_db
restart: unless-stopped
environment:
POSTGRES_USER: para_ai
POSTGRES_PASSWORD: para_ai_dev_2026
POSTGRES_DB: para_ai
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=pt_BR.UTF-8"
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
- ./database/init_db.sql:/docker-entrypoint-initdb.d/01-init.sql
- ./scripts/seed_data.sql:/docker-entrypoint-initdb.d/02-seed.sql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U para_ai -d para_ai"]
interval: 10s
timeout: 5s
retries: 5
networks:
- para_ai_network
# ==========================================================================
# Redis (opcional - para cache)
# ==========================================================================
redis:
image: redis:7-alpine
container_name: para_ai_redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
command: redis-server --appendonly yes
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- para_ai_network
# ==========================================================================
# API Application
# ==========================================================================
api:
build:
context: .
dockerfile: Dockerfile
container_name: para_ai_api
restart: unless-stopped
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
environment:
# App
APP_ENV: development
DEBUG: "true"
# Database
DATABASE_URL: postgresql://para_ai:para_ai_dev_2026@db:5432/para_ai
DB_POOL_SIZE: 10
DB_MAX_OVERFLOW: 20
# LLM Providers (use suas keys reais aqui ou via .env)
GROQ_API_KEY: ${GROQ_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
# Cache
ENABLE_CACHE: "true"
REDIS_URL: redis://redis:6379/0
# Processing
ENABLE_PARALLEL: "true"
MAX_CONCURRENT_PROCESSES: 3
# Logging
LOG_LEVEL: DEBUG
ports:
- "7860:7860"
volumes:
- ./:/app
- api_data:/app/data
- api_logs:/app/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7860/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
- para_ai_network
# ==========================================================================
# pgAdmin (opcional - interface web para PostgreSQL)
# ==========================================================================
pgadmin:
image: dpage/pgadmin4:latest
container_name: para_ai_pgadmin
restart: unless-stopped
environment:
PGADMIN_DEFAULT_EMAIL: admin@para.ai
PGADMIN_DEFAULT_PASSWORD: admin123
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "5050:80"
volumes:
- pgadmin_data:/var/lib/pgadmin
depends_on:
- db
networks:
- para_ai_network
# ============================================================================
# VOLUMES
# ============================================================================
volumes:
postgres_data:
driver: local
redis_data:
driver: local
api_data:
driver: local
api_logs:
driver: local
pgadmin_data:
driver: local
# ============================================================================
# NETWORKS
# ============================================================================
networks:
para_ai_network:
driver: bridge
|