Quickstart
Get from zero to a live service in under 5 minutes.
Prerequisites
curlinstalled (any version)- A domain name (optional — only needed for Step 4)
Step 1 — Get Your API Token
- Go to computeportal.io/listing/cpctl-cli and subscribe ($0.50/month)
- After checkout, your
cp_live_...token is emailed to you immediately - You can also view or re-issue it any time at computeportal.io/user/orders
Step 2 — Install the CLI
curl -fsSL https://install.computeportal.io | shThis installs cpctl to /usr/local/bin. Verify:
cpctl versionStep 3 — Log In and Deploy
# Log in with your token
cpctl login --token cp_live_your_token_hereThen deploy — pick whichever fits your workflow:
From a Docker image:
cpctl deploy --image nginx:latest --name my-appFrom a GitHub repo (CP builds the image for you):
cpctl deploy --repo https://github.com/your-org/your-app --name my-appYour repo must contain a Dockerfile at the root. CP clones it, builds the image internally, and deploys — no Docker Hub account needed.
Your service is live at https://my-app.cpctl.app.
Step 4 — Attach a Custom Domain (optional)
cpctl domain add my-app dashboard.example.comBefore running this, add a CNAME record at your DNS provider:
| Field | Value |
|---|---|
| Name | dashboard |
| Type | CNAME |
| Target | cpctl.app |
| Proxy | DNS only (disable Cloudflare orange-cloud) |
Verify DNS is live first:
dig CNAME dashboard.example.com +short
# should print: cpctl.app.Step 5 (Optional) — Connect an AI Assistant via MCP
If you use Claude Desktop, Cursor, or another MCP-compatible assistant, add to your config:
{
"mcpServers": {
"computeportal": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.computeportal.io/mcp"],
"env": {
"CP_API_TOKEN": "cp_live_your_token_here"
}
}
}
}Restart your assistant, then try:
"List all my CP services"
"Attach staging.example.com to my ml-inference service"
"Show me the last 50 log lines from my-app"
See the full MCP Server Reference for all available tools.
Troubleshooting
Token not working
cpctl whoami # should show your emailIf you see not logged in, re-run cpctl login --token <token>. You can view or re-issue your token at computeportal.io/user/orders.
CNAME not configured (domain add fails)
Your DNS record isn't visible yet. Options:
- Wait 1–5 minutes and retry
- Verify with
dig CNAME dashboard.example.com +short - Bypass the check:
cpctl domain add my-app dashboard.example.com --skip-dns
Service not found
cpctl list # shows all your servicesQuick Reference
cpctl login --token <token> # authenticate
cpctl list # list services
cpctl deploy --image <img> --name <n> # deploy from image
cpctl deploy --repo https://github.com/org/repo # deploy from repo
cpctl logs <service> # tail logs
cpctl stop <service> # stop
cpctl start <service> # start
cpctl delete <service> # delete
cpctl domain add <svc> <hostname> # add custom domain
cpctl domain list <service> # list domains
cpctl whoami # show current userNext Steps
- CLI Reference — all 60+ cpctl commands
- API Reference — full REST API docs
- MCP Server — AI assistant integration
- Custom Domain Guide — how domain routing works