d34c722167
Prompt Generator: - Search bar cu cautare in name/description/tags/category - Filtru target type (text/image) cu toggle rapid 'Imagine' - 4 template-uri noi imagine: Midjourney Exterior, SD Interior, Midjourney Infographic, SD Material Texture (18 total) - Config v0.2.0 AI Chat Real API Integration: - /api/ai-chat route: multi-provider (OpenAI, Anthropic, Ollama, demo) - System prompt default in romana pt context arhitectura - GET: config status, POST: message routing - use-chat.ts: sendMessage() cu fetch real, sending state, providerConfig fetch, updateSession() pt project linking - UI: provider status badge (Wifi/WifiOff), Bot icon pe mesaje, loading spinner la generare, disable input while sending - Config banner cu detalii provider/model/stare AI Chat + Tag Manager: - Project selector dropdown in chat header (useTags project) - Session linking: projectTagId + projectName on ChatSession - Project name display in session sidebar - Project context injected in system prompt Docker: - AI env vars: AI_PROVIDER, AI_API_KEY, AI_MODEL, AI_BASE_URL, AI_MAX_TOKENS
47 lines
1.9 KiB
YAML
47 lines
1.9 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
architools:
|
|
build:
|
|
context: .
|
|
args:
|
|
- NEXT_PUBLIC_STORAGE_ADAPTER=${NEXT_PUBLIC_STORAGE_ADAPTER:-database}
|
|
- NEXT_PUBLIC_APP_NAME=${NEXT_PUBLIC_APP_NAME:-ArchiTools}
|
|
- NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-https://tools.beletage.ro}
|
|
container_name: architools
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
# Database
|
|
- DATABASE_URL=postgresql://architools_user:stictMyFon34!_gonY@10.10.10.166:5432/architools_db?schema=public
|
|
# MinIO
|
|
- MINIO_ENDPOINT=10.10.10.166
|
|
- MINIO_PORT=9002
|
|
- MINIO_USE_SSL=false
|
|
- MINIO_ACCESS_KEY=admin
|
|
- MINIO_SECRET_KEY=MinioStrongPass123
|
|
- MINIO_BUCKET_NAME=tools
|
|
# Authentication (Authentik OIDC)
|
|
- NEXTAUTH_URL=https://tools.beletage.ro
|
|
- NEXTAUTH_SECRET=8IL9Kpipj0EZwZPNvekbNRPhV6a2/UY4cGVzE3n0pUY=
|
|
- AUTHENTIK_CLIENT_ID=V59GMiYle87yd9VZOgUmdSmzYQALqNsKVAUR6QMi
|
|
- AUTHENTIK_CLIENT_SECRET=TMeewkusUro0hQ2DMwS0Z5lNpNMdmziO9WXywNAGlK3Y6Y8HYULZBEtMtm53lioIkszWbpPRQcv1cxHMtwftMvsaSnbliDsL1f707wmUJhMFKjeZ0ypIFKFG4dJkp7Jr
|
|
- AUTHENTIK_ISSUER=https://auth.beletage.ro/application/o/architools/
|
|
# Vault encryption
|
|
- ENCRYPTION_SECRET=ArchiTools-Vault-2025!SecureKey@AES256
|
|
# ManicTime Tags.txt sync (SMB mount path)
|
|
- MANICTIME_TAGS_PATH=/mnt/manictime/Tags.txt
|
|
# AI Chat (set AI_PROVIDER to openai/anthropic/ollama; demo if no key)
|
|
- AI_PROVIDER=${AI_PROVIDER:-demo}
|
|
- AI_API_KEY=${AI_API_KEY:-}
|
|
- AI_MODEL=${AI_MODEL:-}
|
|
- AI_BASE_URL=${AI_BASE_URL:-}
|
|
- AI_MAX_TOKENS=${AI_MAX_TOKENS:-2048}
|
|
volumes:
|
|
# SMB share for ManicTime Tags.txt (mount on host: //time/tags → /mnt/manictime)
|
|
- /mnt/manictime:/mnt/manictime
|
|
labels:
|
|
- "com.centurylinklabs.watchtower.enable=true"
|