Getting Started

First Deployment Walkthrough

Deploy your first application to AWS, Google Cloud, or Microsoft Azure in under 10 minutes

15-20 minutesBeginner Friendly

Prerequisites

Focal Deploy Account

Create an account if you haven't already

Cloud Credentials Connected

Follow our AWS IAM Setup, GCP Service Account, or Azure Service Principal guide

Application Ready to Deploy

Your application code in a Git repository or local directory

Step 1: Set Up Your Cloud Credentials

Before you can deploy, you need to connect your cloud provider credentials to Focal Deploy:

⚠️ This is a required step - you cannot deploy without cloud credentials!

For AWS Deployments:

  1. Follow our AWS IAM Setup Guide to create an IAM user with deployment permissions
  2. Copy your AWS Access Key ID and Secret Access Key
  3. Go to Dashboard → Credentials
  4. Click "Add Cloud Credentials" and select "AWS"
  5. Paste your Access Key ID and Secret Access Key
  6. Give it a name (e.g., "Production AWS") and click "Save"

For Google Cloud Deployments:

  1. Follow our GCP Service Account Guide to create a service account
  2. Download your service account JSON key file
  3. Go to Dashboard → Credentials
  4. Click "Add Cloud Credentials" and select "Google Cloud"
  5. Upload or paste your JSON key
  6. Give it a name (e.g., "Production GCP") and click "Save"

For Microsoft Azure Deployments:

  1. Follow our Azure Service Principal Guide to create credentials
  2. Collect your Subscription ID, Tenant ID, Client ID, and Client Secret
  3. Go to Dashboard → Settings → Cloud Providers
  4. Click "Add Azure Credentials"
  5. Enter all four credential values
  6. Give it a name (e.g., "Production Azure") and click "Save"

🔒 Security: Your credentials are encrypted with AES-256-GCM and stored securely. Focal Deploy will never access your cloud resources without your explicit deployment requests.

Step 2: Set Up API Key (Required for CLI Access)

If you plan to use the Focal Deploy CLI, you need to generate an API key:

  1. Navigate to Dashboard → API Keys
  2. Click "Generate New API Key"
  3. Give it a descriptive name (e.g., "My Laptop CLI")
  4. Copy the API key immediately - it will only be shown once!
    fd_1234567890abcdef1234567890abcdef
  5. Store it securely (you'll use it in Step 5 for CLI deployments)

Skip this step if you only plan to deploy through the web dashboard. You can always generate an API key later if needed.

Step 3: Choose Your Cloud Provider

Focal Deploy supports AWS, Google Cloud, and Microsoft Azure. Choose the provider that works best for you:

💡 Pro Tip: You can deploy to all three providers from the same Focal Deploy account. Start with one and expand later!

Step 4: Prepare Your Application

Focal Deploy supports a wide range of application types. Here's what you need:

Supported Frameworks

Node.js/Express
Next.js
React
Vue.js
Python/Django
Python/Flask
Ruby on Rails
PHP/Laravel
Go

⚠️ Important: Make sure your application has:

  • A valid package.json (Node.js) or equivalent
  • Environment variables documented (we'll configure these next)
  • Database requirements listed (if applicable)

Step 5: Choose Your Deployment Method

You can deploy using either our web dashboard or CLI:

Option A: Web Dashboard (Recommended for First-Time Users)

  1. 1. Navigate to Create New Deployment
  2. 2. Select your cloud provider (AWS)
  3. 3. Choose your region:
    • us-east-1 (N. Virginia) - Best for US East Coast
    • us-west-2 (Oregon) - Best for US West Coast
    • eu-west-1 (Ireland) - Best for Europe
  4. 4. Configure your deployment:
    • Application name (e.g., "my-awesome-app")
    • Instance type (t3.small recommended for testing)
    • Environment variables (API keys, database URLs, etc.)
    • Port your application runs on (default: 3000)
  5. 5. Upload your code:
    • Connect your Git repository (GitHub, GitLab, Bitbucket)
    • Or upload a ZIP file of your project
  6. 6. Review and click "Deploy"

Option B: API Integration (For Automation)

Note: The Focal Deploy CLI is coming soon. For now, use the web dashboard or integrate directly with our REST API.

You can trigger deployments programmatically using our API:

  1. 1. Generate an API key from Dashboard → API Keys
  2. 2. Create a deployment via API:
    # Create deployment
    curl -X POST https://api.focuswithfocal.io/api/deployments \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"projectName": "my-app", "provider": "aws", "region": "us-east-1"}'
  3. 3. Check our API documentation for full details

Step 6: Monitor Your Deployment

Once you initiate the deployment, Focal Deploy will:

1

Provision infrastructure

Create VM, configure networking, security groups

2

Install dependencies

Install Node.js, Python, or other runtime requirements

3

Deploy your code

Upload and extract your application files

4

Configure SSL

Generate and install SSL certificate for HTTPS

5

Start your application

Run your start command and monitor health

6

Configure DNS

Set up your custom domain or subdomain

📊 Real-Time Logs: Watch the deployment logs in real-time from your deployments dashboard. You'll see exactly what's happening at each step.

Step 7: Access Your Deployed Application

Once deployment completes (typically 5-10 minutes), you'll receive:

Your Application URL

https://your-app-name.focuswithfocal.com

✅ SSL certificate automatically configured

Additional Access Options

  • SSH Access:

    Connect directly to your server for debugging

    ssh -i ~/.ssh/focal-deploy.pem ubuntu@your-instance-ip
  • Dashboard Monitoring:

    View metrics, logs, and manage your deployment from the dashboard

Next Steps

Congratulations on your first deployment! Here's what to explore next:

Common Issues & Troubleshooting

Deployment Failed

Check the deployment logs for specific error messages. Common causes:

  • Missing environment variables
  • Incorrect start command in package.json
  • Port conflicts (ensure your app listens on PORT environment variable)

Application Won't Start

Verify your application:

  • Runs locally with the same Node.js version
  • Has all dependencies listed in package.json
  • Listens on the PORT environment variable (not hardcoded port)

SSL Certificate Issues

SSL certificates are generated automatically. If you see certificate errors, wait a few minutes for DNS propagation and try again.

Need Help? Contact our support team at support@focuswithfocal.com or visit our documentation.

Related Guides