Python Applications
Overview
This guide walks you through configuring and deploying a Python application using Nife. You'll learn how to set up an Image App, initialize it with Nife CLI, and deploy it to production.
We'll use this sample repository: Image App
Prerequisites
Before you start, make sure you have:
- Nife account and CLI installed
Step 1: Install Nifectl CLI
Follow the official installation guide for your operating system: Nifectl Installation Guide
Step 2: Log In to Nifectl
Authenticate with your Nife account using nifectl auth command:
nifectl auth login
You'll be prompted to enter your credentials. A browser window will open to complete the authentication.
Step 3: Initialize Your Application
Initialize the Python application for deployment using nifectl init:
nifectl init
Interactive Configuration
The CLI will prompt you for the following information. Follow each step carefully:
1. App Name
? App Name (leave blank to use an auto-generated name)
Press Enter to generate a random name or enter your preferred app name (e.g., python).
2. Select Organization
? Select organization: [Use arrows to move, type to filter]
NIFE-APPS (nife-apps)
Use arrow keys to select your organization.
3. Deployment Source
? Deployment source: [Use arrows to move, type to filter]
Image Public Docker image
Docker Private registry image
Database S3/GS, Postgres, Redis, Mongo...
Loadbalancer Load balancer config
Runtime Language & framework runtimes
Select Runtime to use a language & framework runtime.
4. Select Builder
? Select builder: [Use arrows to move, type to filter]
None (Do not set a builder)
Image (Use a public Docker image)
deno Deno builtin
go Go Builtin
hugo-static Hugo static build with web server builtin
node Nodejs builtin
python Python builtin
ruby Ruby builtin
Select python for the Python builtin runtime.
5. Deployment Type
? Deployment type (Kubernetes workload kind): Deployment
Leave as default (Deployment).
6. Workload and Resource Configuration
? Workload type: deployment
? Resource type: CPU
? Do You Wish To Add Volume (y/N): No
? Specify the Replicas Count for deployment(1): 1
Accept the defaults for a standard Python deployment.
7. Port Configuration
? Select Internal Port: 8080
? Select External Port: 80
Set internal port to 8080 (Python app default) and external port to 80.
8. Memory and Routing
? Do You Wish To Add Memory Allocations: No
? Select Routing Policy: [Use arrows to move, type to filter]
Geolocation
Latency
Select Geolocation for global distribution.
9. Deployment Strategy
? Deployment strategy: [Use arrows to move, type to filter]
rolling
recreate
blue-green
canary
shadow
ab-testing
Select rolling for zero-downtime deployments.
10. Environment Variables
? Add environment variables? (y/N): No
Skip for now (can be added later if needed).
11. Region Selection
Available regions for this app (will be selected on first deploy):
IND - India, Mumbai
my-cluster - my-cluster
Your available deployment regions will be displayed.
Configuration Complete
When initialization finishes, you'll see:
New app created
Name = python
Organization = nife-apps
Version = 0
Status = New
Hostname = <empty>
Update config file nife.toml
Your nife.toml configuration file has been created with all your settings.
Step 4: Deploy Your Application
Deploy the Python application using nifectl deploy:
nifectl deploy
When you run the deploy command, you'll be prompted to select a region:
? Select region for deployment: [Use arrows to move, type to filter]
IND - India, Mumbai
EUR - Europe
APAC - Asia Pacific
AMER - Americas
my-cluster - my-cluster
The deployment process includes:
- Validating app configuration
- Cloning repository
- Building Docker image
- Optimizing image
- Creating release and deployment
Expected Output
Deploying python
==> Validating App Configuration
--> Validating App Configuration done
==> Building Image from Repository
--> Cloning repository
--> Building Docker image
==> Optimizing Image
--> Done Optimizing Image
==> Creating Release
==> Creating Deployment
Release v1 created at: http://python.apps.nifetency.com
Deployment...Done
Your deployed application will be available at the URL shown in the output. Save this for later reference.
Step 5: Access Your Application
Once deployment completes successfully, your Python Image App is live! Navigate to your deployment URL:
http://python.apps.nifetency.com
Check the Nife Documentation if you encounter any issues.