Cloudstation

Deploying Services

Launch new cloud services from templates, Docker images, or Git repositories

Deploy production-ready services to CloudStation with just a few clicks. Whether you're launching a database, deploying your application, or setting up infrastructure, CloudStation makes it simple.

Getting Started

Navigate to your Project in the CloudStation dashboard

Click the Instances tab

Click Add Service or the + icon to open the deployment menu

Deployment Methods

CloudStation offers three ways to deploy services, each optimized for different use cases.

The fastest way to get started. CloudStation provides pre-configured templates for popular services:

Databases

  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • Elasticsearch

Applications

  • Node.js apps
  • Python apps
  • PHP apps
  • Static sites

Infrastructure

  • Message queues (RabbitMQ, Kafka)
  • Cache servers
  • Monitoring tools

Templates come with production-ready defaults, including proper resource allocation, health checks, and security settings. They're perfect for getting started quickly without deep infrastructure knowledge.

Deploying from a Template

Click the + Add button in the top right of your project, then select Browse Templates from the dropdown menu.

Add service dropdown menu

The Deploy from Template drawer opens, showing all available templates with deploy counts, tags, and categories. Browse or search for the service you need.

Template browser showing available templates

Click a template card to deploy it. CloudStation automatically provisions all required services (e.g., Evolution API deploys with Redis and Postgres).

A "Template deployed successfully" notification confirms deployment. Your services appear in the Instances list, initially showing PENDING status as they start up.

Services deploying with pending status

Watch your services transition from PENDING → STARTING → RUNNING. Most services are fully operational within 60 seconds.

From Docker Images

Deploy any Docker image from Docker Hub or private registries. Perfect for custom applications or services not in the template library.

Click Add Service → Docker Image

Enter the image name (e.g., nginx:latest or myregistry/myapp:v1.0)

Configure authentication if using a private registry

Set resource allocation and environment variables

Click Deploy to launch

CloudStation supports images from any Docker-compatible registry, including Docker Hub, GitHub Container Registry, Google Container Registry, and private registries.

From Git Repositories

Deploy directly from your source code. CloudStation automatically builds and deploys your application whenever you push changes.

Before deploying from Git, you must connect your GitHub account in Settings > Integrations. This is a one-time setup. See GitHub Integration for the full walkthrough.

Deploying from a Git Repository

Click the + Add button in the top right of your project, then select Deploy from Git from the dropdown menu. The Deploy from Git drawer opens with two tabs: URL (paste a repository link directly) and Browse Repos (browse your connected GitHub repositories).

Deploy from Git modal showing URL and Browse Repos tabs

Choose your repository. Switch to the Browse Repos tab to see all your connected repositories. Select the repository you want to deploy — CloudStation shows the language, default branch, and last update time for each repo. The Branch field auto-fills with the repository's default branch (e.g., master or main).

Browsing and selecting a repository from the list

Configure Build Settings. Expand the Build Settings section to customize how your app is built. CloudStation auto-detects your framework and pre-fills sensible defaults:

  • Builder: Choose between Railpack (recommended), Docker, or Nixpacks
  • Build Command: Override the default build command (e.g., npm run build)
  • Start Command: Override the default start command (e.g., npm start)
  • Root Directory: Set a subdirectory if your app isn't at the repo root
  • Dockerfile Path: Specify a custom Dockerfile path if needed

Build Settings showing Railpack builder with build and start commands

Configure Network Settings. Expand the Network Settings section to set up how your service is accessed:

  • Port Number: The port your application listens on (e.g., 3000 for Express/Node.js apps)
  • Port Type: HTTP or TCP
  • Public Access: Toggle on to make your service publicly accessible on the internet

Network Settings with port 3000, HTTP, and Public Access enabled

Add Environment Variables (Optional). Expand the Environment Variables section to add key-value pairs your app needs. Click + Add Variable to add more entries. You can also paste .env content (KEY=VALUE lines) directly into a key field to bulk-import variables.

Environment variables configuration with key-value pairs

Add Storage (Optional). If your app needs persistent data, expand the Storage section and configure a volume with capacity (in GB) and mount path (e.g., /data).

The Enable Auto-deploy checkbox at the bottom automatically redeploys your service whenever you push changes to the selected branch.

Storage volume configuration and auto-deploy option

Click Deploy to start the build. A "Repository imported and deployed successfully" notification confirms deployment. Your service appears in the Integrations section of the Instances list with a DEPLOYING status badge.

Service deployed with DEPLOYING status and success toast

CloudStation automatically detects popular frameworks like Next.js, React, Vue, Django, Flask, Express, and more. Most deployments require zero configuration — just select your repo and click Deploy.

Resource Allocation

Every instance needs computing resources to run. CloudStation makes it easy to allocate the right amount.

RAM (Memory)

Choose how much memory your service needs:

  • 512 MB: Lightweight services, simple APIs
  • 1 GB: Small databases, standard web apps
  • 2 GB: Medium apps, busy databases
  • 4 GB+: Large applications, data processing

Start with lower resources and scale up if needed. CloudStation makes it easy to adjust resources later without downtime.

CPU

Allocate processing power:

  • 0.5 vCPU: Background jobs, light workloads
  • 1 vCPU: Standard applications
  • 2 vCPU: Compute-intensive tasks
  • 4 vCPU+: High-performance needs

Storage

Set disk space for your instance:

  • Application storage: Built-in with every instance
  • Persistent volumes: For databases and file storage (see Volumes)

Network Configuration

Ports

Expose your service to the internet or other services:

  • Public ports: Accessible from anywhere (e.g., port 80 for web traffic)
  • Private ports: Only accessible by other services in your project
  • Auto-detection: CloudStation suggests common ports based on your image

Typical web application setup:

  • Port 80 (HTTP) - Public
  • Port 443 (HTTPS) - Public
  • Auto-SSL certificate included

Typical database setup:

  • Port 5432 (PostgreSQL) - Private only
  • Port 3306 (MySQL) - Private only
  • No public internet access for security

Typical API setup:

  • Port 8080 (API) - Public with rate limiting
  • Port 9090 (Metrics) - Private only

Subdomains

Every deployed service with public access gets an auto-generated subdomain on usecloudstation.com. You can view and customize it from the Overview tab in the instance detail panel.

Click your deployed service to open the detail panel. The Overview tab shows your App URLs section with the auto-generated subdomain, along with Verified, SSL, and active badges.

Overview tab showing auto-generated subdomain with SSL verified

Click the edit icon (pencil) next to your URL to customize the subdomain. Type your preferred subdomain name — the Full Domain Preview updates in real-time to show the final URL. Expand Advanced Settings to configure the protocol (HTTP/TCP), port number, public access toggle, and health check.

Editing subdomain with live preview and advanced settings

Click Save to apply your custom subdomain. The service will briefly go to PENDING status while the new URL is provisioned, then return to RUNNING with your custom subdomain active.

Custom subdomain saved and active

Subdomain changes trigger a redeployment. Your service will be briefly unavailable while the new URL is provisioned (typically under 30 seconds).

Custom Domains

Add your own domain to any public-facing service:

  1. Open the instance detail panel and go to the Overview tab
  2. In the Custom Domain section, click + Add Domain
  3. Enter your domain name
  4. Update your DNS records as instructed
  5. CloudStation automatically provisions SSL certificates

SSL certificates are free and automatically renewed. Your services are secure by default.

Environment Variables

Configure your service with environment variables during deployment:

  • Database connection strings
  • API keys and secrets
  • Feature flags
  • Service URLs

See Environment Variables for detailed configuration guide.

Advanced Options

Health Checks

Configure custom health checks to ensure your service is running properly:

  • HTTP endpoint: Check a specific URL (e.g., /health)
  • TCP connection: Verify port is accepting connections
  • Custom command: Run a script inside the container

Restart Policy

Choose what happens when your service stops:

  • Always: Automatically restart (recommended for production)
  • On failure: Only restart if service crashes
  • Never: Manual restart required

Monitoring Deployment

After clicking Deploy, click on your service card to open the detail panel and watch your service come online.

Build Logs

Switch to the Deploys tab to see real-time build logs. For Git deployments, the logs show each phase:

  1. Clone — Cloning your repository and selected branch
  2. Build — Building your application with the selected builder (Railpack, Nixpacks, or Docker)
  3. Deploy — Pushing the built image and starting the container

Deploys tab showing build logs with clone and build phases

Instance Settings

The Settings tab shows your service configuration, including service name, deployment location, branch, and auto-deploy toggle. Expand Advanced Settings to view or change the builder, root directory, Dockerfile path, build/start commands, and replica count.

Settings tab showing service configuration and advanced settings

Deployment Status Flow

Watch your service transition through these states:

  1. DEPLOYING — CloudStation is building and deploying your code
  2. STARTING — Container is launching
  3. RUNNING — Service is live and healthy

Service running with 1/1 replicas and healthy status

Once your service shows RUNNING with a green dot and "Running smoothly — no issues detected", your app is live and accessible at the assigned URL.

Live application running in the browser

Most deployments complete in under 60 seconds. Complex builds from Git may take a few minutes.

Deployment Troubleshooting

Service Won't Start

Common issues and solutions:

  • Insufficient resources: Increase RAM or CPU allocation
  • Port conflicts: Check port configuration
  • Missing environment variables: Add required configuration
  • Image not found: Verify image name and registry access

Build Failures (Git Deployments)

  • Check build logs for error messages
  • Verify dependencies are specified correctly
  • Ensure build commands are correct
  • Check for syntax errors in your code

View detailed logs in the instance sidebar. Logs show exactly what's happening during deployment and can help diagnose issues quickly.

Next Steps