Skip to main content

Docker Build Quick Reference

Last Updated: 2025-10-12 Status: Ready to build Full Documentation: docs/09-sessions/2025-10-12-v5-theia-docker-build-session.md


โšก Quick Startโ€‹

# Build (27 minutes)
docker build -f dockerfile.local-test -t coditect-combined:test .

# Run (2 seconds)
docker run -d -p 8080:80 --name coditect-test coditect-combined:test

# Test
curl http://localhost:8080/health # Should return "healthy"

# View logs
docker logs -f coditect-test

# Open browser
# - http://localhost:8080/ (V5 Frontend)
# - http://localhost:8080/theia (theia IDE)

๐Ÿงช Testing Checklistโ€‹

V5 Frontendโ€‹

theia IDEโ€‹

WebSocket Test (Browser Console)โ€‹

const ws = new WebSocket('ws://localhost:8080/theia/services');
ws.onopen = () => console.log('โœ… Connected');
ws.onerror = (e) => console.error('โŒ Failed:', e);

๐Ÿ› Common Issuesโ€‹

Build Fails: "file not found: dist/"โ€‹

npm run prototype:build
ls -la dist/ # Verify dist/ exists

Container Exits Immediatelyโ€‹

docker logs coditect-test  # Check errors
docker exec -it coditect-test /bin/bash # Inspect

theia Doesn't Loadโ€‹

docker exec coditect-test ps aux | grep node  # Process running?
docker exec coditect-test curl localhost:3000 # Responds?

terminal Disconnectsโ€‹

# Check WebSocket config
docker exec coditect-test cat /etc/nginx/sites-available/default | grep -i upgrade

๐Ÿš€ Deploy to GCP (After Local Success)โ€‹

# 1. Update Cloud Build config
# Edit cloudbuild-combined.yaml: Change to dockerfile.local-test

# 2. Submit to Cloud Build
gcloud builds submit --config cloudbuild-combined.yaml --project serene-voltage-464305-n2

# 3. Deploy to GKE
kubectl apply -f k8s-combined-deployment.yaml
kubectl rollout status deployment/coditect-combined

# 4. Test production
curl https://coditect.ai/health

๐Ÿ“ Key Filesโ€‹

FilePurpose
dockerfile.local-testDocker build (uses pre-built dist/)
nginx-combined.confRoutes / โ†’ V5, /theia โ†’ theia
start-combined.shStarts NGINX + theia
dist/Pre-built V5 frontend (1.2 MB)
theia-app/theia source (built during Docker)

๐Ÿ“ž Full Documentationโ€‹

See: docs/09-sessions/2025-10-12-v5-theia-docker-build-session.md