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:
/frontendif 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=productionDATABASE_URL=postgresql://...API_KEY=your-secret-keyNEXT_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:
- ScaleNodes clones your repository
- Detects your framework and installs dependencies
- Runs the build command (e.g.,
npm run build) - Deploys your application to production servers
- 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 mainAutomatic Deployment
ScaleNodes automatically detects the push and starts a new deployment.
Monitor Progress
- Go to your service details page
- Check the status badge (changes to “Deploying”)
- Switch to Deployments tab to see the new deployment
- Switch to Monitoring → Build Logs to watch the build
Verify Deployment
Once status shows “Running”:
- Click Visit Site to test your changes
- Check Deploy Logs for any runtime errors
Troubleshooting Failed Deployments
Check Build Logs
- Go to Monitoring tab
- Select Build Logs
- Look for error messages (usually in red)
Common Issues
Missing Dependencies
- Error:
Module not foundorPackage not installed - Fix: Add missing packages to
package.json,requirements.txt, etc.
Build Command Failed
- Error:
npm run build failedor similar - Fix: Test your build locally first
- Ensure build scripts are correct in
package.json
Environment Variables Missing
- Error:
undefined is not a functionorCannot read property - Fix: Add required environment variables in Variables tab
Rebuild After Fixing
- Push your fixes to Git (triggers auto-deploy)
- 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
- Go to Overview tab
- Click Upgrade Plan
- Select a higher-tier plan
- 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
.envfiles 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:
- Check Deploy Logs for startup errors
- Verify all required environment variables are set
- Ensure your app listens on the correct port (usually
process.env.PORT) - Check for syntax errors in your code
Deployment Stuck
Symptoms: Status shows “Deploying” for a long time
Solutions:
- Wait 10-15 minutes (large builds take time)
- Check Build Logs for progress
- If truly stuck, contact support with your service ID
Environment Variables Not Working
Symptoms: App can’t access environment variables
Solutions:
- Verify variables are saved in Variables tab
- Restart the service (required after variable changes)
- Check variable names match exactly (case-sensitive)
- 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:
- Verify DNS records are correctly configured
- Allow 24-48 hours for DNS propagation
- Check domain status in Domains section
- Ensure domain is pointed to ScaleNodes nameservers
Next Steps
- Custom Domains - Connect your own domain
- Environment Variables Best Practices - Secure configuration management
- Monitoring & Logs - Advanced monitoring techniques
- Troubleshooting - Common issues and solutions
Need help? Contact our support team or check the Support section for more resources.