Deploy a Web App
Now that you have a project set up, it's time to deploy your first application using Viduli's Ignite Application Service. Ignite makes it incredibly simple to deploy web applications from your GitHub repositories with zero configuration - no Dockerfiles, YAML files, or complex build scripts required.
In this tutorial, you'll deploy a sample FastAPI application that demonstrates how quickly you can go from source code to a running application in the cloud. For more detailed information about Ignite's capabilities, see the complete Ignite documentation.
Prerequisites
Before deploying your web application, ensure you have:
- A Viduli project: Complete the Create a Project tutorial first
- A GitHub account: You'll need this to fork the sample repository
- Basic familiarity with APIs: Helpful but not required
Sample Application Overview
For this tutorial, we'll deploy a simple Articles API built with FastAPI (Python). This application provides REST endpoints for managing articles and demonstrates common web application patterns. The sample includes:
- RESTful API endpoints (
GET
,POST
,PUT
,DELETE
) - JSON responses
- Proper HTTP status codes
- Ready-to-deploy configuration
Step-by-Step Instructions
1. Access Your Project
Navigate to your project by clicking on the project name in the sidebar. This will open the project overview canvas where you can see all your deployed resources.
2. Start Resource Creation
In the project overview, click the New Resource
button in the sidebar. This opens the resource creation dialog where you can choose from different types of resources.
3. Select Ignite Application Service
From the resource type options, select Ignite
to create a new web application. This will open the Ignite application configuration form.
4. Choose Your Framework
Since we're deploying a FastAPI application, select FastAPI
from the framework dropdown. This tells Ignite how to properly build and deploy your Python application with the correct dependencies and runtime configuration.
5. Fork the Sample Repository
Before configuring the repository in Viduli:
- Visit the Viduli Samples GitHub repository
- Click the
Fork
button in the top-right corner - Fork the repository to your personal GitHub account
This creates your own copy of the sample code that you can modify and deploy.
6. Connect Your GitHub Repository
Back in the Viduli application configuration:
- Click
Select Repository
- From the dropdown, select
Connect GitHub
- Follow the OAuth flow to authorize Viduli to access your GitHub repositories
- Once connected, select
viduli-samples
from the repository dropdown
7. Configure Build Settings
Expand the "Customize Build" section and configure the following:
- Root Directory: Enter
./python-fastapi
(this is where the FastAPI application code is located) - Other fields: Leave the remaining build fields as their default values
Ignite will automatically detect the correct build commands for FastAPI applications.
8. Set Compute Resources
In the Compute section, configure the resources for your application:
- CPU: Select
125m
(125 millicpu = 12.5% of a CPU core) - Memory: Select
256mb
RAM
These minimal resources are perfect for a sample application and demonstrate Viduli's efficient resource usage.
9. Configure Scaling
In the Scaling section, set up your deployment region and instance limits:
- Region Mode: Select
Single Region
- Region: Choose
US East
(or your preferred region) - Minimum Instances: Set to
1
(ensures your app is always available) - Maximum Instances: Set to
1
(sufficient for this tutorial)
10. Set Application Identity
In the General section, configure your application's identity:
- Label: Enter
Articles API
(this is the display name) - Name: This will automatically populate as
articles-api
based on the label
11. Configure Networking
The Networking section controls how your application is accessed. Configure these settings:
- Public Access: Turn the
Public
switch ON to make your API accessible from the internet - Path Prefix: Enter
/api/articles
(requests to this path will route to your application) - Prefix Rewrite: Enter
/articles
(transforms the path before it reaches your application)
This configuration means external requests to /api/articles
will be rewritten to /articles
when they reach your FastAPI application.
12. Skip Secrets Configuration
For this tutorial, leave the Secrets section blank. In production applications, you would add environment variables like database connection strings or API keys here. When you deploy a database in the next step of this tutorial, Viduli will automatically provide the necessary database configuration to your application.
13. Deploy Your Application
Click the Create
button to deploy your application. Viduli will now:
- Clone your repository
- Build your FastAPI application
- Deploy it to your project's infrastructure
- Configure networking and routing
Monitor Deployment Progress
After clicking Create, your application will appear on the project canvas:
- Select the application if it's not already selected
- Check the status in the right sidebar - it should show
Launching
- Wait for completion - deployment typically takes 1-2 minutes
- Verify success - the status will change to
Healthy
when ready
Test Your Deployed Application
Once your application shows a Healthy
status, it's ready to receive requests. Test it using curl or your browser:
# Replace with your actual project domain
curl https://organization-team-project.viduli.app/api/articles
Expected Response:
[]
This empty array response confirms your API is working correctly - it's returning an empty list of articles since no articles have been created yet.
What You've Accomplished
Congratulations! You've successfully deployed your first web application on Viduli. Your application now has:
- Automatic HTTPS: Secure connections with SSL certificates
- Global CDN: Fast content delivery worldwide
- Auto-scaling: Handles traffic spikes automatically
- Health Monitoring: Automatic restart if issues occur
- Zero Maintenance: No servers to manage or patch
Next Steps
Now that you have a working web application, you can:
- Explore the API: Try making POST requests to create articles
- View Logs: Check the application logs in the resource details
- Monitor Performance: Review metrics and resource usage
- Add a Database: Continue to the next tutorial to add data persistence
Your FastAPI application is now live and ready to handle real traffic!