- ASP.NET Core 9 Razor Pages + Minimal API hybrid - 14 validators (CPF, CEP, CNPJ, email, phone, name, yes-no, birthdate, handoff, cancel-intent, company-name, plate-br, postal-code, validate_reply) - OAuth login (Google, Microsoft, GitHub) + cookie auth - MongoDB usage tracking + CEP cache collection - Stripe checkout with inline PriceData (no Price IDs) - MCP server for Claude Code / Cursor integration - Playground (10 calls/IP/day, no auth) - Docs: Quickstart, API Reference, N8N, MCP, Créditos, Erros, Fluxos - Credit system: 3 cr standard validators, 5 cr validate_reply - SmartSuggestion: contextual re-ask via IA when obtained=false - Per-IP rate limiting + daily cap + shared-IP abuse detection - Lightbox for comic images - Validadores page split: Brasileiros / Universais + Em breve Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
services:
|
|
nalu-api:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: nalu-api:latest
|
|
container_name: nalu-api
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- ASPNETCORE_ENVIRONMENT=Production
|
|
- ConnectionStrings__MongoDB=${MONGODB_CONNECTION_STRING}
|
|
- Groq__ApiKey=${GROQ_API_KEY}
|
|
- OAuth__Google__ClientId=${GOOGLE_CLIENT_ID}
|
|
- OAuth__Google__ClientSecret=${GOOGLE_CLIENT_SECRET}
|
|
- OAuth__Microsoft__ClientId=${MICROSOFT_CLIENT_ID}
|
|
- OAuth__Microsoft__ClientSecret=${MICROSOFT_CLIENT_SECRET}
|
|
depends_on:
|
|
- mongo
|
|
networks:
|
|
- nalu-net
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
|
|
mongo:
|
|
image: mongo:7
|
|
container_name: nalu-mongo
|
|
restart: unless-stopped
|
|
ports:
|
|
- "27017:27017"
|
|
environment:
|
|
- MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER:-admin}
|
|
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
|
|
- MONGO_INITDB_DATABASE=naluai
|
|
volumes:
|
|
- mongo-data:/data/db
|
|
networks:
|
|
- nalu-net
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
mongo-data:
|
|
|
|
networks:
|
|
nalu-net:
|
|
driver: bridge
|