@fredlackey/cli-dokploy
v0.0.3
Published
AI-first CLI for managing the Dokploy deployment platform
Maintainers
Readme
@fredlackey/cli-dokploy
Command-line interface for the Dokploy deployment platform. Manage projects, applications, databases, domains, servers, and SSH keys from the terminal. JSON output by default so AI agents and scripts can consume it directly, with a human-friendly mode when you're working interactively.
Install
npm install -g @fredlackey/cli-dokployUsage
Every command accepts credentials directly as flags. No setup step is required.
dokploy project list \
--base-url http://dokploy.example.com:3000 \
--api-key <key>
dokploy application deploy \
--base-url http://dokploy.example.com:3000 \
--api-key <key> \
--id <applicationId>If you've already run dokploy configure, you can omit the credential flags:
dokploy project list
dokploy server list
dokploy postgres create \
--name mydb \
--app-name mydb \
--database-name app_prod \
--database-user admin \
--database-password <pass> \
--environment-id <id>
dokploy domain create \
--host app.example.com \
--https true \
--certificate-type letsencrypt \
--strip-path false \
--application-id <id>Configure (Optional)
The configure command is optional. Every command accepts credentials directly as flags (e.g. --api-key, --base-url). You never need to run configure to use this tool. It exists as a convenience so you don't have to pass the same flags on every invocation.
dokploy configure \
--base-url http://dokploy.example.com:3000 \
--api-key <key>Running dokploy configure without flags prompts for each value interactively. Credentials are stored in ~/.config/cli-dokploy/config.json and that file is the only config source. There are no environment variables to set.
If a required credential is missing at runtime, the error tells you exactly what to do:
{
"error": "Missing required value: --api-key. Pass it as a flag or run \"dokploy configure\"."
}Full Command Reference
For the complete list of commands and flags, see COMMANDS.md.
Output
All commands write JSON to stdout by default. When run in an interactive terminal, output switches to a human-friendly format with colors. Use the global --json and --interactive flags to override the auto-detection.
Contributing
If you find a gap or have a feature request, open an issue or submit a pull request on GitHub.
Questions?
If you have questions, comments, or just want to talk shop, feel free to reach out.
Fred Lackey
[email protected]
https://fredlackey.com
License
Apache-2.0
