added RAG, Multiuser, TG bot
This commit is contained in:
+121
-106
@@ -1,106 +1,121 @@
|
||||
# Server (internal bind inside containers)
|
||||
HOST=0.0.0.0
|
||||
BACKEND_INTERNAL_PORT=8080
|
||||
FRONTEND_INTERNAL_PORT=80
|
||||
|
||||
# External ports on the host (docker compose publish)
|
||||
BACKEND_PORT=8080
|
||||
FRONTEND_PORT=3080
|
||||
VITE_DEV_PORT=5173
|
||||
|
||||
# OpenRouter
|
||||
OPENROUTER_API_KEY=sk-or-v1-your-key-here
|
||||
OPENROUTER_MODEL=deepseek/deepseek-chat
|
||||
# deepseek/deepseek-v4-pro — сильная модель, tools поддерживаются:
|
||||
# OPENROUTER_MODEL=deepseek/deepseek-v4-pro
|
||||
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
||||
OPENROUTER_TOOLS_ENABLED=true
|
||||
# none = без thinking (быстрее, стабильнее с tools). low|medium|high|xhigh — reasoning.
|
||||
OPENROUTER_REASONING_EFFORT=none
|
||||
# JSON-экстракция памяти отдельной моделью (если основная капризничает):
|
||||
# MEMORY_EXTRACT_MODEL=deepseek/deepseek-chat
|
||||
|
||||
# App
|
||||
DATABASE_URL=sqlite:///./data/assistant.db
|
||||
CORS_ORIGINS=http://localhost:5173,http://localhost:8080,http://localhost:3080
|
||||
SYSTEM_PROMPT_PATH=./prompts/assistant.md
|
||||
MEMORY_AUTO_EXTRACT=true
|
||||
|
||||
# Fitness (wger + Open Food Facts — public HTTPS, no proxy)
|
||||
WGER_BASE_URL=https://wger.de/api/v2
|
||||
OPENFOODFACTS_BASE_URL=https://world.openfoodfacts.org
|
||||
FITNESS_REMINDERS_ENABLED=true
|
||||
REMINDERS_ENABLED=true
|
||||
|
||||
# Taiga (on host :9000, nginx → taiga.grigowashere.ru)
|
||||
TAIGA_BASE_URL=http://host.docker.internal:9000
|
||||
TAIGA_USERNAME=your_taiga_user
|
||||
TAIGA_PASSWORD=your_taiga_password
|
||||
TAIGA_PUBLIC_URL=https://taiga.grigowashere.ru
|
||||
|
||||
# Gitea (on host :3000, nginx → git.grigowashere.ru)
|
||||
GITEA_BASE_URL=http://host.docker.internal:3000
|
||||
GITEA_TOKEN=your_gitea_api_token
|
||||
GITEA_PUBLIC_URL=https://git.grigowashere.ru
|
||||
GITEA_WEBHOOK_SECRET=generate_a_random_secret
|
||||
|
||||
# Gitea webhook URL (repo Settings → Webhooks):
|
||||
# https://assistant.your-domain/api/v1/webhooks/gitea ← nginx → 127.0.0.1:BACKEND_PORT
|
||||
# http://172.17.0.1:8202/api/v1/webhooks/gitea ← если Gitea в Docker (не 127.0.0.1!)
|
||||
|
||||
REPOS_DIR=/data/repos
|
||||
|
||||
# Homelab — GPU PC 192.168.1.109
|
||||
OPENMETEO_BASE_URL=http://192.168.1.109:8085
|
||||
WEATHER_LAT=59.9343
|
||||
WEATHER_LON=30.3351
|
||||
WEATHER_LOCATION_NAME=Санкт-Петербург
|
||||
WEATHER_CACHE_SEC=300
|
||||
|
||||
# News RSS (comma-separated)
|
||||
NEWS_RSS_URLS=https://habr.com/ru/rss/all/all/,https://www.reddit.com/r/programming/.rss
|
||||
NEWS_CACHE_SEC=1800
|
||||
NEWS_MAX_ITEMS=7
|
||||
|
||||
# Morning digest (Europe/Moscow or user profile timezone)
|
||||
MORNING_DIGEST_ENABLED=true
|
||||
MORNING_DIGEST_HOUR=8
|
||||
MORNING_DIGEST_MINUTE=0
|
||||
|
||||
# ComfyUI on GPU PC (Anima split-model — как в aiChatBot)
|
||||
COMFYUI_BASE_URL=http://192.168.1.109:8188
|
||||
COMFYUI_ENABLED=true
|
||||
# Anima: UNET+CLIP+VAE, CHECKPOINT пустой. Для SD1.5/Pony — задай CHECKPOINT, очисти UNET.
|
||||
COMFYUI_CHECKPOINT=
|
||||
COMFYUI_UNET=anima-preview3-base.safetensors
|
||||
COMFYUI_CLIP=qwen_3_06b_base.safetensors
|
||||
COMFYUI_VAE=qwen_image_vae.safetensors
|
||||
COMFYUI_STYLE_LORA=anima-preview-3-masterpieces-v5.safetensors
|
||||
COMFYUI_STYLE_LORA_WEIGHT=0.7
|
||||
COMFYUI_STEPS=30
|
||||
COMFYUI_CFG=4
|
||||
COMFYUI_SAMPLER=er_sde
|
||||
COMFYUI_SCHEDULER=simple
|
||||
COMFYUI_WIDTH=1024
|
||||
COMFYUI_HEIGHT=720
|
||||
COMFYUI_NEGATIVE_PROMPT=worst quality, low quality, score_1, score_2, score_3, blurry, jpeg artifacts, sepia
|
||||
COMFYUI_ROFL_ENABLED=true
|
||||
COMFYUI_ROFL_MAX_PER_DAY=1
|
||||
COMFYUI_ROFL_PROBABILITY=0.15
|
||||
COMFYUI_ROFL_MIN_INTERVAL_HOURS=12
|
||||
GENERATED_MEDIA_DIR=./data/generated
|
||||
|
||||
# RP Chat (aiChatBot) — генерация картинок + sd-prompt; persona_id в карточке персонажа
|
||||
RP_CHAT_BASE_URL=http://host.docker.internal:8201
|
||||
RP_CHAT_ENABLED=true
|
||||
RP_CHAT_TIMEOUT_SEC=300
|
||||
|
||||
# Netdata on server
|
||||
NETDATA_BASE_URL=http://host.docker.internal:19999
|
||||
NETDATA_PUBLIC_URL=
|
||||
NETDATA_ALERTS_ENABLED=true
|
||||
NETDATA_POLL_INTERVAL_SEC=120
|
||||
|
||||
# Vector DB (phase 3)
|
||||
QDRANT_PORT=6333
|
||||
QDRANT_GRPC_PORT=6334
|
||||
# Server (internal bind inside containers)
|
||||
HOST=0.0.0.0
|
||||
BACKEND_INTERNAL_PORT=8080
|
||||
FRONTEND_INTERNAL_PORT=80
|
||||
|
||||
# External ports on the host (docker compose publish)
|
||||
BACKEND_PORT=8080
|
||||
FRONTEND_PORT=3080
|
||||
VITE_DEV_PORT=5173
|
||||
|
||||
# OpenRouter
|
||||
OPENROUTER_API_KEY=sk-or-v1-your-key-here
|
||||
OPENROUTER_MODEL=deepseek/deepseek-chat
|
||||
# deepseek/deepseek-v4-pro — сильная модель, tools поддерживаются:
|
||||
# OPENROUTER_MODEL=deepseek/deepseek-v4-pro
|
||||
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
||||
OPENROUTER_TOOLS_ENABLED=true
|
||||
# none = без thinking (быстрее, стабильнее с tools). low|medium|high|xhigh — reasoning.
|
||||
OPENROUTER_REASONING_EFFORT=none
|
||||
# JSON-экстракция памяти отдельной моделью (если основная капризничает):
|
||||
# MEMORY_EXTRACT_MODEL=deepseek/deepseek-chat
|
||||
|
||||
# App
|
||||
DATABASE_URL=sqlite:///./data/assistant.db
|
||||
CORS_ORIGINS=http://localhost:5173,http://localhost:8080,http://localhost:3080
|
||||
SYSTEM_PROMPT_PATH=./prompts/assistant.md
|
||||
MEMORY_AUTO_EXTRACT=true
|
||||
|
||||
# Multi-user (API token auth)
|
||||
DEFAULT_USER_USERNAME=owner
|
||||
DEFAULT_USER_DISPLAY_NAME=
|
||||
DEFAULT_API_TOKEN=change-me-to-long-random-string
|
||||
AUTH_REQUIRED=true
|
||||
# Опционально для dev (автовход без /login). В prod оставьте пустым.
|
||||
VITE_API_TOKEN=
|
||||
|
||||
# Fitness (wger + Open Food Facts — public HTTPS, no proxy)
|
||||
WGER_BASE_URL=https://wger.de/api/v2
|
||||
OPENFOODFACTS_BASE_URL=https://world.openfoodfacts.org
|
||||
FITNESS_REMINDERS_ENABLED=true
|
||||
REMINDERS_ENABLED=true
|
||||
|
||||
# Taiga (on host :9000, nginx → taiga.grigowashere.ru)
|
||||
TAIGA_BASE_URL=http://host.docker.internal:9000
|
||||
TAIGA_USERNAME=your_taiga_user
|
||||
TAIGA_PASSWORD=your_taiga_password
|
||||
TAIGA_PUBLIC_URL=https://taiga.grigowashere.ru
|
||||
|
||||
# Gitea (on host :3000, nginx → git.grigowashere.ru)
|
||||
GITEA_BASE_URL=http://host.docker.internal:3000
|
||||
GITEA_TOKEN=your_gitea_api_token
|
||||
GITEA_PUBLIC_URL=https://git.grigowashere.ru
|
||||
GITEA_WEBHOOK_SECRET=generate_a_random_secret
|
||||
|
||||
# Gitea webhook URL (repo Settings → Webhooks):
|
||||
# https://assistant.your-domain/api/v1/webhooks/gitea ← nginx → 127.0.0.1:BACKEND_PORT
|
||||
# http://172.17.0.1:8202/api/v1/webhooks/gitea ← если Gitea в Docker (не 127.0.0.1!)
|
||||
|
||||
REPOS_DIR=/data/repos
|
||||
|
||||
# Homelab — GPU PC 192.168.1.109
|
||||
OPENMETEO_BASE_URL=http://192.168.1.109:8085
|
||||
WEATHER_LAT=59.9343
|
||||
WEATHER_LON=30.3351
|
||||
WEATHER_LOCATION_NAME=Санкт-Петербург
|
||||
WEATHER_CACHE_SEC=300
|
||||
|
||||
# News RSS (comma-separated)
|
||||
NEWS_RSS_URLS=https://habr.com/ru/rss/all/all/,https://www.reddit.com/r/programming/.rss
|
||||
NEWS_CACHE_SEC=1800
|
||||
NEWS_MAX_ITEMS=7
|
||||
|
||||
# Morning digest (Europe/Moscow or user profile timezone)
|
||||
MORNING_DIGEST_ENABLED=true
|
||||
MORNING_DIGEST_HOUR=8
|
||||
MORNING_DIGEST_MINUTE=0
|
||||
|
||||
# ComfyUI on GPU PC (Anima split-model — как в aiChatBot)
|
||||
COMFYUI_BASE_URL=http://192.168.1.109:8188
|
||||
COMFYUI_ENABLED=true
|
||||
# Anima: UNET+CLIP+VAE, CHECKPOINT пустой. Для SD1.5/Pony — задай CHECKPOINT, очисти UNET.
|
||||
COMFYUI_CHECKPOINT=
|
||||
COMFYUI_UNET=anima-preview3-base.safetensors
|
||||
COMFYUI_CLIP=qwen_3_06b_base.safetensors
|
||||
COMFYUI_VAE=qwen_image_vae.safetensors
|
||||
COMFYUI_STYLE_LORA=anima-preview-3-masterpieces-v5.safetensors
|
||||
COMFYUI_STYLE_LORA_WEIGHT=0.7
|
||||
COMFYUI_STEPS=30
|
||||
COMFYUI_CFG=4
|
||||
COMFYUI_SAMPLER=er_sde
|
||||
COMFYUI_SCHEDULER=simple
|
||||
COMFYUI_WIDTH=1024
|
||||
COMFYUI_HEIGHT=720
|
||||
COMFYUI_NEGATIVE_PROMPT=worst quality, low quality, score_1, score_2, score_3, blurry, jpeg artifacts, sepia
|
||||
COMFYUI_ROFL_ENABLED=true
|
||||
COMFYUI_ROFL_MAX_PER_DAY=1
|
||||
COMFYUI_ROFL_PROBABILITY=0.15
|
||||
COMFYUI_ROFL_MIN_INTERVAL_HOURS=12
|
||||
GENERATED_MEDIA_DIR=./data/generated
|
||||
|
||||
# RP Chat (aiChatBot) — генерация картинок + sd-prompt; persona_id в карточке персонажа
|
||||
RP_CHAT_BASE_URL=http://host.docker.internal:8201
|
||||
RP_CHAT_ENABLED=true
|
||||
RP_CHAT_TIMEOUT_SEC=300
|
||||
|
||||
# Netdata on server
|
||||
NETDATA_BASE_URL=http://host.docker.internal:19999
|
||||
NETDATA_PUBLIC_URL=
|
||||
NETDATA_ALERTS_ENABLED=true
|
||||
NETDATA_POLL_INTERVAL_SEC=120
|
||||
|
||||
# Vector DB (phase 3)
|
||||
QDRANT_PORT=6333
|
||||
QDRANT_GRPC_PORT=6334
|
||||
|
||||
# RAG / embeddings
|
||||
QDRANT_URL=http://qdrant:6333
|
||||
EMBEDDING_MODEL=openai/text-embedding-3-small
|
||||
RAG_ENABLED=true
|
||||
RAG_TOP_K=8
|
||||
MEMORY_FACTS_IN_CONTEXT=8
|
||||
|
||||
Reference in New Issue
Block a user