Skip to main content

How to Deploy an Application

This guide walks through the complete process of deploying a containerized application to the Strongly platform.

Prerequisites

Before deploying, ensure you have:

  • Your application code in a directory
  • A Dockerfile in the project root
  • A strongly.manifest.yaml configuration file
  • Optional: .env file for environment variables

Step 1: Navigate to Apps

  1. Click Apps in the main navigation
  2. Click Deploy App button

Step 2: Configure Your App

Basic Information

Provide essential metadata about your application:

  • App Name: Unique identifier (lowercase, alphanumeric, hyphens only)
  • Description: Brief description of your app
  • Environment: Choose Development or Production
Naming Rules

App names must be lowercase and can only contain alphanumeric characters and hyphens. No spaces or special characters.

Upload Code

Upload your application code as a compressed archive:

  • Accepted formats: .zip, .tar, .tar.gz, .tgz
  • Max size: 100MB
  • Required files:
    • Dockerfile (in project root)
    • strongly.manifest.yaml (in project root)
  • Optional: .env file for environment variables
Archive Structure

Ensure your Dockerfile and manifest are in the root of the archive, not in a subdirectory.

Resource Configuration

Select a resource tier or configure custom resources:

TierCPUMemoryDiskUse Case
Small0.5512MB5GBDevelopment, testing
Medium11GB10GBSmall production apps
Large22GB20GBProduction apps with moderate traffic
XLarge44GB40GBHigh-traffic production apps
Custom---Specialized requirements

Instances: Set the number of replicas (1-10) for high availability. Each instance runs on its own pod.

Step 3: Connect Services (Optional)

Connect your app to platform services - all connections are automatically injected via the STRONGLY_SERVICES environment variable.

Add-ons (Managed Databases)

  1. Click Add-ons button during app configuration
  2. Select from available MongoDB, Redis, PostgreSQL instances
  3. Connection strings automatically injected
  4. Must be in same environment (Dev/Prod)

Data Sources (External Databases)

  1. Connect to external MySQL, PostgreSQL, S3, Snowflake, etc.
  2. Credentials encrypted and injected at runtime
  3. Support for read replicas and connection pooling

AI Models (AI Gateway)

  1. Select from available OpenAI, Anthropic, or self-hosted models
  2. API keys and endpoints automatically configured
  3. Usage tracked and billed through platform

Workflows (REST API Triggers)

  1. Connect workflows with REST API trigger nodes
  2. Invoke workflows from your app code
  3. Automatic authentication and execution tracking

Step 4: Deploy & Monitor

  1. Review Configuration: Check all settings before deployment
  2. Click Deploy: Initiate build and deployment process
  3. Monitor Build: Watch build progress (timeout: 10 minutes)
  4. Access App: Once deployed, click "View App" or navigate to /apps/your-app-id/view

Build Process

The platform automatically:

  1. Extracts your code archive
  2. Builds Docker image using your Dockerfile
  3. Pushes image to internal registry
  4. Creates Kubernetes deployment
  5. Configures ingress and services
  6. Injects environment variables and service connections
  7. Starts health checks
Build Timeout

Builds must complete within 10 minutes. Optimize your Dockerfile to reduce build time.

App Management

Start/Stop/Restart

  • Click app name to view details
  • Use action buttons: Start, Stop, Restart
  • Monitor status changes in real-time

Update Configuration

Update your running application:

  • Update environment variables
  • Scale instances up or down
  • Add or remove connected services
  • Click Redeploy to apply changes
Redeploy Required

Configuration changes require redeployment. This will cause brief downtime unless you have multiple instances.

View Logs & Metrics

Monitor your application in real-time:

  • Real-time log streaming
  • CPU, memory, disk usage
  • Request metrics and error rates
  • Health check status

Promote to Production

Move your tested app from Development to Production:

  1. Test thoroughly in Development
  2. Click Promote to Production
  3. Map add-ons to production equivalents
  4. Review and confirm promotion
  5. Platform creates production deployment
Best Practice

Always test in Development first, then promote to Production with proper add-on mapping to avoid data mixing.

Common Deployment Issues

Build Fails

  • Check Dockerfile syntax
  • Ensure all dependencies are accessible
  • Verify build context includes all required files
  • Check build logs for specific errors

App Won't Start

  • Verify health check endpoint is accessible
  • Check application logs for startup errors
  • Ensure environment variables are set correctly
  • Verify port configuration matches manifest

Connection Issues

  • Confirm services are in the same environment
  • Check STRONGLY_SERVICES environment variable
  • Verify credentials and connection strings
  • Test connectivity from app terminal

Next Steps