CUB-64: Docker Runtime Setup for Development & Deployment #14

Merged
overseer merged 3 commits from agent/dex/CUB-64-docker-runtime-setup into dev 2026-04-27 17:34:40 -04:00
Owner

What

Complete Docker-based dev runtime for Extrudex enabling: PR → merge to dev → Gitea Actions → deploy.sh → docker compose → running app.

Changes

  • Backend Dockerfile: Added install for Docker health check (not included in aspnet:9.0 base image)
  • Frontend Dockerfile: New multi-stage build — Node 22 for Angular build, nginx:alpine for serving static files with health check
  • Frontend nginx.conf: New — SPA routing (try_files), gzip, API proxy to extrudex-api:8080, SignalR WebSocket upgrade support, /health endpoint
  • Frontend .dockerignore: New — excludes node_modules, dist, .angular, .vscode, spec files
  • docker-compose.dev.yml: Added PostgreSQL 16-alpine service with volume, fixed frontend context from ../Control-Center/frontend to ./frontend, renamed service from control-center-web to extrudex-web, added DB connection env vars, proper health check dependencies
  • deploy.sh: Updated service list to include PostgreSQL port

Validation

  • docker compose -f docker-compose.dev.yml config
  • docker build ./backend
  • docker build ./frontend
  • docker compose -f docker-compose.dev.yml up -d --build — all 3 containers start healthy
  • API health check responds Healthy
  • Swagger UI accessible at :5080
  • Web UI serves at :5081

Linear

Closes CUB-64

## What Complete Docker-based dev runtime for Extrudex enabling: PR → merge to dev → Gitea Actions → deploy.sh → docker compose → running app. ## Changes - **Backend Dockerfile**: Added install for Docker health check (not included in aspnet:9.0 base image) - **Frontend Dockerfile**: New multi-stage build — Node 22 for Angular build, nginx:alpine for serving static files with health check - **Frontend nginx.conf**: New — SPA routing (try_files), gzip, API proxy to extrudex-api:8080, SignalR WebSocket upgrade support, /health endpoint - **Frontend .dockerignore**: New — excludes node_modules, dist, .angular, .vscode, spec files - **docker-compose.dev.yml**: Added PostgreSQL 16-alpine service with volume, fixed frontend context from `../Control-Center/frontend` to `./frontend`, renamed service from control-center-web to extrudex-web, added DB connection env vars, proper health check dependencies - **deploy.sh**: Updated service list to include PostgreSQL port ## Validation - `docker compose -f docker-compose.dev.yml config` ✅ - `docker build ./backend` ✅ - `docker build ./frontend` ✅ - `docker compose -f docker-compose.dev.yml up -d --build` ✅ — all 3 containers start healthy - API health check responds `Healthy` - Swagger UI accessible at :5080 - Web UI serves at :5081 ## Linear Closes CUB-64
Dex added 1 commit 2026-04-27 04:33:35 -04:00
feat(CUB-64): Docker runtime setup for development & deployment
Some checks failed
Dev Build / build-test (pull_request) Failing after 47s
Dev Build / deploy-dev (pull_request) Has been skipped
Dev Build / notify-success (pull_request) Has been skipped
Dev Build / notify-failure (pull_request) Successful in 3s
61178ebb7b
- Backend Dockerfile: added curl install for health check (not in aspnet base image)
- Frontend Dockerfile: multi-stage Angular build with nginx serving
- Frontend nginx.conf: SPA routing, API proxy, SignalR WebSocket support, health endpoint
- Frontend .dockerignore: excludes node_modules, dist, .angular, etc.
- docker-compose.dev.yml: added PostgreSQL service, fixed frontend context path,
  renamed web service from control-center-web to extrudex-web, added DB env vars,
  proper service dependencies with health checks
- deploy.sh: updated service list to include PostgreSQL port
Rex added 1 commit 2026-04-27 14:30:05 -04:00
Merge remote-tracking branch 'origin/dev' into fix-pr-14
Some checks failed
Dev Build / build-test (pull_request) Failing after 58s
Dev Build / deploy-dev (pull_request) Has been skipped
Dev Build / notify-success (pull_request) Has been skipped
Dev Build / notify-failure (pull_request) Successful in 3s
fd9fcd47ab
# Conflicts:
#	frontend/.dockerignore
#	frontend/Dockerfile
#	frontend/nginx.conf
overseer added 1 commit 2026-04-27 17:34:30 -04:00
Merge branch 'dev' into agent/dex/CUB-64-docker-runtime-setup
Some checks failed
Dev Build / build-test (pull_request) Failing after 58s
Dev Build / deploy-dev (pull_request) Has been skipped
Dev Build / notify-success (pull_request) Has been skipped
Dev Build / notify-failure (pull_request) Successful in 3s
2017843dc1
overseer scheduled this pull request to auto merge when all checks succeed 2026-04-27 17:34:35 -04:00
overseer merged commit c3a0f210a1 into dev 2026-04-27 17:34:40 -04:00
overseer deleted branch agent/dex/CUB-64-docker-runtime-setup 2026-04-27 17:34:43 -04:00
Sign in to join this conversation.
No Reviewers
No Label
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: CubeCraft-Creations/Extrudex#14