- deploy/k3s удалён, deploy/docker добавлен (Caddyfile, docker-compose, searxng) - chat-svc: agents/models/prompts удалены, использует llm-svc (LLMClient, EmbeddingClient) - master-agents-svc: SearchOrchestrator, classifier, researcher, actions, widgets - web-svc: ChatModelSelector, Optimization, Sources удалены; InputBarPlus; UnregisterSW - geo-device-svc, localization-svc: Dockerfiles - docs: 02-k3s-services-spec.md, RUNBOOK/TELEMETRY/WORKING удалены Co-authored-by: Cursor <cursoragent@cursor.com>
252 lines
6.4 KiB
YAML
252 lines
6.4 KiB
YAML
# GooSeek — запуск в Docker (без Kubernetes)
|
|
# gooseek.ru → reverse-proxy (80/443) → web-svc:3000
|
|
#
|
|
# Запуск: ./deploy/docker/run.sh
|
|
# Порты 80 и 443 должны быть открыты на роутере (проброс на ПК)
|
|
|
|
services:
|
|
reverse-proxy:
|
|
image: caddy:2-alpine
|
|
container_name: gooseek-reverse-proxy
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
- caddy-data:/data
|
|
- caddy-config:/config
|
|
depends_on:
|
|
- web-svc
|
|
restart: unless-stopped
|
|
|
|
web-svc:
|
|
build:
|
|
context: ../..
|
|
dockerfile: services/web-svc/Dockerfile
|
|
args:
|
|
API_GATEWAY_URL: "http://api-gateway:3015"
|
|
image: gooseek/web-svc:latest
|
|
container_name: gooseek-web-svc
|
|
ports:
|
|
- "127.0.0.1:3000:3000"
|
|
environment:
|
|
PORT: "3000"
|
|
API_GATEWAY_URL: "http://api-gateway:3015"
|
|
depends_on:
|
|
- api-gateway
|
|
restart: unless-stopped
|
|
|
|
api-gateway:
|
|
build:
|
|
context: ../../services/api-gateway
|
|
dockerfile: Dockerfile
|
|
image: gooseek/api-gateway:latest
|
|
container_name: gooseek-api-gateway
|
|
ports:
|
|
- "3015:3015"
|
|
environment:
|
|
PORT: "3015"
|
|
AUTH_SVC_URL: "http://auth-svc:3014"
|
|
LLM_SVC_URL: "http://llm-svc:3020"
|
|
CHAT_SVC_URL: "http://chat-svc:3005"
|
|
MASTER_AGENTS_SVC_URL: "http://master-agents-svc:3018"
|
|
LIBRARY_SVC_URL: "http://library-svc:3009"
|
|
DISCOVER_SVC_URL: "http://discover-svc:3002"
|
|
SEARCH_SVC_URL: "http://search-svc:3001"
|
|
FINANCE_SVC_URL: "http://finance-svc:3003"
|
|
TRAVEL_SVC_URL: "http://travel-svc:3004"
|
|
CREATE_SVC_URL: "http://create-svc:3011"
|
|
MEMORY_SVC_URL: "http://memory-svc:3010"
|
|
PROJECTS_SVC_URL: "http://projects-svc:3006"
|
|
NOTIFICATIONS_SVC_URL: "http://notifications-svc:3013"
|
|
BILLING_SVC_URL: "http://billing-svc:3008"
|
|
AUDIT_SVC_URL: "http://audit-svc:3012"
|
|
GEO_DEVICE_URL: "http://geo-device-svc:4002"
|
|
LOCALIZATION_SVC_URL: "http://localization-svc:4003"
|
|
ALLOWED_ORIGINS: "http://localhost:3000,http://127.0.0.1:3000,https://gooseek.ru,https://www.gooseek.ru"
|
|
depends_on:
|
|
- auth-svc
|
|
- llm-svc
|
|
- chat-svc
|
|
restart: unless-stopped
|
|
|
|
geo-device-svc:
|
|
build:
|
|
context: ../../services/geo-device-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/geo-device-svc:latest
|
|
container_name: gooseek-geo-device-svc
|
|
ports:
|
|
- "4002:4002"
|
|
environment:
|
|
PORT: "4002"
|
|
restart: unless-stopped
|
|
|
|
localization-svc:
|
|
build:
|
|
context: ../../services/localization-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/localization-svc:latest
|
|
container_name: gooseek-localization-svc
|
|
ports:
|
|
- "4003:4003"
|
|
environment:
|
|
PORT: "4003"
|
|
GEO_DEVICE_SVC_URL: "http://geo-device-svc:4002"
|
|
depends_on:
|
|
- geo-device-svc
|
|
restart: unless-stopped
|
|
|
|
discover-svc:
|
|
build:
|
|
context: ../../services/discover-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/discover-svc:latest
|
|
container_name: gooseek-discover-svc
|
|
ports:
|
|
- "3002:3002"
|
|
environment:
|
|
PORT: "3002"
|
|
REDIS_URL: "redis://redis:6379"
|
|
GEO_DEVICE_SERVICE_URL: "http://geo-device-svc:4002"
|
|
depends_on:
|
|
- redis
|
|
- geo-device-svc
|
|
restart: unless-stopped
|
|
|
|
travel-svc:
|
|
build:
|
|
context: ../../services/travel-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/travel-svc:latest
|
|
container_name: gooseek-travel-svc
|
|
ports:
|
|
- "3004:3004"
|
|
environment:
|
|
PORT: "3004"
|
|
REDIS_URL: "redis://redis:6379"
|
|
depends_on:
|
|
- redis
|
|
restart: unless-stopped
|
|
|
|
auth-svc:
|
|
build:
|
|
context: ../..
|
|
dockerfile: services/auth-svc/Dockerfile
|
|
image: gooseek/auth-svc:latest
|
|
container_name: gooseek-auth-svc
|
|
ports:
|
|
- "3014:3014"
|
|
environment:
|
|
PORT: "3014"
|
|
BETTER_AUTH_URL: "https://gooseek.ru"
|
|
TRUSTED_ORIGINS: "http://localhost:3000,http://127.0.0.1:3000,https://gooseek.ru,https://www.gooseek.ru"
|
|
DATABASE_PATH: "/data/auth.db"
|
|
BETTER_AUTH_TELEMETRY: "0"
|
|
volumes:
|
|
- auth-data:/data
|
|
restart: unless-stopped
|
|
|
|
llm-svc:
|
|
build:
|
|
context: ../../services/llm-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/llm-svc:latest
|
|
container_name: gooseek-llm-svc
|
|
env_file:
|
|
- ../../.env
|
|
ports:
|
|
- "3020:3020"
|
|
environment:
|
|
PORT: "3020"
|
|
DATA_DIR: "/app/data"
|
|
volumes:
|
|
- llm-data:/app/data
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: gooseek-redis
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis-data:/data
|
|
restart: unless-stopped
|
|
|
|
searxng:
|
|
image: searxng/searxng:latest
|
|
container_name: gooseek-searxng
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- ./searxng/settings.yml:/etc/searxng/settings.yml:ro
|
|
- ./searxng/limiter.toml:/etc/searxng/limiter.toml:ro
|
|
- searxng-cache:/var/cache/searxng
|
|
environment:
|
|
SEARXNG_BASE_URL: "http://localhost:8080/"
|
|
restart: unless-stopped
|
|
|
|
search-svc:
|
|
build:
|
|
context: ../../services/search-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/search-svc:latest
|
|
container_name: gooseek-search-svc
|
|
ports:
|
|
- "3001:3001"
|
|
environment:
|
|
PORT: "3001"
|
|
REDIS_URL: "redis://redis:6379"
|
|
SEARXNG_URL: "http://searxng:8080"
|
|
depends_on:
|
|
- redis
|
|
- searxng
|
|
restart: unless-stopped
|
|
|
|
master-agents-svc:
|
|
build:
|
|
context: ../../services/master-agents-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/master-agents-svc:latest
|
|
container_name: gooseek-master-agents-svc
|
|
ports:
|
|
- "3018:3018"
|
|
environment:
|
|
PORT: "3018"
|
|
LLM_SVC_URL: "http://llm-svc:3020"
|
|
SEARCH_SVC_URL: "http://search-svc:3001"
|
|
depends_on:
|
|
- llm-svc
|
|
- search-svc
|
|
restart: unless-stopped
|
|
|
|
chat-svc:
|
|
build:
|
|
context: ../../services/chat-svc
|
|
dockerfile: Dockerfile
|
|
image: gooseek/chat-svc:latest
|
|
container_name: gooseek-chat-svc
|
|
ports:
|
|
- "3005:3005"
|
|
environment:
|
|
PORT: "3005"
|
|
MASTER_AGENTS_SVC_URL: "http://master-agents-svc:3018"
|
|
LLM_SVC_URL: "http://llm-svc:3020"
|
|
volumes:
|
|
- chat-data:/app/data
|
|
depends_on:
|
|
- master-agents-svc
|
|
- llm-svc
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
auth-data:
|
|
llm-data:
|
|
redis-data:
|
|
chat-data:
|
|
caddy-data:
|
|
caddy-config:
|
|
searxng-cache:
|