version: "3.8" services: # Production service app: build: context: . dockerfile: Dockerfile container_name: sakai-ng-prod ports: - "80:80" 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: - sakai-network # Staging service staging: build: context: . dockerfile: Dockerfile.staging container_name: sakai-ng-staging ports: - "8080:80" 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: - sakai-network # Development service with hot reload dev: build: context: . dockerfile: Dockerfile.dev container_name: sakai-ng-dev working_dir: /app volumes: - .:/app - /app/node_modules ports: - "4200:4200" environment: - NODE_ENV=development restart: unless-stopped profiles: - dev networks: - sakai-network networks: sakai-network: driver: bridge