version: "3.8" services: # Production service app: build: context: . dockerfile: Dockerfile container_name: psp_panel_prod ports: - "5000:5000" environment: - NODE_ENV=production restart: unless-stopped healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"] interval: 30s timeout: 3s retries: 3 start_period: 5s networks: - psp_panel_network # Staging service staging: build: context: . dockerfile: Dockerfile.staging container_name: psp_panel_staging ports: - "5050:5000" environment: - NODE_ENV=staging restart: unless-stopped healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"] interval: 30s timeout: 3s retries: 3 start_period: 5s profiles: - staging networks: - psp_panel_network # Development service with hot reload dev: build: context: . dockerfile: Dockerfile.dev container_name: psp_panel-dev working_dir: /app volumes: - .:/app - /app/node_modules ports: - "4200:4200" environment: - NODE_ENV=development restart: unless-stopped profiles: - dev networks: - psp_panel_network networks: psp_panel_network: driver: bridge