1. MooseStack
  2. Deploy

On this page

OverviewGetting Started With Self-HostingDeployment OptionsKey Deployment StepsConfiguring Your DeploymentHealth MonitoringZero-Downtime DeploymentsResource AllocationEnvironment ConfigurationDetailed Guides

Deploy

Overview

Once you've finished developing your Moose application locally, the next step is to deploy your Moose app into production. You have two options:

  • Self-host your Moose application on your own servers
  • Use the Boreal Cloud hosting platform (from the makers of the Moose Stack)
Deploy on Boreal Cloud

Want this managed in production for you? Check out Boreal Cloud (from the makers of the Moose Stack).

Getting Started With Self-Hosting

Moose makes it easy to package and deploy your applications, whether you're deploying to a server with or without internet access. The deployment process is designed to be flexible and can accommodate both containerized and non-containerized environments.

Deployment Options

  1. Kubernetes Deployment: Deploy your application to Kubernetes clusters (GKE, EKS, AKS, or on-premises)
  2. Standard Server Deployment: Deploy your application to a server with internet access
  3. Containerized Cloud Deployment: Deploy to cloud services like AWS ECS or Google Cloud Run
  4. Offline Server Deployment: Deploy to an environment without internet access

Key Deployment Steps

There are three main aspects to deploying a Moose application:

  1. Setting up your build environment with Node.js and the Moose CLI
  2. Building your application using moose build
  3. Setting up your deployment environment with the necessary runtime dependencies (Node.js, Docker) and configuration
  1. Setting up your build environment with Node.js and the Moose CLI
  2. Building your application using moose build
  3. Setting up your deployment environment with the necessary runtime dependencies (Node.js, Docker) and configuration

Configuring Your Deployment

Based on our production experience, we recommend the following best practices for deploying Moose applications:

Health Monitoring

Configure comprehensive health checks to ensure your application remains available:

  • Startup probes to handle initialization
  • Readiness probes for traffic management
  • Liveness probes to detect and recover from deadlocks

Zero-Downtime Deployments

Implement graceful termination and rolling updates:

  • Pre-stop hooks to handle in-flight requests
  • Appropriate termination grace periods
  • Rolling update strategies that maintain service availability

Resource Allocation

Properly size your deployments based on workload:

  • CPU and memory requests tailored to your application
  • Replicas scaled according to traffic patterns
  • Horizontal scaling for high availability

Environment Configuration

For any deployment type, you'll need to configure:

  1. Runtime environment variables for logging, telemetry, and application settings
  2. External service connections (ClickHouse, Redpanda, Redis)
  3. Network settings and security configurations
  4. Application-specific configurations

Detailed Guides

The following pages provide detailed guides for each deployment scenario, including step-by-step instructions for both Python and TypeScript applications and production-ready configuration templates.

  • Overview
  • Quick Start
  • Templates / Examples
Fundamentals
  • Moose Runtime
  • MooseDev MCP
  • Data Modeling
MooseStack in your App
  • App / API frameworks
Modules
  • Moose OLAP
  • Moose Streaming
  • Moose Workflows
  • Moose APIs
Deployment & Lifecycle
  • Moose Migrate
  • Moose Deploy
    • Packaging Moose for deployment
    • Preparing Infrastructure
    • Cloud Configuration
    • Kubernetes Deployment
    • AWS ECS Deployment
    • Offline Deployment
    • Docker Compose Deployment
    • Monitoring (moved)
Reference
  • API Reference
  • Data Types
  • Table Engines
  • CLI
  • Configuration
  • Observability Metrics
  • Help
  • Changelog
Contribution
  • Documentation
  • Framework
FiveonefourFiveonefour
Fiveonefour Docs
MooseStackTemplates
Changelog
Source506