A containerized React application platform with dynamic container management and AI-restricted file access.
# Complete setup (builds images, initializes network, starts services)
./scripts/setup.sh
# Or manual setup:
./scripts/init-network.sh # Initialize Docker network
./scripts/build-react-base.sh # Build React base imagev1.1.0 introduces frontend-managed AI file access:
- ✅ Backend: No restrictions - accepts any file operations
- 🎯 Frontend: Responsible for enforcing AI access limitations
- 📋 Guidelines: See
AI_CONSTRAINTS.mdfor frontend validation patterns
├── containers/
│ └── react-base/ # Base React container image
├── orchestrator/ # Container management API with AI restrictions
├── traefik/ # Reverse proxy and load balancer
├── scripts/ # Automation scripts
├── AI_CONSTRAINTS.md # Complete AI restriction documentation
└── API_OVERVIEW.md # Updated API reference
Environment variables (.env):
PORT=4000 # Orchestrator port
PORT_RANGE_START=3001 # Dynamic container port range start
PORT_RANGE_END=3999 # Dynamic container port range end
CONTAINER_MEMORY_MB=512 # Memory limit per container (MB)
CONTAINER_CPU_SHARES=256 # CPU shares per container
HEALTH_CHECK_INTERVAL_MS=30000 # Health check interval (ms)
STARTUP_TIMEOUT_MS=60000 # Container startup timeout (ms)
NETWORK_NAME=vibe-network # Docker network name
HOST_IP=localhost # Host IP for container URLsGET /health- System health and metricsGET /containers- List all vibe containersPOST /containers- Create new containerGET /containers/:id/files- List files in containerGET /containers/:id/file/*- Get file contentPUT /containers/:id/files- Update filesDELETE /containers/:id- Remove containerPOST /containers/:id/stop- Stop containerPOST /containers/:id/start- Start containerGET /containers/:id/logs- Get container logs
Access Traefik dashboard for routing and monitoring.
./scripts/build-react-base.sh [version-tag]# Start orchestrator
cd orchestrator && docker-compose up -d
# Start traefik
cd traefik && docker-compose up -d
# Stop all services
docker-compose downcurl http://localhost:4000/healthcurl http://localhost:4000/containers- Docker socket access is required for container management
- Consider implementing authentication for production use
- Resource limits are configured per container
- Network isolation via dedicated Docker network
-
Network Issues: Ensure
vibe-networkexists./scripts/init-network.sh
-
Image Not Found: Build the base image
./scripts/build-react-base.sh
-
Port Conflicts: Check the port range configuration
netstat -tuln | grep -E ':300[0-9]|:4000'
To update the platform:
- Modify container configurations
- Rebuild images:
./scripts/build-react-base.sh - Restart services:
docker-compose down && docker-compose up -d