--- hide: - toc alias: operation-guide-container-stack-index description: "This documentation details deploying and managing the Critical Manufacturing MES container stack" --- # MES Container Stack Critical Manufacturing MES can be deployed in several different environments and strategies, both on-premises and on a cloud platform. The installation on a containerized environment pulls together a number of different containers that interact with each other and serve specific purposes. This section describes the usage of each of those containers and allows you to understand and manage the building blocks of the application. The following diagram shows the core components of the Critical Manufacturing MES when deployed in a containerized environment. For the complete list, including the Data Platform, Connect IoT, and Generative AI components, see [[operation-guide-messtackcomponents|MES Stack Components]]: ```mermaid graph TD subgraph Customer Environment UI[UI] Host[Host] Help[Project Help] Grafana[Grafana] Postgres[PostgreSQL] IoTEventProcessor[IoT Event Processor] SecurityPortal[Security Portal] Traefik[Traefik] TraefikForwardAuth[Traefik Forward Auth] Bus[MessageBus] SQL[SQL Server] Env[Environment Manager] LBOGenerator[LBO Generator] MESScheduler[MES Scheduler] end subgraph Required Dependencies ClickHouse[ClickHouse] Kafka[Kafka] Storage[S3-compatible Storage] end subgraph Customer Portal EdgePortal[DevOps Center] end subgraph Observability Stack Observability[Observability] end subgraph Infrastructure Agent InfrastructureAgent[Infrastructure Agent] end IngressController[Ingress Controller] Traefik --> TraefikForwardAuth TraefikForwardAuth --> SecurityPortal Traefik --> UI Traefik --> Host Traefik --> Help Traefik --> Grafana Traefik --> SecurityPortal Traefik --> Bus Traefik --> LBOGenerator Traefik --> Env Host -.-> SQL SQL -.-> Env Host -.-> Env UI -.-> Env Help -.-> Env Grafana -.-> Env Grafana -.-> Postgres Grafana -.-> ClickHouse Host -.-> Storage Host -.-> Kafka IoTEventProcessor -.-> Kafka SecurityPortal -.-> Env Bus -.-> Env LBOGenerator -.-> Env MESScheduler -.-> Env Env -.-> EdgePortal InfrastructureAgent --> Env InfrastructureAgent -.-> EdgePortal User[MES User] --> IngressController IngressController --> Traefik Traefik -->|telemetry| Observability classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200; classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden; classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%; classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%; classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%; classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%; classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%; classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5; classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300; class Observability,InfrastructureAgent,EdgePortal,IngressController mermaid_entity class UI,Host,SecurityPortal,Bus,Grafana,LBOGenerator,MESScheduler mermaid_businessdata class Env,Traefik,TraefikForwardAuth mermaid_entitylinked class User mermaid_context class SQL,Help mermaid_optional click Traefik "messtackcomponents/#traefik" click TraefikForwardAuth "messtackcomponents/#traefik-forward-auth" click Bus "messtackcomponents/#mes-message-bus" click Host "messtackcomponents/#mes-host" click Env "messtackcomponents/#environment-manager" click SecurityPortal "messtackcomponents/#security-portal" click UI "messtackcomponents/#mes-gui" click Help "messtackcomponents/#project-help" click Grafana "messtackcomponents/#grafana" click SQL "messtackcomponents/#sql-server" click LBOGenerator "messtackcomponents/#lbo-generator" click MESScheduler "messtackcomponents/#mes-scheduler" click Observability "observabilitycomponents/" click InfrastructureAgent "https://portal.criticalmanufacturing.com/Help/devops-center/infrastructure-agent/" ``` ClickHouse, Kafka, and S3-compatible storage are required by every environment. Staging and production environments must use external services, while development and test environments can run them inside the cluster. This section is divided into several topics: * [Infrastructure Agent Components](https://portal.criticalmanufacturing.com/Help/devops-center/infrastructure-agent/) - Information on the Infrastructure Agent, responsible for the remote deployments of Critical Manufacturing MES and their connection to the DevOps Center. * [[operation-guide-messtackcomponents|MES Stack Components]] - Information on the components of a customer environment containerized stack of the Critical Manufacturing MES. * [[operation-guide-observabilitycomponents|Observability Components]] - Information on the components of the Observability stack. * [[operation-guide-environmentvariables|Environment Variables]] - Information about the environment variables used by the above containerized stack components. For information on how to install the container stack described in these pages, see also [DevOps Center Documentation](https://portal.criticalmanufacturing.com/Help/devops-center/) in the Critical Manufacturing Customer Portal.