Skip to main content

mittwald-zerodeploy Skill

The mittwald-zerodeploy skill provides zero-config deployment to mStudio container hosting using Railpack auto-detection. No Dockerfile needed.

What It Does

This skill automates the deployment process:

  • Auto-detection: Identifies your application type and requirements
  • Provisioning: Creates necessary mStudio resources
  • Local Deployment: Deploys from your local machine via CLI
  • CI/CD Setup: Configures GitHub Actions for automated deployments
  • Verification: Tests the deployed application

Supported Frameworks

The skill uses Railpack to automatically detect and deploy:

  • Node.js (Express, Next.js, NestJS, etc.)
  • Python (Django, Flask, FastAPI, etc.)
  • Ruby (Rails, Sinatra, etc.)
  • PHP (Laravel, Symfony, etc.)
  • Go applications
  • Static sites
  • And many more...

Workflow Phases

1. Provision

Creates required mStudio resources:

  • Project and server selection
  • Container stack creation
  • Database setup (if needed)
  • Domain configuration

2. Local CLI Deploy

Deploys from your development machine:

  • Detects application framework
  • Builds and packages application
  • Uploads to mStudio
  • Starts the container

3. GitHub Actions Setup

Configures automated deployment:

  • Creates GitHub Actions workflow
  • Sets up mStudio credentials
  • Configures deployment triggers
  • Tests the CI/CD pipeline

4. Verify

Validates the deployment:

  • Application accessibility tests
  • Health endpoint checks
  • Database connectivity verification
  • Performance baseline

How to Use

Trigger the Skill

Tell your AI assistant:

"Help me deploy my Express app to mittwald"

Or:

"Deploy to mittwald" "Set up mittwald deployment" "help me deploy"

Example Session

You: "I want to deploy my Next.js application to mittwald."

AI Assistant: Loads mittwald-zerodeploy skill

"I'll help you deploy your Next.js application to mittwald. Let's get started:

  1. Do you already have a mittwald project, or should I create one?
  2. What's your project directory?
  3. Does your app need a database?
  4. Do you want to set up automated deployments with GitHub Actions?"

...continues through the workflow...

Prerequisites

Key Features

Zero Configuration

No Dockerfile or complex configuration needed. The skill:

  • Auto-detects your framework and version
  • Determines build and start commands
  • Configures environment appropriately
  • Sets up health checks automatically

Flexible Deployment

Deploy from:

  • Local machine: Direct deployment via CLI
  • GitHub: Automated CI/CD pipeline
  • CI/CD: Integration with other CI systems

Smart Defaults

The skill provides intelligent defaults for:

  • Memory and CPU allocation
  • Port configuration
  • Environment variables
  • Health check endpoints

Configuration Options

While zero-config by default, you can customize:

# Optional: .mittwald.yml in project root
runtime:
type: nodejs
version: "20"
resources:
memory: 512Mi
cpu: "0.5"
healthCheck:
path: /health
interval: 30s

Best Practices

  1. Test Locally First: Ensure your app runs locally before deploying
  2. Use Environment Variables: Don't hardcode configuration
  3. Configure Health Checks: Help mStudio monitor your app
  4. Set Up CI/CD: Automate deployments for consistency
  5. Monitor After Deploy: Watch logs during initial deployment

Troubleshooting

Common issues and solutions:

Application Won't Start

  • Check build logs for errors
  • Verify environment variables are set
  • Ensure all dependencies are in package.json/requirements.txt
  • Check port configuration (app should listen on PORT environment variable)

Database Connection Fails

  • Verify database credentials in environment variables
  • Check database is in same project
  • Confirm database is ready (not still provisioning)
  • Review connection string format

GitHub Actions Deployment Fails

  • Verify GitHub secrets are set correctly
  • Check workflow file syntax
  • Ensure CLI version is up to date
  • Review GitHub Actions logs

Next Steps