Prerequisites
Before creating an application:- You have created an Environment
Overview
An application is a container unit that is part of a Project within an Environment. You can deploy multiple applications within the same environment, and they can communicate with each other and connect to databases.Deployment Sources
Qovery supports two deployment sources for applications:Git Repository
Qovery pulls your code from a Git repository, builds the application, and deploys it to your Kubernetes cluster. Supported Providers: GitHub, GitLab, BitbucketContainer Registry
Qovery pulls a pre-built container image from your configured registry and deploys it to your Kubernetes cluster.Container registries must be configured at the organization level by administrators. See Container Registry Management.
Creating an Application
1
Select Source
Choose Git Repository or Container Registry as your deployment source
2
Configure Source
For Git Repository:
- Select Git provider
- Choose repository
- Select branch
- Specify root application path (if not at repository root)
- Configure Dockerfile path
- Select configured registry
- Enter image name
- Specify image tag
3
Configure Resources
- vCPU: Default 500m (0.5 cores)
- RAM: Default 512MB
- GPU: Optional GPU allocation (requires GPU-enabled cluster)
- Auto-scaling: Configure min/max instances (optional)
4
Configure Ports
- Internal Port: Port your application listens on
- Protocol: HTTPS, gRPC, TCP, or UDP
- Publicly Accessible: Enable to expose via load balancer
5
Health Checks (Optional)
- Liveness Probe: Determines if container should be restarted
- Readiness Probe: Determines if container should receive traffic
6
Environment Variables
Configure environment variables for your application
7
Review and Deploy
Review configuration and choose:
- Create: Save configuration without deploying
- Create and Deploy: Save and immediately deploy
Configuration
General Settings
Git Repository Configuration:- Git provider and repository
- Branch selection
- Root application path
- Dockerfile path
- Build arguments
- Multi-stage build target selection
- Registry selection
- Image name
- Image tag
- Entrypoint override
- CMD arguments override
Resources
CPU and Memory:- vCPU allocation (millicores)
- RAM allocation (MB/GB)
- Configure based on application needs
- Number of GPUs per instance
- Available for AI/ML workloads
- Minimum instances (default: 1)
- Maximum instances (default: 3)
- CPU threshold for scaling (default: 60%)
- Scale up: Triggered after 15 seconds above threshold
- Scale down: Triggered after 5 minutes below threshold
Auto-scaling uses Kubernetes metrics-server to monitor resource usage.
Storage
Ephemeral Storage (default):- Container filesystem
- Data lost on restart
- Use for temporary files and caches
- Block storage volumes
- Data persists across restarts
- Configure mount path and size
- SSD storage type (fast_ssd)
- Typical range: 5GB-10GB
Ports
Configure network exposure for your application: Port Configuration:- Internal Port: Port your application listens on
- External Port: HTTPS defaults to 443, HTTP to 80
- Protocol: HTTP/HTTPS, gRPC, TCP, UDP
- Publicly Accessible: Toggle to expose via load balancer
- URL Rewriting: Configure path rewriting (optional)
For HTTP and gRPC protocols, the external port is set to 443 by default with automatic TLS.
TCP/UDP Ports: Exposing TCP/UDP ports publicly requires provisioning a dedicated load balancer, which takes approximately 15 minutes and incurs additional cloud provider costs.
Health Checks
Liveness Probe:- Determines if container should be restarted
- Configure endpoint, port, initial delay, and intervals
- Determines if container should receive traffic
- Configure endpoint, port, initial delay, and intervals
Deployment Restrictions
Configure when deployments should be triggered:- File path filters: Deploy only when specific files change
- Branch filters: Deploy only from specific branches
Internet Connectivity
Qovery-Assigned Domains
Every publicly accessible application receives an automatic domain with TLS certificate:Custom Domains
Add your own custom domain to your application:1
Add Domain
Navigate to application settings → Domains → Add Domain
2
Configure DNS
Create a CNAME record in your DNS provider:
3
Verify
Qovery automatically validates DNS configuration and provisions SSL/TLS certificate
CDN Proxy Mode
Enable CDN proxy mode for custom domains to route traffic through your CDN provider.Additional Features
Service Connections
Applications can connect to:- Databases within the same environment
- Other applications within the same environment
- External services via environment variables
SSH Access
Access running containers via SSH using the Qovery CLI:Clone Service
Duplicate an application configuration to the same or different environment. Cloning copies:- General configuration
- Resource settings
- Port configuration
- Storage configuration
- Build settings
Cloning excludes custom domains and some built-in environment variables to prevent conflicts.
Advanced Settings
Configure advanced options including:- Build timeout and resources
- Deployment strategy
- Network settings
- Node affinity
- Annotations and labels
Delete Application
To delete an application:- Navigate to application settings
- Click Delete Application
- Confirm deletion