
Coolify CLI
https://github.com/coollabsio/coolify-cli- Category
- Developer Tools
- Rank
- No. 767Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- coollabsio
- GitHub
- 459 stars
- Latest release
- v1.8.0
- Date
About
Command-line interface for Coolify, the open-source self-hosted Heroku/Netlify alternative.
What it does
Coolify CLI turns Coolify administration into terminal commands and scriptable JSON. Saved contexts hold instance URLs and API tokens, letting operators switch between cloud and self-hosted environments. Commands cover applications, servers, projects, databases, services, deployments, storage, environment variables, integrations, and related infrastructure.
Why it's ranked here
The command surface is unusually broad for daily Coolify operations. Multiple contexts, machine-readable output, shell completion, log following, and generated agent documentation make it useful beyond occasional manual tasks. The experimental Coolify v5 mesh setup is clearly marked and gated, but its network changes require caution.
What's good
Automation receives compact or pretty JSON, while people get tables. Application creation supports public repositories, private GitHub integrations, SSH deploy keys, Dockerfiles, and registry images. Operators can manage lifecycle actions, logs, routing, tags, storage, and environment variables without repeatedly returning to the dashboard.
Tradeoffs
Saved contexts place API tokens in a local JSON configuration file. Recommended installers pipe downloaded scripts directly into a shell or PowerShell. The Coolify v5 initialization feature remains experimental, requires privileged remote changes, modifies WireGuard, firewall, Podman, and agent configuration, and explicitly warns against production-first testing.
How to use it well
It best serves Coolify operators who want repeatable terminal workflows across production and staging instances. Use JSON output for scripts, named contexts for environment separation, connection verification before changes, and confirmation safeguards around deletion. It does not replace a general infrastructure system outside the Coolify API and its supported providers.
Technical notes+
coolify/main.go delegates execution to the Cobra command tree in cmd/root.go, which registers API resource commands, an MCP command, documentation generation, completion, updates, and the experimental initializer. Global flags select context, token override, table or JSON formatting, sensitive-field display, and debugging. internal/service/server.go wraps typed GET, POST, PATCH, and DELETE requests using models from internal/models/server.go. cmd/docs.go generates man pages, Markdown, and agent-oriented command catalogs; cmd/docs_test.go tests aliases, defaults, core guidance, and artifact writing. cmd/init/apply.go plans, applies, and verifies remote WireGuard changes over SSH, while cmd/init/init.go labels that path alpha.
Observed
- Primary language
- Go
- Interface
- Command-line application built with Cobra; the root command also registers an MCP command
- Installation surfaces
- Linux and macOS shell installer, Windows PowerShell installer, Homebrew, and Go install
- Platform support
- Linux, macOS, and Windows installation instructions are provided
- Output formats
- Table, compact JSON, and pretty JSON
- Shell completion
- Bash, zsh, fish, and PowerShell
- Configuration model
- Local JSON configuration supports multiple named Coolify contexts
Read from README.md, go.mod, internal/models/server.go, internal/service/server.go, cmd/docs.go, cmd/root.go, coolify/main.go, cmd/docs_test.go, cmd/init/init.go, cmd/github/get.go, cmd/gitlab/get.go, cmd/init/apply.go, cmd/init/flags.go, cmd/context/add.go, cmd/context/get.go.
What it can do
Deploy applications to self-hosted infrastructure
Application source code and deployment configuration → Running application instance on server
Manage server resources and services
Server connection details and service configurations → Configured and monitored server services
Configure environment variables for applications
Environment variable key-value pairs → Application configuration settings
Monitor application logs and status
Application instance identifier → Real-time logs and health status information
Scale applications up or down
Application identifier and scaling parameters → Adjusted application resource allocation
Manage database instances
Database configuration and connection parameters → Provisioned and configured database service
Execute remote commands on servers
Command strings and server credentials → Command execution results and output
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.