Docker Containers - OpenRTiST Deployment
Overview
This guide walks you through configuring and deploying a Docker container application using Nife. You'll learn how to set up OpenRTiST — a platform for wearable cognitive assistance that transforms live video into artistic styles — and deploy it to production using the Nife CLI.
OpenRTiST utilizes Gabriel to stream video frames to a server, apply a chosen art style, and return transformed images to the client. We'll use the publicly available image: cmusatyalab/openrtist.
Learn more about OpenRTiST
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:
Step 2: Login to Nifectl
Authenticate with your Nife account:
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 Docker application for deployment:
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., docky).
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 Image to use a public Docker image.
4. Docker Image
Enter the Docker image name: cmusatyalab/openrtist
Provide the name of the public Docker image to deploy.
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 Docker deployment.
7. Port Configuration
Select Internal Port: 9099 Select External Port: 9099
Set both internal and external ports to 9099 (OpenRTiST default).
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
text
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): yes/no
Skip for now (can be added later if needed).
Configuration Complete
When initialization finishes, you'll see:
New app created
Name = docky
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 Docker container application:
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
- Pulling the Docker image
- Optimizing the image
- Creating a release and deployment
Expected Output
Deploying docky
==> Validating App Configuration
--> Validating App Configuration done
==> Building Image from Docker
--> Pulling public Docker image: cmusatyalab/openrtist
==> Optimizing Image
--> Done Optimizing Image
==> Creating Release
==> Creating Deployment
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 OpenRTiST application is live!
Navigate to your deployment URL
You can access the application using the Android client from the Play Store. Enter the deployment URL in the app to start streaming.
Check the Nife Documentation if you encounter any issues.