103 lines
2.3 KiB
YAML
103 lines
2.3 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
# API Gateway
|
|
gateway:
|
|
build: ./services/gateway
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
- DATABASE_URL=postgresql://team_board:${DB_PASSWORD}@postgres:5432/team_board
|
|
- REDIS_URL=redis://redis:6379
|
|
- AUTHENTIK_CLIENT_ID=${AUTHENTIK_CLIENT_ID}
|
|
- AUTHENTIK_CLIENT_SECRET=${AUTHENTIK_CLIENT_SECRET}
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
|
|
# Projects Service
|
|
projects:
|
|
build: ./services/projects
|
|
ports:
|
|
- "8001:8001"
|
|
environment:
|
|
- DATABASE_URL=postgresql://team_board:${DB_PASSWORD}@postgres:5432/team_board
|
|
- GITEA_URL=https://git.uix.su
|
|
- GITEA_TOKEN=${GITEA_TOKEN}
|
|
depends_on:
|
|
- postgres
|
|
|
|
# Tasks Service
|
|
tasks:
|
|
build: ./services/tasks
|
|
ports:
|
|
- "8002:8002"
|
|
environment:
|
|
- DATABASE_URL=postgresql://team_board:${DB_PASSWORD}@postgres:5432/team_board
|
|
- REDIS_URL=redis://redis:6379
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
|
|
# Agents Service
|
|
agents:
|
|
build: ./services/agents
|
|
ports:
|
|
- "8003:8003"
|
|
environment:
|
|
- DATABASE_URL=postgresql://team_board:${DB_PASSWORD}@postgres:5432/team_board
|
|
- REDIS_URL=redis://redis:6379
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
|
|
# Chat Service
|
|
chat:
|
|
build: ./services/chat
|
|
ports:
|
|
- "8004:8004"
|
|
environment:
|
|
- DATABASE_URL=postgresql://team_board:${DB_PASSWORD}@postgres:5432/team_board
|
|
- REDIS_URL=redis://redis:6379
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
|
|
# Frontend
|
|
frontend:
|
|
build: ./frontend
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NEXT_PUBLIC_API_URL=http://gateway:8000
|
|
depends_on:
|
|
- gateway
|
|
|
|
# PostgreSQL (используем существующий на хосте)
|
|
# postgres:
|
|
# image: postgres:16
|
|
# environment:
|
|
# - POSTGRES_USER=team_board
|
|
# - POSTGRES_PASSWORD=${DB_PASSWORD}
|
|
# - POSTGRES_DB=team_board
|
|
# volumes:
|
|
# - postgres_data:/var/lib/postgresql/data
|
|
|
|
# Redis для очередей и pub/sub
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
|
|
volumes:
|
|
# postgres_data:
|
|
redis_data:
|
|
|
|
networks:
|
|
default:
|
|
name: team-board
|