- 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
70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
services:
|
|
extrudex-db:
|
|
image: postgres:16-alpine
|
|
container_name: extrudex-db
|
|
environment:
|
|
POSTGRES_USER: extrudex
|
|
POSTGRES_PASSWORD: changeme
|
|
POSTGRES_DB: extrudex
|
|
ports:
|
|
- "5433:5432"
|
|
volumes:
|
|
- extrudex-db-data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U extrudex"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
networks:
|
|
- extrudex-network
|
|
|
|
extrudex-api:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: extrudex-api
|
|
ports:
|
|
- "5080:8080"
|
|
environment:
|
|
- ASPNETCORE_ENVIRONMENT=Development
|
|
- ASPNETCORE_URLS=http://+:8080
|
|
- EXTRUDEX_DB_HOST=extrudex-db
|
|
- EXTRUDEX_DB_PORT=5432
|
|
- EXTRUDEX_DB_NAME=extrudex
|
|
- EXTRUDEX_DB_USER=extrudex
|
|
- EXTRUDEX_DB_PASSWORD=changeme
|
|
depends_on:
|
|
extrudex-db:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
networks:
|
|
- extrudex-network
|
|
|
|
extrudex-web:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: extrudex-web
|
|
ports:
|
|
- "5081:80"
|
|
depends_on:
|
|
extrudex-api:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
networks:
|
|
- extrudex-network
|
|
|
|
volumes:
|
|
extrudex-db-data:
|
|
|
|
networks:
|
|
extrudex-network:
|
|
driver: bridge |