- Migrated from HIVE branding to WHOOSH across all components - Enhanced backend API with new services: AI models, BZZZ integration, templates, members - Added comprehensive testing suite with security, performance, and integration tests - Improved frontend with new components for project setup, AI models, and team management - Updated MCP server implementation with WHOOSH-specific tools and resources - Enhanced deployment configurations with production-ready Docker setups - Added comprehensive documentation and setup guides - Implemented age encryption service and UCXL integration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
134 lines
3.5 KiB
YAML
134 lines
3.5 KiB
YAML
# Docker Compose for WHOOSH Testing Environment
|
|
version: '3.8'
|
|
|
|
services:
|
|
# PostgreSQL Database for Testing
|
|
whoosh_postgres_test:
|
|
image: postgres:15
|
|
container_name: whoosh_postgres_test
|
|
environment:
|
|
POSTGRES_DB: whoosh_test
|
|
POSTGRES_USER: whoosh
|
|
POSTGRES_PASSWORD: test_password_123
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
ports:
|
|
- "5433:5432"
|
|
volumes:
|
|
- postgres_test_data:/var/lib/postgresql/data
|
|
- ./database/init_test.sql:/docker-entrypoint-initdb.d/init.sql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U whoosh -d whoosh_test"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- whoosh_test_network
|
|
|
|
# Redis Cache for Testing
|
|
whoosh_redis_test:
|
|
image: redis:7-alpine
|
|
container_name: whoosh_redis_test
|
|
ports:
|
|
- "6380:6379"
|
|
volumes:
|
|
- redis_test_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- whoosh_test_network
|
|
|
|
# WHOOSH Backend (Test Mode)
|
|
whoosh_backend_test:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile.test
|
|
container_name: whoosh_backend_test
|
|
ports:
|
|
- "8087:8087"
|
|
environment:
|
|
- DATABASE_URL=postgresql://whoosh:test_password_123@whoosh_postgres_test:5432/whoosh_test
|
|
- REDIS_URL=redis://whoosh_redis_test:6379/0
|
|
- ENVIRONMENT=testing
|
|
- CORS_ORIGINS=http://localhost:3000,http://localhost:3001
|
|
- GITEA_BASE_URL=http://gitea.home.deepblack.cloud
|
|
- GITEA_TOKEN=${GITEA_TOKEN:-test_token}
|
|
depends_on:
|
|
whoosh_postgres_test:
|
|
condition: service_healthy
|
|
whoosh_redis_test:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8087/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
volumes:
|
|
- ./backend:/app
|
|
- template_storage:/app/templates
|
|
networks:
|
|
- whoosh_test_network
|
|
|
|
# WHOOSH Frontend (Test Mode)
|
|
whoosh_frontend_test:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile.test
|
|
container_name: whoosh_frontend_test
|
|
ports:
|
|
- "3001:3000"
|
|
environment:
|
|
- REACT_APP_API_URL=http://localhost:8087
|
|
- REACT_APP_ENVIRONMENT=testing
|
|
- NODE_ENV=development
|
|
depends_on:
|
|
- whoosh_backend_test
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:3000"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
volumes:
|
|
- ./frontend/src:/app/src
|
|
- ./frontend/public:/app/public
|
|
networks:
|
|
- whoosh_test_network
|
|
|
|
# Test Runner Container
|
|
whoosh_test_runner:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile.test-runner
|
|
container_name: whoosh_test_runner
|
|
environment:
|
|
- WHOOSH_API_URL=http://whoosh_backend_test:8087
|
|
- WHOOSH_FRONTEND_URL=http://whoosh_frontend_test:3000
|
|
- POSTGRES_URL=postgresql://whoosh:test_password_123@whoosh_postgres_test:5432/whoosh_test
|
|
depends_on:
|
|
whoosh_backend_test:
|
|
condition: service_healthy
|
|
whoosh_frontend_test:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./backend/tests:/app/tests
|
|
- ./test_results:/app/results
|
|
networks:
|
|
- whoosh_test_network
|
|
command: ["python", "-m", "pytest", "/app/tests", "-v", "--junitxml=/app/results/test_results.xml"]
|
|
|
|
volumes:
|
|
postgres_test_data:
|
|
driver: local
|
|
redis_test_data:
|
|
driver: local
|
|
template_storage:
|
|
driver: local
|
|
|
|
networks:
|
|
whoosh_test_network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16 |