Deploy CPI Studio in Under 2 Minutes

April 18, 2025 · 3 min read

⏱ 2 minutes

CPI Developer Studio deploys as a Docker container on your SAP BTP Cloud Foundry subaccount. No external dependencies, no registry tokens, no complex setup. Here's the complete walkthrough.

Prerequisites

  1. An SAP BTP subaccount with Cloud Foundry enabled
  2. CF CLI installed (brew install cloudfoundry/tap/cf-cli on macOS)
  3. Logged into your CF org and space

Step 1: Create the manifest.yml

cat > manifest.yml << 'YAML'
applications:
  - name: cpi-developer-studio
    memory: 512M
    disk_quota: 1G
    docker:
      image: ghcr.io/nxgenz/cpi-studio:latest
    health-check-type: port
    env:
      HTTPS_ENABLED: "true"
YAML

Step 2: Push to Cloud Foundry

cf push

That's it. The Docker image is public — no credentials needed. Cloud Foundry pulls the image, starts the container, and CPI Studio is live.

Step 3: Activate your license (optional)

Without a license key, CPI Studio runs in trial mode — 14 days, 1 tenant, core features. To unlock the full version:

cf set-env cpi-developer-studio LICENSE_KEY "your-license-key"
cf restage cpi-developer-studio

Step 4: Connect your CPI tenant

  1. Open CPI Studio in your browser (the URL from cf app cpi-developer-studio)
  2. Go to Settings
  3. Enter your CPI tenant host, username, and password
  4. Click Save

BTP SSO (optional but recommended)

For corporate SSO with role-based access, CPI Studio supports BTP XSUAA integration. Create an XSUAA service instance, bind it to the app, and assign role collections in the BTP cockpit. Full setup guide in our BTP Auth docs.

What about data security?

CPI Studio runs entirely within your BTP subaccount. Your CPI credentials are encrypted at rest. We never see your data, your credentials, or your iFlows. The license key validates against LemonSqueezy — that's the only external call.

Troubleshooting

If the app fails to start:

  1. Check logs: cf logs cpi-developer-studio --recent
  2. Ensure Docker is enabled in your org: cf enable-feature-flag diego_docker
  3. Verify memory allocation — 512M is the minimum

Get your license key →