@abrclick/cli
v1.5.0
Published
ابرکلیک CLI — deploy apps and manage databases on Abrclick (PaaS + DBaaS for Iran)
Maintainers
Readme
@abrclick/cli
Command-line interface for Abrclick (ابرکلیک) — a Farsi-first PaaS + DBaaS for Iranian developers. Deploy apps, provision databases, manage container registries, and more, straight from your terminal.
Products
- استقرار اپلیکیشن (PaaS) — deploy Node.js, Python, Go, PHP & Docker apps
- دیتابیس مدیریتشده (DBaaS) — managed PostgreSQL, Redis, MongoDB, MySQL
- فضای ذخیرهسازی ابری (Object Storage) — S3-compatible buckets
- توابع بدون سرور (Serverless) — run functions without managing servers
- همهی محصولات
License: proprietary (see LICENSE). You may install and use the published package to use the Abrclick service, but not redistribute, modify, or reverse-engineer it.
Install
npm install -g @abrclick/cli
# or
pnpm add -g @abrclick/cliRequires Node.js ≥ 18. Verify:
abrclick --versionQuick start
abrclick login # browser device-flow login
abrclick init # create/link a project in this directory
abrclick deploy # pack, upload, build & deploy the current dirDeploy a prebuilt image instead (skips our builder entirely):
abrclick deploy --image ghcr.io/you/app:v1Interactive lists
apps list, db list, and projects list (aliased ls) are interactive in a
terminal: they print an aligned table, then let you pick an item and act on it
(info, logs, start/stop, delete, …) without copy-pasting IDs. Piped or non-TTY
(CI, | cat), or with --no-interactive, they print the table and exit — so
scripts stay stable.
abrclick apps ls # table + arrow-key picker → action menu
abrclick db ls --no-interactive # just the table (scripting)Authentication
| Command | Description |
|---|---|
| abrclick login | Log in via browser device flow (--no-browser to print the URL; --email/ABRCLICK_PASSWORD for headless) |
| abrclick logout | Log out |
| abrclick whoami | Show the current user |
| abrclick keys create <name> | Create an API key for CI/headless use. Shown once — save it. --scope, --expires <ISO> |
| abrclick keys list | List API keys |
| abrclick keys revoke <id> | Revoke an API key |
API keys are for non-interactive environments (CI). The browser device flow is interactive-only.
Projects
| Command | Description |
|---|---|
| abrclick projects list (ls) | List your projects (interactive picker in a terminal) |
| abrclick projects info <id> | Show project details |
| abrclick projects create | Create a project |
| abrclick projects rename <id> <name> | Rename a project |
| abrclick projects delete <id> (rm) | Delete a project and all its apps, databases, and data (--yes to skip prompt) |
| abrclick init | Create/link a project + write abrclick.json in the current dir |
| abrclick link | Link the current dir to an existing app |
| abrclick project-env list\|set\|unset | Project-wide env vars (injected into all apps) |
Apps (PaaS)
abrclick apps create --name web --runtime nodejs --port 3000
abrclick apps create --name api --runtime docker --image ghcr.io/you/api:v1 \
--registry-user you --registry-pass **** # from a private registry| Command | Description |
|---|---|
| apps list / apps info [id] | List / show apps |
| apps create | Create an app. --image deploys a prebuilt image (skips build); --registry-user/--registry-pass for a private image |
| apps start\|stop\|restart [id] | Lifecycle |
| apps delete [id] | Delete an app |
| apps logs [id] / apps runtime-logs [id] | Build logs / running-container logs |
| apps deployments [id] | Deployment history |
| apps rollback <deployId> [id] | Roll back to a past deployment |
| apps retry <deployId> [id] | Retry a failed deployment |
| apps redeploy [id] | Redeploy the current source |
| apps scale [id] | Set replicas / resources |
| apps links [id] / apps link-db <dbId> / apps unlink-db <linkId> | App↔DB links (auto-injects DATABASE_*) |
| apps domains list\|add\|verify\|remove | Custom domains + SSL |
| apps webhook show\|rotate [id] | Git deploy-webhook URL + secret |
Deploy
abrclick deploy # build from source in the current dir
abrclick deploy --image <img> # deploy a prebuilt image (no build)
abrclick deploy --root-dir apps/web # monorepo subdir
abrclick deploy --no-follow # queue and return, don't stream logs--image supports private registries: pass --registry-user/--registry-pass,
or run it interactively and the CLI prompts login-style (username → masked
password). Omit them to reuse the app's stored credentials.
Container registries
Push your own image to a managed registry, then deploy from it — zero build load on our side.
abrclick registry create my-reg --size 20
abrclick registry credentials my-reg-id # docker login server/user/pass
docker login cr.abrclick.ir -u <user>
docker tag my-app cr.abrclick.ir/<project>/my-app:v1
docker push cr.abrclick.ir/<project>/my-app:v1
abrclick deploy --image cr.abrclick.ir/<project>/my-app:v1| Command | Description |
|---|---|
| registry create <name> --size <gb> | Create a registry (--public for anonymous pulls) |
| registry list / registry info <id> | List / show |
| registry credentials <id> | Docker login credentials + push/deploy hints |
| registry rotate <id> | Rotate the robot secret |
| registry repos <id> | List pushed image repositories |
| registry resize <id> --size <gb> | Grow the registry |
| registry public <id> --enable\|--disable | Toggle anonymous pulls |
| registry rm <id> | Delete the registry and its images |
Databases (DBaaS)
| Command | Description |
|---|---|
| db list / db info <id> | List / show databases |
| db create | Provision a database (Postgres, Redis, MongoDB, …) |
| db credentials <id> | Connection credentials |
| db connect <id> | Open an interactive client (psql/redis-cli/mongosh/…) |
| db resize <id> | Resize storage |
| db logs <id> | Database logs |
| db public-access <id> | Enable/disable public access |
| db backups list\|create\|restore\|clone\|schedule\|delete | Backups |
| db delete <id> | Delete a database |
Disks
| Command | Description |
|---|---|
| disk list / disk info <id> | List / show persistent disks |
| disk create <name> --size <gb> | Create a disk |
| disk attach <id> --app <appId> / disk detach <id> | Attach / detach |
| disk resize <id> --size <gb> | Grow a disk |
| disk mount <id> --path <path> | Change mount path |
| disk rm <id> | Delete a disk |
Environment variables
| Command | Description |
|---|---|
| env list [appId] | List app env vars |
| env set KEY=VALUE … | Set env vars (triggers redeploy) |
| env unset <key> [appId] | Remove an env var |
Cron jobs
| Command | Description |
|---|---|
| cron create | Create a scheduled job (runs your app image) |
| cron list / cron info <id> | List / show |
| cron update <id> / cron delete <id> | Update / delete |
| cron run <id> | Trigger a run now |
Preview deployments
| Command | Description |
|---|---|
| preview deploy | Deploy an ephemeral preview (per-branch, TTL) |
| preview list / preview delete <id> | List / delete previews |
Other
| Command | Description |
|---|---|
| logs | Stream logs |
| run | Run a one-off command |
| shell | Open a shell in the app container |
| agent | Ask the Abrclick agent to operate your account |
Configuration
Credentials and the active API URL are stored via
conf (OS-standard config dir). The
abrclick.json in a linked directory holds the project/app IDs for that repo.
Environment overrides:
ABRCLICK_PASSWORD— password for headless login (preferred over--password).
Support
- Email: [email protected]
