Skip to main content

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.

info

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:

Nifectl Installation Guide


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:

  1. Validating app configuration
  2. Pulling the Docker image
  3. Optimizing the image
  4. 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
note

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.

Download the Android App


info

Check the Nife Documentation if you encounter any issues.