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