The Appliku dashboard is the easy way to deploy, but it is not the only way. Everything you can do by clicking, you can also do from your terminal with the appliku CLI. That matters for three reasons: you can script repetitive tasks, you can deploy from CI without a browser, and your AI coding agent can run the same commands you do. This post covers install, login, and the commands you will actually use day to day.
The CLI and a matching Python SDK ship in one package, appliku, which is open source (MIT) and on PyPI.
Install the CLI¶
The CLI is a Python tool. The cleanest way to install it is with uv, which keeps it isolated from your project environments.
If you do not have uv yet:
# macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then install the CLI as a tool:
uv tool install appliku
appliku --version
If you prefer pip, pip install appliku works too. The CLI needs Python 3.10 or newer.
Log in¶
For interactive use on your own machine, log in through the browser device flow:
appliku login # opens your browser to authorize
appliku whoami # confirm who you are logged in as
That stores a token in ~/.config/appliku/config.toml so you do not have to log in again.
Deploy an app¶
Most commands act on a specific team and app. A team is identified by its slug (its team_path), and an app by a numeric id. Start by listing your teams and apps:
appliku teams list
appliku apps list --team my-team --output json # grab the numeric app id
The --output json flag gives you machine-readable output on any list command, which is handy for pulling out an id in a script.
Once you have the app id, trigger a deployment:
appliku apps deploy --team my-team --app 42
Then watch it roll out:
appliku deployments latest --team my-team --app 42
appliku deployments logs --team my-team --id <deployment_id>
The commands you will use most¶
Application logs. One command covers every process, on both server-mode and cluster-mode apps. Omit --process to get all of them, or pass it more than once for specific processes:
appliku apps logs --team my-team --app 42 --tail 200
appliku apps logs --team my-team --app 42 --process web --process celery --tail 200
Domains. Add a custom domain and check that DNS is pointing at the right place:
appliku domains create --team my-team --app 42 --domain example.com
appliku domains check-dns --team my-team --app 42 --domain example.com
Datastores. List and manage your databases and other datastores:
appliku datastores list --team my-team --app 42
appliku datastores restart --team my-team --app 42 --id 5
There is more (volumes, cron jobs, clusters, servers, SSH keys, invites, and even Hetzner Cloud server provisioning). Run appliku --help, or appliku <group> --help, to see the full surface.
Deploy from CI, or from an AI agent¶
The reason the CLI matters beyond convenience is that it runs without a human. Instead of the interactive login, set one environment variable:
export APPLIKU_TOKEN=your_api_token
appliku apps deploy --team my-team --app 42
You can create an API token in your Appliku account settings. Put it in your CI provider's secret store and your pipeline can deploy on every push. The exact same thing is true for an AI coding agent: give it the token in its environment and it can list your apps, deploy, and read back the logs to tell you what happened. If you use Claude Code, we publish a skill that teaches it all of these commands, so you can just ask it to deploy in plain English. See the companion post, Give your AI coding agent deploy access.
A note on trust: an agent with your token can do whatever you can do, so treat that token like a password and scope what the agent can touch. Read-only tasks like fetching logs are low risk. Save unattended deploys for environments where you are comfortable with the agent acting on its own.
Prefer Python? Use the SDK¶
The same package ships a Python SDK, which actually covers a bit more than the CLI (creating and updating apps, full config-var management). Add it to a project:
uv add appliku # or: pip install appliku
from appliku import Appliku
client = Appliku() # reads APPLIKU_TOKEN or your config file
app = client.apps.get("my-team", app_id=42)
client.apps.set_config_vars("my-team", app_id=42, vars={"DEBUG": "false"})
client.apps.deploy("my-team", app_id=42)
logs = client.apps.get_logs("my-team", app_id=42, processes=["web"], tail=100)
print(logs)
It raises typed exceptions (AuthenticationError, NotFoundError, ValidationError, and so on) so you can handle failures cleanly in a script.
Where to go next¶
The CLI is the same platform you already know, without the browser. If you are still deciding how you want to host, the comparison hub lays out where Appliku fits against Heroku, Render, and the rest, and the full walkthrough of deploying Django to a server you own shows what the platform is doing for you under the hood. For the complete command and SDK reference, see the docs.
Ready to try it? Start deploying free, no credit card, then uv tool install appliku and you are one command away from a deploy.