UnieAI Studio

Quick Start: From One Server to Your First App

One complete walkthrough — onboard a machine, carve it into compute, list it, rent it, set up DNS, and deploy an app. Every step has a screenshot.

This page is a record of one complete run, not a feature list. Follow it and you end up with a working machine and an app reachable at a public URL.

The walkthrough uses two accounts: the provider owns My Machine (48 cores / 181 GiB / 2 GPU devices), and the tenant rents a virtual cluster carved out of it.

If you only want to run apps on your own machine and never rent it out, finish Part 1 and jump straight to Part 9. Parts 2 through 8 exist for renting only.

The screenshots in this walkthrough were captured with the interface set to Chinese. The buttons appear in the same positions in every language; the English names of each control are given in the text.

Part 0. Three names to learn first

The whole flow revolves around three things. Get the names straight and no step lands on the wrong screen.

TermWhat it isWhere you see it
Physical machineOne of your own servers. Once onboarded you can deploy apps on it directlyDeploy → My machines → Physical machines
Compute sourceA physical machine converted to "for partitioning only". It is no longer used for ordinary deploymentCompute provider → Compute sources
Virtual clusterA slice carved out of a compute source with its own CPU, memory, and GPU. It can host apps on its own, and it can be delivered to somebody elseCompute provider → Delivered; the tenant's My machines → Virtual clusters

Two role terms:

  • Compute provider — a capability granted by a platform admin. Once granted, the "Compute provider" switcher appears at the top left of the sidebar.
  • Workspace — renting is done by a workspace, not by a person. The machine is delivered to whichever workspace you were in when you applied, and every member of that workspace can see and deploy on it. Personal and organization workspaces can both rent.

Part 1. Provider: onboard the server

Nothing in this part is about renting — anyone who wants to deploy their own apps takes the same path.

Prepare a machine that qualifies

  • A Linux server reachable over SSH
  • The account has sudo
  • Ports 80 and 443 are free and reachable from outside

Click "Create machine"

This opens the onboarding wizard.

Create machine.

Enter host details and set up SSH

Fill in Host IP, Port, and Username, then pick one SSH access method:

Host details.

MethodWhat you doBest for
Set up SSH for meCopy the command shown and run it on the server; it writes the key into ~/.ssh/authorized_keysYou have a terminal on the server
Use my own SSH keyPaste a private keyYou already manage keys yourself
Managed SSH accessThe platform issues a temporary key pair; install the public key as instructedFastest path

Choosing an SSH access method.

Running the generated command on the machine.

Run the preflight check

The platform does three things in order and ticks each one off:

  1. Verify SSH access and the bootstrap command
  2. Verify sudo, and probe ports 80 and 443 from outside
  3. Check whether a Kubernetes engine is already present

Any failure stops there with the reason stated. Fix it and re-run.

Preflight checks passing.

Set machine identity and domain

  • Enter a machine name
  • Choose the workspace domain this machine will use (creating one is covered in Part 8)
  • If the environment needs it, the screen lists the DNS records to create

Installation does not proceed until DNS resolves.

Machine name and workspace domain.

Then set the machine's subdomain. It gives later services (API, Console, Agent) a consistent, controlled internal domain. If your environment has naming rules, follow them to avoid collisions.

Setting the subdomain.

Install the virtualization engine: RKE2.

Choosing the engine.

Configure the domain certificate.

Certificate settings.

With a self-signed or internal CA, make sure the tenant and deployment sides trust that chain — otherwise browsers and CLIs will fail TLS verification.

Preinstall the baseline infrastructure apps, then click Next.

Preinstalled infrastructure.

The infrastructure list.

Review the machine initialization settings.

Initialization summary.

Install, and wait for it

After Install you see "installation queued". It runs in the background with live progress.

Installation queued.

Installation progress.

Installation log.

When it finishes, the machine appears under My machines → Physical machines in the ready state.

Machine ready.

At this point the machine can already host apps. Continue to Part 2 only if you want to rent it out.

Part 2. Provider: convert the machine into a compute source

Switch to the compute provider console

Click Compute provider at the top left of the sidebar. It has exactly three entries: Compute sources, Delivered, Rental requests.

Find the machine under "Compute sources"

Every convertible physical machine in this workspace is listed. The status on the right reads Deployment machine before conversion and Compute source after.

The compute sources list.

Convert it

Click the status button. The platform checks the machine live and tells you two things:

  • Eligible for conversion: it must be a ready, healthy physical machine
  • Application workloads that will be removed: conversion stops and uninstalls them

Confirm, then click the red Convert to compute source.

Pre-conversion check.

Confirming the conversion.

Conversion complete.

After conversion this machine can no longer host ordinary deployments. It disappears from "My machines" and lives only in the compute provider console. There is no way back in the interface — be sure before you convert.

Set the inference license

Open the compute source's detail page. It shows live CPU, memory, and GPU usage, the partitions already carved out, and at the bottom the UnieInfra inference license. Click Configure, paste the license, save.

Compute source detail.

Without an inference license on the compute source, tenants cannot deploy any app — not just LLMs.

Part 3. Provider: carve out a virtual cluster

Partition the GPUs first (if needed)

Click GPU partitioning.

GPU partitioning.

Apply a MIG layout, then click Apply → Apply configuration. MIG splits one physical GPU into several GPU instances so different tenants share a card while staying isolated.

Choosing a MIG layout.

Confirming the layout.

Applying the configuration.

"Applied" at the top means the partitioning is done.

Applied.

Start the delivery flow

Compute provider → Delivered → Deliver cluster at the top right (the same button exists on the compute source detail page).

Pick a ready compute source under Select host. The platform immediately reads out its available CPU cores, available memory, and available GPU devices — those three numbers are your ceiling.

Selecting a host.

Size the cluster

  • Cluster name
  • CPU cores: at least 1
  • Memory (GiB): at least 2

The delivery summary on the right tracks what you are handing out.

Sizing the cluster.

Assign GPUs (optional)

Under GPU devices, tick the whole GPUs or MIG slices reserved for this cluster. Devices already taken by another cluster are marked Reserved and cannot be selected.

Assigning GPU devices.

Submit and wait for provisioning

Click Deliver cluster. Progress runs queued → provisioning → ready.

Provisioning progress.

"Cluster provisioned" means the partition is ready to publish.

Cluster provisioned.

Domain and cluster setup are not the provider's job — the tenant does that after delivery (Part 8).

Part 4. Provider: list it on the compute marketplace

Publish from "Delivered"

The new cluster is listed under Delivered, marked Provisioned with the listing in Draft.

The delivered list.

Click Publish on that row.

Publish.

Fill in the listing

  • Description (optional): what workloads this machine suits
  • Monthly price (USD): the cost of exclusive use for one month

Listing details.

Decide who can see it

This choice determines what happens next:

ChoiceWho sees itAfter they apply
Everyone (public on the marketplace)Any workspace that can see the marketplaceThe request lands in your Rental requests queue for case-by-case approval
Specific organization / personOnly the party you nameDelivered immediately — no approval step

Choosing visibility.

Naming a recipient is the approval. If you want to hold the decision, choose "Everyone" and approve case by case.

Submit

Click Save and publish. The status becomes Published.

Published.

Part 5. Tenant: rent from the compute marketplace

Check your workspace first

Look at the top left. The machine is delivered to the workspace currently selected, not to you personally. To rent on behalf of an organization, switch to that workspace first.

Open the compute marketplace

Sidebar → Compute marketplace. Each row shows compute, accelerators, availability, and monthly price.

The compute marketplace.

Not seeing a machine does not mean it does not exist — providers can target a listing at a specific organization or person, and only that party sees it.

Apply to rent

Apply to rent.

The purpose field is optional, but the provider reads it. Then click Submit request.

Describing the purpose.

Wait — or get it immediately

Normally the row turns to Under review until the provider decides; Withdraw cancels it.

Under review.

If the listing was targeted at you, applying completes the delivery immediately.

Part 6. Provider: review and deliver

Compute provider → Rental requests, split into Pending, Rented out, and History.

Rental requests.

Click Approve and deliver. The confirmation spells out what happens:

The approval dialog.

  • The virtual cluster moves into the applicant's workspace, and they manage and deploy on it
  • Your machine list stops showing it
  • The host physical machine still belongs to you
  • Other pending requests for the same machine are voided automatically

After delivery the row moves to Rented out.

Rented out.

To turn a request down, click Decline and optionally give a reason (the applicant sees it). The virtual cluster stays with you and remains published.

Part 7. Tenant: after the machine arrives

Back in Deploy → My machines, it appears under Virtual clusters, labeled Rented from “provider”, in the Setup required state.

The delivered cluster.

Setup required means one round of cluster setup is still needed before you can deploy. That is Part 8.

Part 8. Tenant: create a domain and finish cluster setup

Every deployed app needs a public address, and that address comes from a workspace domain.

Check for an available domain

Sidebar → Deploy → Domains. The platform's DNS status is shown at the top. If the list is empty, create one first.

The domain list.

Create a domain

Click Create domain at the top right.

Create domain.

  1. Pick a DNS provider. The simplest is Free UnieAI subdomain (platform-managed) — no DNS records of your own. You can also connect Route 53, Cloudflare, Google Cloud DNS, Azure DNS, RFC2136, or choose DIY and create the records yourself.
  2. Enter a domain alias. The resulting wildcard domain and management API hostname update live.
  3. Click Create workspace domain.

Entering the alias.

It then appears in the list marked Reusable — meaning no machine has claimed it yet.

Domain created.

Set up the cluster

Back in My machines, open the virtual cluster in the Setup required state.

Opening the cluster.

"Set up the delivered cluster" lists what the platform is about to configure: the Kubernetes API domain, shared ingress and storage, and monitoring.

Set up the delivered cluster.

  1. Choose a workspace domain
  2. Choose how the domain is assigned: use this domain directly, or delegate a subdomain (which needs a subdomain label)
  3. Click Set up cluster

Setup runs in the background with live progress and logs.

Setup progress.

Done

The machine overview (deployed apps, topology, monitoring tabs) means you can start deploying.

Cluster overview.

Part 9. Deploy your first app

Every app in the catalog follows the same two steps first: pick the app, pick the machine.

Open the app catalog

Sidebar → Deploy → New at the top right. Custom sources (Docker Compose / Dockerfile) are on the left; app templates are on the right, filterable by search or category.

The app catalog.

Pick the app, then the machine

Click Deploy on a card. The platform compares the app's hardware requirements against the machine's capacity; confirm and click Continue.

Choosing a machine.

From here the wizard depends on the app type.

Case A. An ordinary app (n8n)

Docker Compose apps have four steps: Compose source → Settings → GPU resources → Summary.

Compose source: the template ships a docker-compose.yml, editable in place.

Compose source.

Settings: confirm file paths and environment variables.

Settings.

GPU resources: n8n needs no GPU — choose No GPU.

GPU resources.

Summary: review, then click Continue.

Summary.

Submitting.

Watch it finish: installation runs in the background with live stages and logs.

Deployment in progress.

The status becomes Running.

Running.

Get the public URL: the Domains tab on the detail page shows it; open it and the app is live.

The domains tab.

Compose apps do not ask for a public address in the wizard — the platform generates it.

Case B. An LLM (Qwen 0.6B)

Chart-based templates have four steps: Deployment parameters → GPU resources → Public URL → Summary.

Deployment parameters: fields come from the chart. An LLM usually has these:

FieldHow to fill it
Hugging Face access tokenOnly for gated models; leave empty for public ones
UnieAI inference licenseLeave empty. The machine's own license is injected at deploy time
GPU countHow many GPUs this model uses
Extra parametersAdditional inference parameters, added one at a time
Max context lengthThe longest context the service handles

Deployment parameters.

GPU resources: pick a physical GPU or MIG slice and set the VRAM ceiling per replica.

Choosing a GPU.

Setting the VRAM ceiling.

On a rented virtual cluster you can leave this unset — the platform uses the GPU reserved for that cluster, and the inference license maps to that card automatically.

Public URL: set the address for the model service.

Public URL.

Deploy in the background: afterwards, enable model auto-discovery so the platform registers the model API (the public URL you just set) into the Model Zoo.

Enabling auto-discovery.

Add the model to "My models": the detail page has Create model from public URL at the top.

Create model from public URL.

Pick a public endpoint and click Create model. It then appears under My models, usable in Playground and via the API.

Model created.

The model sometimes does not appear on its own. The platform probes the endpoint the moment the deployment finishes, when ingress and certificates are often not ready yet, and the log records "skipped: no runtime model available". Wait a minute or two and create it manually as above.

Case C. A GPU development environment (PyTorch)

For a machine you can write code and train on, deploy PyTorch … Development (or JupyterLab). The steps match Case A except that GPU resources needs a GPU or MIG slice.

Open the detail page after deployment:

PyTorch app detail.

On the Domains tab, SSH access at the bottom offers two ways in:

SSH access.

  • Open Webshell — a terminal in the browser, attached to the running container
  • SSH client — copy the command and run it in your own terminal; the first connection asks you to approve the access in the browser

Both routes go through the machine's SSH bastion, and the command includes the host key fingerprint so you can verify it. Webshell requires the SSH bastion to be enabled on the machine; otherwise the detail page shows a notice instead.

Part 10. Day-to-day operations

Sidebar → Deploy lists every deployed app.

The deployment list.

Open any app; the top right has three actions:

ActionWhat it doesWatch out
RefreshRe-reads the app's current stateNo service impact
RedeployRebuilds from the stored source and produces a new revisionBriefly interrupts service; asks for confirmation
DeleteRemoves the workload and its dataRequires typing the app name; cannot be undone

App actions.

The tabs on the left: Overview (replicas, public domain, source, health), Logs (container output), Domains (public address and SSH access), Resources / Service monitoring, and Settings (runtime summary and deployment history).

App detail tabs.

The redeploy confirmation:

Redeploy confirmation.

The delete confirmation, which requires the app name:

Delete confirmation.

Part 11. Ending it: cancel, reclaim, unlist, delete

This is the easiest part to get wrong. The four actions have completely different consequences.

The tenant ends the rental

  1. My machines → find the virtual cluster (labeled "Rented from …")
  2. Click ⋯ at the far right of the row
  3. Choose Cancel rental

Cancel rental.

The confirmation spells out the consequences:

The cancellation dialog.

This does not hand the machine back intact. The virtual cluster is terminated: apps stop immediately, public URLs stop resolving, and the data inside the cluster is removed with it. Back up first. The resources return to the provider.

The provider takes a rented machine back

Compute provider → Delivered (or Rental requests → Rented out) → Force reclaim, confirmed by typing the cluster name.

Force reclaim.

Consequences, listed in the dialog:

  • The tenant's apps stop immediately and their public URLs stop resolving
  • Data and namespaces inside the cluster are removed, not handed to anyone
  • Its reserved CPU, memory, and GPU return to the host's available pool

You just want to stop renting it out

Use Unlist, not delete. Unlisting only removes it from the marketplace; the virtual cluster and everything in it stay, and you can publish again later.

Which action to use

What you wantWhere to clickData lost?
Pause rentingDelivered → UnlistNo
Change price or descriptionUnlist, then Publish againNo
Change CPU / memory / GPUUnlist, then Edit clusterNo
Tenant is done rentingMy machines → ⋯ → Cancel rentalYes — the cluster is terminated
Provider takes it back earlyDelivered → Force reclaimYes — including the tenant's data
Remove an unrented virtual cluster for goodDelivered → DeleteYes
Remove an ordinary deployment machineMy machines → ⋯ → Delete machineYes

Part 12. Things to know

  1. Once a machine becomes a compute source, the interface offers no way to convert it back or delete it.
  2. Usage is metered but not yet charged. The numbers are real and visible (Usage → Compute usage, the spend card on the machine page, the provider's earnings page), but the platform does not debit wallets yet.
  3. Webshell requires the SSH bastion to be enabled on the machine; otherwise the detail page only shows a notice.
  4. Pausing an app is not available yet. Apps can only be redeployed or deleted.

Next

On this page