Appearance
Quickstart
Deploy your first app to APCO Cloud in about five minutes. You'll install the CLI, log in, create a manifest, and ship a live app to https://<slug>.apco.space.
1. Install the CLI
APCO accounts are invite-only, but the CLI is public on npm as apco-cli. You need Node.js 22.13 or newer. Install the current 0.1 release line, which puts the apco command on your PATH, then verify it:
bash
npm install --global apco-cli@0.1
apco --helpCI / headless use
Set APCO_TOKEN in the environment to authenticate non-interactively (skips the device-flow login below).
2. Log in
apco login uses a device flow: it prints a URL and a code, you approve in the browser, done.
bash
apco loginTo authorize this device, open:
https://apco.space/device?user_code=ABCD-EFGH
Verification code: ABCD-EFGH
Waiting for approval...
Logged in to APCO Cloud as you@example.com.The CLI stores an API key in ~/.config/apco/config.json. Verify with:
bash
apco whoamiCI and headless environments
Skip apco login and set APCO_TOKEN=<api key> instead. It takes precedence over the stored login. Create scoped keys on the dashboard's Tokens page — see token scopes.
3. Create a manifest
From your app's directory:
bash
cd my-app
apco initThis writes apco.yml:
yaml
version: 2
app:
name: my-app
slug: auto # "auto" = the server assigns a unique subdomain
type: auto # auto | static | ssr; existing images use explicit dockerimage
port: 3000
env:
files: []type: auto picks static when a publish directory (dist, .output/public, public) exists, otherwise ssr. See the manifest reference for every field.
4. Deploy
bash
apco deployThe CLI packs your working directory into a tarball (excluding .git, node_modules, and anything matched by .apcoignore), uploads it, and streams the build until your app is live:
· Assigned slug my-app (https://my-app.apco.space)
· Packing my-app
· Uploading source (42 files)
[apco] deploy 8a41f3aa for my-app (type=ssr, channel=production)
[railpack] detected node app
[build] ...
✓ Deployed my-app in 48s → https://my-app.apco.space
Deployed my-app to https://my-app.apco.spaceNo Git required — what's in your directory is what ships. The first deploy creates the project (you'll be asked to confirm unless you pass --yes).
Already have a runnable OCI image? Use apco init --template dockerimage instead. That path sends no source, pins the registry digest, and otherwise uses the same health-gated rollout. See Deploying OCI images.
5. Open it
bash
apco openPrints the project URL and opens https://my-app.apco.space in your browser.
Where to go next
- Deploying apps — static vs SSR, rollbacks, stop/start
- Environment variables —
apco env pull/push - Logs — build and runtime logs
- Hybrid dev — local HMR with cloud database and live dev deploys
Everything speaks JSON
Every command accepts --json and prints exactly one machine-readable JSON object — handy for scripts and AI agents. See the agent contract.