Skip to main content

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:

  1. Visit the Viduli Samples GitHub repository
  2. Click the Fork button in the top-right corner
  3. 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:

  1. Click Select Repository
  2. From the dropdown, select Connect GitHub
  3. Follow the OAuth flow to authorize Viduli to access your GitHub repositories
  4. 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:

  1. Select the application if it's not already selected
  2. Check the status in the right sidebar - it should show Launching
  3. Wait for completion - deployment typically takes 1-2 minutes
  4. 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!