Skip to Content
Web Applications

Web Applications - Complete Guide

Deploy modern web applications with automatic scaling, SSL certificates, and continuous deployment from your Git repositories.

Overview

The Web Applications service allows you to deploy and manage web apps built with popular frameworks like Next.js, React, Vue, Node.js, Python, Ruby, PHP, and more. Your apps are automatically built, deployed, and scaled based on traffic.

Access Path: /dashboard/compute/web-services


Viewing Your Web Services

Web Services List Page

When you navigate to /dashboard/compute/web-services, you’ll see:

Search & Filter

  • Search box at the top - Search by service name, URL, or framework
  • Results update as you type

Service Cards

Each deployed service displays as a card showing:

  • Service Name - The name you gave your application
  • Git Repository - Shown as owner/repo (e.g., mycompany/my-app)
  • Status Badge - Current state:
    • 🟢 Running - Service is live and healthy
    • 🟡 Deploying - Build/deployment in progress
    • 🔴 Failed - Deployment or runtime error
    • Stopped - Service is not running
  • Last Deployed - Relative time (e.g., “Deployed 2 days ago”)
  • Service URL - Click to visit your live application

Actions

  • New Service button (top right) - Deploy a new application
  • Click any card - Open the service details page

Use the search box to quickly find services by name, repository, or framework type.


Deploying a New Application

Click New Service to start the deployment wizard.

Step 1: Application Details

Application Name

  • Enter a descriptive name for your service
  • This name appears in your dashboard and logs
  • Example: my-portfolio, company-website, api-backend

Framework / Application Type

  • Select your framework from the dropdown
  • Common options:
    • Next.js - React framework with SSR/SSG
    • React - Create React App or Vite
    • Vue.js - Vue 3 applications
    • Node.js - Express, Fastify, or custom Node apps
    • Python - Flask, Django, FastAPI
    • Static Site - HTML/CSS/JS only
    • Other - Custom build configuration

The framework selection helps ScaleNodes auto-detect build commands.

Step 2: Repository Configuration

GitHub Installation

  • Select which GitHub account/organization to use
  • If you haven’t connected GitHub yet, click Connect GitHub to authorize ScaleNodes

Repository

  • Choose the repository containing your application code
  • Only repositories from the selected GitHub installation appear
  • Type to search if you have many repos

Branch

  • Select the branch to deploy from
  • Common choices: main, master, production, develop
  • Every push to this branch triggers a new deployment

Directory

  • Specify the folder containing your app (if not at repo root)
  • Default: / (repository root)
  • Example: /frontend if your app is in a subfolder
  • Leave as / for monorepos with root-level config

Make sure your repository contains the necessary build configuration files (e.g., package.json, requirements.txt, Gemfile).

Step 3: Select Pricing Plan

Choose the resources your application needs:

Plan Options

  • Starter - 0.5 vCPU, 512 MB RAM - Good for small sites and testing
  • Basic - 1 vCPU, 1 GB RAM - Personal projects and small apps
  • Standard - 2 vCPU, 2 GB RAM - Production apps with moderate traffic
  • Pro - 4 vCPU, 4 GB RAM - High-traffic applications
  • Enterprise - Custom resources - Contact support

Each plan includes:

  • Automatic SSL certificates
  • Continuous deployment from Git
  • Custom domain support
  • Build and deployment logs

Billing

  • Plans are billed hourly while your service is running
  • You can upgrade or downgrade anytime from the service settings

Step 4: Environment Variables

Add environment variables your application needs:

Adding Variables

  • Click Add Variable to create a new row
  • Enter Name (e.g., DATABASE_URL, API_KEY)
  • Enter Value (the actual secret or configuration value)
  • Click Add Variable again for more entries

Common Variables

  • NODE_ENV=production
  • DATABASE_URL=postgresql://...
  • API_KEY=your-secret-key
  • NEXT_PUBLIC_API_URL=https://api.example.com

Security: Environment variables are encrypted at rest. Never commit secrets to your Git repository.

Empty Rows

  • Only filled name/value pairs are saved
  • Empty rows are ignored

Step 5: Deploy

Click Deploy Application to start the deployment process.

What Happens Next:

  1. ScaleNodes clones your repository
  2. Detects your framework and installs dependencies
  3. Runs the build command (e.g., npm run build)
  4. Deploys your application to production servers
  5. Assigns a public URL (e.g., your-app.scalenodes.app)

You’ll be redirected to the service list where you can see the deployment status.


Managing Your Application

Click on any service card to open the service details page.

Service Details Header

Service Name & Status

  • Large service name at the top
  • Status badge showing current state
  • Last updated timestamp

Primary Actions

  • Restart - Stop and start the service without rebuilding
    • Use this to apply environment variable changes
    • Quick recovery from runtime issues
  • Rebuild & Deploy - Trigger a full rebuild from source
    • Pulls latest code from your branch
    • Runs the complete build process
    • Use after pushing new code (if auto-deploy is disabled)

Note: Action buttons are disabled while a deployment or restart is in progress.


Service Tabs

Overview Tab

Service URL

  • Your application’s public URL
  • Click Visit Site to open in a new tab
  • Example: https://my-app-abc123.scalenodes.app

Repository Information

  • Repository: Full GitHub URL (clickable link)
  • Branch: Currently deployed branch
  • Build Style: Framework/build type
  • Directory: Source code directory path

Resources

  • Plan: Current pricing plan name
  • vCPU: Allocated CPU cores
  • RAM: Allocated memory
  • Storage: Disk space available
  • Upgrade Plan button - Change to a different plan

Timeline

  • Created: When the service was first deployed
  • Updated: Last deployment or configuration change
  • Deleted: (Only shown if service is being deleted)

Variables Tab

Manage environment variables for your application.

Viewing Variables

  • List of all environment variables
  • Name column shows variable names
  • Value column shows values (masked by default)
  • Click the eye icon to show/hide values

Adding Variables

  • Click Add Variable
  • Enter name and value in the new row
  • Click Save Changes to apply

Editing Variables

  • Click on any value field to edit
  • Modify the value
  • Click Save Changes to apply

Deleting Variables

  • Click the trash icon next to any variable
  • Click Save Changes to apply

Actions

  • Save Changes - Apply all modifications (green button)
  • Discard - Revert to the last saved state (gray button)

Important: After changing environment variables, you must Restart your service for changes to take effect.


Deployments Tab

View your deployment history and status.

Deployment List

Each deployment shows:

  • Commit Message - The Git commit message
  • Commit Hash - Short commit SHA (e.g., a1b2c3d)
  • Time - When the deployment occurred (relative time)
  • Status:
    • Success - Deployment completed successfully
    • In Progress - Currently deploying
    • Failed - Deployment failed (check logs)
  • External Link - Click to view commit on GitHub (if available)

Actions

  • Refresh button - Reload the deployment list
  • Click on a deployment to view detailed logs (if available)

Auto-Deployment

  • New deployments are triggered automatically when you push to your configured branch
  • Manual deployments can be triggered via Rebuild & Deploy button

Monitoring Tab

View real-time logs from your application.

Log Types

Switch between log sources:

  • Deploy Logs - Deployment and runtime logs
    • Application startup messages
    • Runtime errors and warnings
    • HTTP request logs
  • Build Logs - Build process logs
    • Dependency installation
    • Build command output
    • Build errors and warnings

Log Viewer Features

  • Search - Filter logs by message or timestamp
  • Refresh button - Reload latest logs
  • Auto-scroll - Automatically scrolls to newest logs
  • Timestamps - Each log entry shows exact time

Using Logs

  • Check build logs if deployment fails
  • Monitor deploy logs for runtime errors
  • Search for specific error messages
  • Copy log entries for debugging

Logs are retained for 7 days. Download important logs for long-term storage.


Settings Tab

Configure your service settings.

General Settings

Service Name

  • Edit your service’s display name
  • Click Save to update

Configure Your Build

GitHub Installation

  • Change which GitHub account/org to use
  • Useful if you transferred the repository

Repository

  • Switch to a different repository
  • Type to search your available repos

Branch

  • Change the deployment branch
  • Useful for staging/production workflows

Directory

  • Update the source code directory path
  • Default: /

Framework / Build Style

  • Change the detected framework
  • Useful if auto-detection was incorrect

Save Build Configuration

  • Click Save to apply changes
  • Important: Saving triggers an immediate rebuild and deployment

Changing build configuration triggers an automatic rebuild. Make sure your changes are correct before saving.

GitHub CI Integration

Toggle GitHub CI

  • Enable/disable GitHub Actions integration
  • When enabled, deployments can be triggered via GitHub webhooks
  • Useful for custom CI/CD pipelines

Danger Zone

Delete Service

  • Permanently delete this service
  • Click Delete Service button
  • Type the service name to confirm
  • Warning: This action cannot be undone
  • All data, logs, and configurations will be lost

Common Workflows

Deploying Updates

Push to Git

Commit and push your changes to the configured branch:

git add . git commit -m "Update homepage design" git push origin main

Automatic Deployment

ScaleNodes automatically detects the push and starts a new deployment.

Monitor Progress

  1. Go to your service details page
  2. Check the status badge (changes to “Deploying”)
  3. Switch to Deployments tab to see the new deployment
  4. Switch to MonitoringBuild Logs to watch the build

Verify Deployment

Once status shows “Running”:

  1. Click Visit Site to test your changes
  2. Check Deploy Logs for any runtime errors

Troubleshooting Failed Deployments

Check Build Logs

  1. Go to Monitoring tab
  2. Select Build Logs
  3. Look for error messages (usually in red)

Common Issues

Missing Dependencies

  • Error: Module not found or Package not installed
  • Fix: Add missing packages to package.json, requirements.txt, etc.

Build Command Failed

  • Error: npm run build failed or similar
  • Fix: Test your build locally first
  • Ensure build scripts are correct in package.json

Environment Variables Missing

  • Error: undefined is not a function or Cannot read property
  • Fix: Add required environment variables in Variables tab

Rebuild After Fixing

  1. Push your fixes to Git (triggers auto-deploy)
  2. Or click Rebuild & Deploy to retry with current code

Scaling Your Application

Monitor Performance

Check if your app needs more resources:

  • Slow response times
  • High CPU/memory usage
  • Frequent crashes or restarts

Upgrade Plan

  1. Go to Overview tab
  2. Click Upgrade Plan
  3. Select a higher-tier plan
  4. Confirm the change

Automatic Restart

ScaleNodes automatically restarts your service with new resources.

Verify Performance

Monitor your application to ensure improved performance.


Best Practices

Security

  • ✅ Use environment variables for all secrets and API keys
  • ✅ Never commit .env files to Git
  • ✅ Rotate API keys and passwords regularly
  • ✅ Use HTTPS for all external API calls

Performance

  • ✅ Enable caching where possible
  • ✅ Optimize images and assets
  • ✅ Use CDN for static files
  • ✅ Monitor logs for slow queries or endpoints

Deployment

  • ✅ Test builds locally before pushing
  • ✅ Use staging branches for testing
  • ✅ Review build logs after each deployment
  • ✅ Keep dependencies up to date

Monitoring

  • ✅ Check logs regularly for errors
  • ✅ Set up external monitoring (e.g., UptimeRobot)
  • ✅ Monitor resource usage
  • ✅ Plan capacity upgrades in advance

Troubleshooting

Service Won’t Start

Symptoms: Status shows “Failed” or keeps restarting

Solutions:

  1. Check Deploy Logs for startup errors
  2. Verify all required environment variables are set
  3. Ensure your app listens on the correct port (usually process.env.PORT)
  4. Check for syntax errors in your code

Deployment Stuck

Symptoms: Status shows “Deploying” for a long time

Solutions:

  1. Wait 10-15 minutes (large builds take time)
  2. Check Build Logs for progress
  3. If truly stuck, contact support with your service ID

Environment Variables Not Working

Symptoms: App can’t access environment variables

Solutions:

  1. Verify variables are saved in Variables tab
  2. Restart the service (required after variable changes)
  3. Check variable names match exactly (case-sensitive)
  4. For client-side variables, ensure they’re prefixed correctly (e.g., NEXT_PUBLIC_ for Next.js)

Custom Domain Not Working

Symptoms: Custom domain shows errors or doesn’t load

Solutions:

  1. Verify DNS records are correctly configured
  2. Allow 24-48 hours for DNS propagation
  3. Check domain status in Domains section
  4. Ensure domain is pointed to ScaleNodes nameservers

Next Steps

Need help? Contact our support team or check the Support section for more resources.