From 5e2b3d08db8f1e9083e4dd512d8d6b756e4d975d Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 31 Mar 2026 17:44:24 +0200 Subject: [PATCH] feat(docs): generate quick llms.txt and full llms-full.txt Refactor `coolify docs llms` to emit two AI-oriented artifacts: - `llms.txt` as a concise operating guide - `llms-full.txt` as the exhaustive command and flag catalog Update tests to cover quick/full generation, document both files in README, and adjust CI to fail when either generated file is out of date. --- .github/workflows/test.yml | 6 +- README.md | 10 + cmd/docs.go | 239 +++- cmd/docs_test.go | 50 + llms-full.txt | 2255 ++++++++++++++++++++++++++++++++++++ llms.txt | 2251 ++--------------------------------- 6 files changed, 2600 insertions(+), 2211 deletions(-) create mode 100644 llms-full.txt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b785dd8..5ddfe25 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -49,10 +49,10 @@ jobs: run: go run ./coolify docs llms - name: Check uncommitted changes - run: git diff --exit-code llms.txt + run: git diff --exit-code llms.txt llms-full.txt - if: failure() - run: echo "::error::llms.txt is out of date. Run 'go run ./coolify docs llms' and commit the changes." + run: echo "::error::llms.txt or llms-full.txt is out of date. Run 'go run ./coolify docs llms' and commit the changes." go-mod-tidy: runs-on: ubuntu-latest @@ -72,4 +72,4 @@ jobs: run: git diff --exit-code - if: failure() - run: echo "::error::Check failed, please run 'go mod tidy' and commit the changes." \ No newline at end of file + run: echo "::error::Check failed, please run 'go mod tidy' and commit the changes." diff --git a/README.md b/README.md index ba43236..933a69f 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,16 @@ This will install the `coolify` binary in your `$GOPATH/bin` directory (usually Now you can use the CLI with the token you just added. +## For LLMs / AI agents + +- Quick instructions: [`llms.txt`](./llms.txt) +- Full command catalog: [`llms-full.txt`](./llms-full.txt) +- Regenerate both files: + +```bash +go run ./coolify docs llms +``` + ## Change default context You can change the default context with `coolify context use ` or `coolify context set-default ` ## Currently Supported Commands diff --git a/cmd/docs.go b/cmd/docs.go index 8415e27..4033d87 100644 --- a/cmd/docs.go +++ b/cmd/docs.go @@ -90,41 +90,168 @@ The markdown files will be written to the specified directory (default: ./docs). var llmsCmd = &cobra.Command{ Use: "llms", - Short: "Generate llms.txt for AI agent command specification", - Long: `Generate a machine-readable llms.txt file that defines all CLI commands and their parameters. + Short: "Generate llms.txt and llms-full.txt for AI agents", + Long: `Generate AI-friendly documentation files for the Coolify CLI. -This file is intended to enable AI agents to understand and interact with the CLI. -The output file will be written to the specified path (default: ./llms.txt).`, +This creates a concise llms.txt quick reference plus a complete llms-full.txt command catalog. +The output files will be written to the specified paths (defaults: ./llms.txt and ./llms-full.txt).`, Example: ` coolify docs llms - coolify docs llms --output=./llms.txt`, + coolify docs llms --output=./llms.txt --full-output=./llms-full.txt`, RunE: func(cmd *cobra.Command, _ []string) error { outputFile, _ := cmd.Flags().GetString("output") + fullOutputFile, _ := cmd.Flags().GetString("full-output") - var sb strings.Builder - sb.WriteString(llmsIntro) - writeLLMsAliases(&sb, rootCmd, "coolify") - sb.WriteString(llmsBody) - writeLLMsCommand(&sb, rootCmd, "coolify") - - if err := os.WriteFile(outputFile, []byte(sb.String()), 0600); err != nil { - return fmt.Errorf("failed to write llms.txt: %w", err) - } - - absPath, _ := filepath.Abs(outputFile) - fmt.Printf("llms.txt generated successfully: %s\n", absPath) - - return nil + return writeLLMsArtifacts(outputFile, fullOutputFile) }, } -// llmsIntro contains the static overview section prepended to the generated command reference. -const llmsIntro = `# Coolify CLI - llms.txt +const llmsQuickTemplate = `# Coolify CLI - llms.txt -> A CLI tool for interacting with the Coolify API, built with Go. +> Quick AI/LLM instructions for the Coolify CLI. +> Source: https://github.com/coollabsio/coolify-cli +> API Spec: https://github.com/coollabsio/coolify/blob/v4.x/openapi.json + +## Operating Rules + +- Prefer ` + "`--format json`" + ` for automation and parsing. +- Use Coolify UUIDs for resources; do not use internal numeric IDs. +- Team commands are the exception: they use numeric team IDs. +- Authenticate with a saved context when possible; use ` + "`--token`" + ` only for overrides. +- Use ` + "`llms-full.txt`" + ` for the exhaustive command/flag catalog. + +## Installation + +` + "```bash" + ` +# Linux/macOS (recommended) +curl -fsSL https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.sh | bash + +# Homebrew (macOS/Linux) +brew install coollabsio/coolify-cli/coolify-cli + +# Windows (PowerShell) +irm https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.ps1 | iex + +# Go install +go install github.com/coollabsio/coolify-cli/coolify@latest +` + "```" + ` + +## Authentication + +1. Get an API token from your Coolify dashboard at ` + "`/security/api-tokens`" + ` +2. For Coolify Cloud: ` + "`coolify context set-token cloud `" + ` +3. For self-hosted: ` + "`coolify context add -d `" + ` +4. Switch contexts with ` + "`coolify context use `" + ` + +## Configuration + +Config file location: +- Linux/macOS: ` + "`~/.config/coolify/config.json`" + ` +- Windows: ` + "`%%APPDATA%%\\coolify\\config.json`" + ` + +Supports multiple contexts (instances) with ` + "`coolify context`" + ` commands. + +## Output Formats + +All commands support ` + "`--format`" + ` flag: +- ` + "`table`" + ` (default) - human-readable tabular output +- ` + "`json`" + ` - compact JSON for scripting +- ` + "`pretty`" + ` - indented JSON for debugging + +## Global Flags + +- ` + "`--context `" + ` - use a specific saved context +- ` + "`--token `" + ` - override token from config +- ` + "`--format table|json|pretty`" + ` - choose output format +- ` + "`--show-sensitive`" + ` - reveal sensitive values +- ` + "`--debug`" + ` - enable debug output + +## Common Workflows + +### Contexts + +` + "```bash" + ` +coolify context list +coolify context verify +coolify context version +coolify context use prod +` + "```" + ` + +### Inventory + +` + "```bash" + ` +coolify server list +coolify project list +coolify resource list +coolify app list +coolify service list +coolify database list +` + "```" + ` + +### Applications + +` + "```bash" + ` +coolify app get +coolify app start +coolify app stop +coolify app restart +coolify app logs --follow +coolify app deployments list +coolify app deployments logs --follow +` + "```" + ` + +### Environment Variables + +` + "```bash" + ` +coolify app env list +coolify app env create --key API_KEY --value secret123 +coolify app env update --value new-secret +coolify app env sync --file .env.production --build-time --preview +` + "```" + ` + +### Deployments + +` + "```bash" + ` +coolify deploy list +coolify deploy name my-application +coolify deploy batch api,worker,frontend --force +coolify deploy cancel +` + "```" + ` + +### Databases and Services + +` + "```bash" + ` +coolify database get +coolify database create postgresql --server-uuid --project-uuid --environment-name production +coolify database backup list +coolify service get +coolify service create --project-uuid --server-uuid --instant-deploy +` + "```" + ` + +## Common Aliases + +- ` + "`coolify app`" + ` | ` + "`coolify apps`" + ` | ` + "`coolify application`" + ` | ` + "`coolify applications`" + ` +- ` + "`coolify service`" + ` | ` + "`coolify services`" + ` | ` + "`coolify svc`" + ` +- ` + "`coolify database`" + ` | ` + "`coolify databases`" + ` | ` + "`coolify db`" + ` | ` + "`coolify dbs`" + ` +- ` + "`coolify teams`" + ` | ` + "`coolify team`" + ` + +## Full Reference + +- Full command and parameter catalog: %s +- Regenerate docs: ` + "`go run ./coolify docs llms`" + ` +` + +const llmsFullIntro = `# Coolify CLI - llms-full.txt + +> Full AI/LLM command catalog for the Coolify CLI. > Manage Coolify instances (cloud and self-hosted), servers, projects, applications, databases, services, deployments, domains, and private keys. > Source: https://github.com/coollabsio/coolify-cli > API Spec: https://github.com/coollabsio/coolify/blob/v4.x/openapi.json +## Companion Files + +- Quick instructions: %s +- Regenerate docs: ` + "`go run ./coolify docs llms`" + ` + ## Installation ` + "```bash" + ` @@ -151,7 +278,7 @@ go install github.com/coollabsio/coolify-cli/coolify@latest Config file location: - Linux/macOS: ` + "`~/.config/coolify/config.json`" + ` -- Windows: ` + "`%APPDATA%\\coolify\\config.json`" + ` +- Windows: ` + "`%%APPDATA%%\\coolify\\config.json`" + ` Supports multiple contexts (instances) with ` + "`coolify context`" + ` commands. @@ -163,7 +290,7 @@ All commands support ` + "`--format`" + ` flag: - ` + "`pretty`" + ` - indented JSON for debugging ` -const llmsBody = ` +const llmsFullBody = ` ## Supported Database Types @@ -254,6 +381,69 @@ coolify team members list ` +func buildQuickLLMSText(fullReferencePath string) string { + return fmt.Sprintf(llmsQuickTemplate, fullReferencePath) +} + +func buildFullLLMSText(quickReferencePath string) string { + var sb strings.Builder + fmt.Fprintf(&sb, llmsFullIntro, quickReferencePath) + writeLLMsAliases(&sb, rootCmd, "coolify") + sb.WriteString(llmsFullBody) + writeLLMsCommand(&sb, rootCmd, "coolify") + return sb.String() +} + +func writeLLMsArtifacts(outputFile, fullOutputFile string) error { + if filepath.Clean(outputFile) == filepath.Clean(fullOutputFile) { + return fmt.Errorf("output and full-output must be different files") + } + + if err := ensureParentDir(outputFile); err != nil { + return err + } + if err := ensureParentDir(fullOutputFile); err != nil { + return err + } + + quickReferencePath := llmsReferencePath(fullOutputFile, outputFile) + fullReferencePath := llmsReferencePath(outputFile, fullOutputFile) + + if err := os.WriteFile(outputFile, []byte(buildQuickLLMSText(fullReferencePath)), 0600); err != nil { + return fmt.Errorf("failed to write llms.txt: %w", err) + } + if err := os.WriteFile(fullOutputFile, []byte(buildFullLLMSText(quickReferencePath)), 0600); err != nil { + return fmt.Errorf("failed to write llms-full.txt: %w", err) + } + + absQuickPath, _ := filepath.Abs(outputFile) + absFullPath, _ := filepath.Abs(fullOutputFile) + fmt.Printf("llms.txt generated successfully: %s\n", absQuickPath) + fmt.Printf("llms-full.txt generated successfully: %s\n", absFullPath) + + return nil +} + +func ensureParentDir(path string) error { + parentDir := filepath.Dir(path) + if err := os.MkdirAll(parentDir, 0750); err != nil { + return fmt.Errorf("failed to create output directory: %w", err) + } + return nil +} + +func llmsReferencePath(fromFile, toFile string) string { + referencePath, err := filepath.Rel(filepath.Dir(fromFile), toFile) + if err != nil { + return filepath.ToSlash(toFile) + } + referencePath = filepath.ToSlash(referencePath) + if strings.HasPrefix(referencePath, ".") || strings.HasPrefix(referencePath, "/") { + return referencePath + } + return "./" + referencePath +} + // writeLLMsAliases writes aliases derived from the Cobra command tree. func writeLLMsAliases(sb *strings.Builder, cmd *cobra.Command, parentPath string) { aliases := collectLLMsAliases(cmd, parentPath) @@ -431,6 +621,7 @@ func NewDocsCommand() *cobra.Command { manCmd.Flags().StringP("output-dir", "o", "./man", "Output directory for man pages") markdownCmd.Flags().StringP("output-dir", "o", "./docs", "Output directory for markdown files") llmsCmd.Flags().StringP("output", "o", "./llms.txt", "Output file path") + llmsCmd.Flags().String("full-output", "./llms-full.txt", "Full output file path") return docsCmd } diff --git a/cmd/docs_test.go b/cmd/docs_test.go index 7306b6c..4a11d1e 100644 --- a/cmd/docs_test.go +++ b/cmd/docs_test.go @@ -1,6 +1,8 @@ package cmd import ( + "os" + "path/filepath" "strings" "testing" @@ -66,3 +68,51 @@ func TestWriteLLMsAliasesUsesCommandTree(t *testing.T) { } } } + +func TestBuildQuickLLMSTextIncludesCoreGuidance(t *testing.T) { + got := buildQuickLLMSText("./llms-full.txt") + + for _, want := range []string{ + "# Coolify CLI - llms.txt", + "Prefer `--format json` for automation and parsing.", + "coolify context verify", + "coolify app logs --follow", + "Full command and parameter catalog: ./llms-full.txt", + } { + if !strings.Contains(got, want) { + t.Fatalf("expected quick llms output to contain %q\nfull output:\n%s", want, got) + } + } +} + +func TestWriteLLMsArtifactsWritesQuickAndFullFiles(t *testing.T) { + tempDir := t.TempDir() + quickPath := filepath.Join(tempDir, "llms.txt") + fullPath := filepath.Join(tempDir, "nested", "llms-full.txt") + + if err := writeLLMsArtifacts(quickPath, fullPath); err != nil { + t.Fatalf("writeLLMsArtifacts() error = %v", err) + } + + quickContent, err := os.ReadFile(quickPath) + if err != nil { + t.Fatalf("failed reading quick file: %v", err) + } + fullContent, err := os.ReadFile(fullPath) + if err != nil { + t.Fatalf("failed reading full file: %v", err) + } + + for _, want := range []struct { + content string + substr string + }{ + {string(quickContent), "./nested/llms-full.txt"}, + {string(fullContent), "../llms.txt"}, + {string(fullContent), "## Command Reference"}, + } { + if !strings.Contains(want.content, want.substr) { + t.Fatalf("expected generated content to contain %q", want.substr) + } + } +} diff --git a/llms-full.txt b/llms-full.txt new file mode 100644 index 0000000..d3fc939 --- /dev/null +++ b/llms-full.txt @@ -0,0 +1,2255 @@ +# Coolify CLI - llms-full.txt + +> Full AI/LLM command catalog for the Coolify CLI. +> Manage Coolify instances (cloud and self-hosted), servers, projects, applications, databases, services, deployments, domains, and private keys. +> Source: https://github.com/coollabsio/coolify-cli +> API Spec: https://github.com/coollabsio/coolify/blob/v4.x/openapi.json + +## Companion Files + +- Quick instructions: ./llms.txt +- Regenerate docs: `go run ./coolify docs llms` + +## Installation + +```bash +# Linux/macOS (recommended) +curl -fsSL https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.sh | bash + +# Homebrew (macOS/Linux) +brew install coollabsio/coolify-cli/coolify-cli + +# Windows (PowerShell) +irm https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.ps1 | iex + +# Go install +go install github.com/coollabsio/coolify-cli/coolify@latest +``` + +## Authentication + +1. Get an API token from your Coolify dashboard at `/security/api-tokens` +2. For Coolify Cloud: `coolify context set-token cloud ` +3. For self-hosted: `coolify context add -d ` + +## Configuration + +Config file location: +- Linux/macOS: `~/.config/coolify/config.json` +- Windows: `%APPDATA%\coolify\config.json` + +Supports multiple contexts (instances) with `coolify context` commands. + +## Output Formats + +All commands support `--format` flag: +- `table` (default) - human-readable tabular output +- `json` - compact JSON for scripting +- `pretty` - indented JSON for debugging + +## Command Aliases + +Aliases are derived from the CLI command tree: +- `coolify app env` | `coolify app envs` | `coolify app environment` +- `coolify app start` | `coolify app deploy` +- `coolify app storage` | `coolify app storages` +- `coolify app` | `coolify apps` | `coolify application` | `coolify applications` +- `coolify database storage` | `coolify database storages` +- `coolify database` | `coolify databases` | `coolify db` | `coolify dbs` +- `coolify github` | `coolify gh` | `coolify github-app` | `coolify github-apps` +- `coolify private-key` | `coolify private-keys` | `coolify key` | `coolify keys` +- `coolify project` | `coolify projects` +- `coolify resource` | `coolify resources` +- `coolify server domains` | `coolify server domain` +- `coolify server` | `coolify servers` +- `coolify service storage` | `coolify service storages` +- `coolify service` | `coolify services` | `coolify svc` +- `coolify teams members` | `coolify teams member` +- `coolify teams` | `coolify team` + + +## Supported Database Types + +When using `coolify database create `: +- `postgresql` +- `mysql` +- `mariadb` +- `mongodb` +- `redis` +- `keydb` +- `clickhouse` +- `dragonfly` + +## Usage Examples + +```bash +# Multi-context workflow +coolify context add prod https://prod.coolify.io +coolify context add staging https://staging.coolify.io +coolify context use prod +coolify --context=staging server list + +# Application lifecycle +coolify app list +coolify app get +coolify app start +coolify app stop +coolify app restart +coolify app logs --follow + +# Environment variable management +coolify app env list +coolify app env create --key API_KEY --value secret123 +coolify app env sync --file .env.production --build-time --preview + +# Deploy workflows +coolify deploy name my-application +coolify deploy batch api,worker,frontend --force +coolify deploy list +coolify deploy cancel + +# Database backup +coolify database backup create --frequency "0 2 * * *" --enabled --save-s3 +coolify database backup trigger + +# Application creation +coolify app create public --project-uuid --server-uuid --git-repository https://github.com/user/repo --git-branch main --build-pack nixpacks --ports-exposes 3000 +coolify app create dockerfile --project-uuid --server-uuid --dockerfile "FROM node:18\nCOPY . .\nRUN npm install\nCMD [\"node\", \"index.js\"]" +coolify app create dockerimage --project-uuid --server-uuid --docker-registry-image-name nginx --ports-exposes 80 + +# Service creation (one-click services) +coolify service create --project-uuid --server-uuid --instant-deploy +coolify service create --list-types # list all available service types + +# Storage management +coolify app storage create --type persistent --mount-path /data --name my-volume +coolify app storage create --type file --mount-path /app/config.yml --content "key: value" + +# GitHub App integration +coolify github list +coolify github repos +coolify github branches owner/repo + +# Team management +coolify team list +coolify team current +coolify team members list +``` + +## API Notes + +- All resource identifiers use UUIDs (not internal database IDs) +- API base path: `/api/v1/` +- Authentication: Bearer token via `--token` flag or context configuration +- `app env sync` behavior: updates existing variables, creates missing ones, does NOT delete variables not in the file +- `app start` aliases to `app deploy` and also accepts `--force` and `--instant-deploy` flags +- Deployment logs support `--follow` for real-time streaming and `--debuglogs` for internal operations +- `app logs` defaults to 100 lines; `app deployments logs` defaults to 0 (all lines) +- Short flag `-n` can be used instead of `--lines` for log commands +- `completion` command supports shells: `bash`, `zsh`, `fish`, `powershell` +- Resource statuses: `running`, `stopped`, `error` +- Teams use numeric IDs (not UUIDs) - this is the only resource that uses IDs +- Fields marked `sensitive:"true"` (tokens, passwords, IPs, emails) are hidden by default; use `--show-sensitive` to reveal + +--- + +## Command Reference + +Command: coolify +Description: Coolify CLI +Parameters: + - name: --context + type: string + description: Use specific context by name + required: false + - name: --debug + type: boolean + description: Debug mode + required: false + default: false + - name: --format + type: string + description: Format output (table|json|pretty) + required: false + default: table + - name: --show-sensitive (-s) + type: boolean + description: Show sensitive information + required: false + default: false + - name: --token + type: string + description: Token for authentication (override context token) + required: false + +Command: coolify app create deploy-key +Description: Create an application from a private repository using SSH deploy key +Parameters: + - name: --base-directory + type: string + description: Base directory for the application + required: false + - name: --build-command + type: string + description: Custom build command + required: false + - name: --build-pack + type: string + description: Build pack: nixpacks, static, dockerfile, dockercompose (required) + required: true + - name: --description + type: string + description: Application description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --dockerfile-target-build + type: string + description: Dockerfile target build stage + required: false + - name: --domains + type: string + description: Domain(s) for the application + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --git-branch + type: string + description: Git branch (required) + required: true + - name: --git-commit-sha + type: string + description: Specific commit SHA to deploy + required: false + - name: --git-repository + type: string + description: Git repository SSH URL, e.g., 'git@github.com:owner/repo.git' (required) + required: true + - name: --health-check-enabled + type: boolean + description: Enable health checks + required: false + default: false + - name: --health-check-path + type: string + description: Health check path + required: false + - name: --install-command + type: string + description: Custom install command + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --limits-cpus + type: string + description: CPU limit + required: false + - name: --limits-memory + type: string + description: Memory limit + required: false + - name: --name + type: string + description: Application name + required: false + - name: --ports-exposes + type: string + description: Exposed ports, e.g., '3000' or '3000,8080' (required) + required: true + - name: --ports-mappings + type: string + description: Port mappings (host:container) + required: false + - name: --private-key-uuid + type: string + description: Private key UUID (required) + required: true + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --publish-directory + type: string + description: Publish directory for static builds + required: false + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + - name: --start-command + type: string + description: Custom start command + required: false + +Command: coolify app create dockerfile +Description: Create an application from a custom Dockerfile +Parameters: + - name: --description + type: string + description: Application description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --dockerfile + type: string + description: Dockerfile content (required) + required: true + - name: --dockerfile-target-build + type: string + description: Dockerfile target build stage + required: false + - name: --domains + type: string + description: Domain(s) for the application + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --health-check-enabled + type: boolean + description: Enable health checks + required: false + default: false + - name: --health-check-path + type: string + description: Health check path + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --limits-cpus + type: string + description: CPU limit + required: false + - name: --limits-memory + type: string + description: Memory limit + required: false + - name: --name + type: string + description: Application name + required: false + - name: --ports-exposes + type: string + description: Exposed ports, e.g., '3000' or '3000,8080' + required: false + - name: --ports-mappings + type: string + description: Port mappings (host:container) + required: false + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + +Command: coolify app create dockerimage +Description: Create an application from a pre-built Docker image +Parameters: + - name: --description + type: string + description: Application description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --docker-registry-image-name + type: string + description: Docker image name from registry (required) + required: true + - name: --docker-registry-image-tag + type: string + description: Docker image tag (defaults to 'latest') + required: false + - name: --dockerfile-target-build + type: string + description: Dockerfile target build stage + required: false + - name: --domains + type: string + description: Domain(s) for the application + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --health-check-enabled + type: boolean + description: Enable health checks + required: false + default: false + - name: --health-check-path + type: string + description: Health check path + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --limits-cpus + type: string + description: CPU limit + required: false + - name: --limits-memory + type: string + description: Memory limit + required: false + - name: --name + type: string + description: Application name + required: false + - name: --ports-exposes + type: string + description: Exposed ports, e.g., '80' or '80,443' (required) + required: true + - name: --ports-mappings + type: string + description: Port mappings (host:container) + required: false + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + +Command: coolify app create github +Description: Create an application from a private repository using GitHub App +Parameters: + - name: --base-directory + type: string + description: Base directory for the application + required: false + - name: --build-command + type: string + description: Custom build command + required: false + - name: --build-pack + type: string + description: Build pack: nixpacks, static, dockerfile, dockercompose (required) + required: true + - name: --description + type: string + description: Application description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --dockerfile-target-build + type: string + description: Dockerfile target build stage + required: false + - name: --domains + type: string + description: Domain(s) for the application + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --git-branch + type: string + description: Git branch (required) + required: true + - name: --git-commit-sha + type: string + description: Specific commit SHA to deploy + required: false + - name: --git-repository + type: string + description: Git repository in format 'owner/repo' (required) + required: true + - name: --github-app-uuid + type: string + description: GitHub App UUID (required) + required: true + - name: --health-check-enabled + type: boolean + description: Enable health checks + required: false + default: false + - name: --health-check-path + type: string + description: Health check path + required: false + - name: --install-command + type: string + description: Custom install command + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --limits-cpus + type: string + description: CPU limit + required: false + - name: --limits-memory + type: string + description: Memory limit + required: false + - name: --name + type: string + description: Application name + required: false + - name: --ports-exposes + type: string + description: Exposed ports, e.g., '3000' or '3000,8080' (required) + required: true + - name: --ports-mappings + type: string + description: Port mappings (host:container) + required: false + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --publish-directory + type: string + description: Publish directory for static builds + required: false + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + - name: --start-command + type: string + description: Custom start command + required: false + +Command: coolify app create public +Description: Create an application from a public git repository +Parameters: + - name: --base-directory + type: string + description: Base directory for the application + required: false + - name: --build-command + type: string + description: Custom build command + required: false + - name: --build-pack + type: string + description: Build pack: nixpacks, static, dockerfile, dockercompose (required) + required: true + - name: --description + type: string + description: Application description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --dockerfile-target-build + type: string + description: Dockerfile target build stage + required: false + - name: --domains + type: string + description: Domain(s) for the application + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --git-branch + type: string + description: Git branch (required) + required: true + - name: --git-commit-sha + type: string + description: Specific commit SHA to deploy + required: false + - name: --git-repository + type: string + description: Git repository URL (required) + required: true + - name: --health-check-enabled + type: boolean + description: Enable health checks + required: false + default: false + - name: --health-check-path + type: string + description: Health check path + required: false + - name: --install-command + type: string + description: Custom install command + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --limits-cpus + type: string + description: CPU limit + required: false + - name: --limits-memory + type: string + description: Memory limit + required: false + - name: --name + type: string + description: Application name + required: false + - name: --ports-exposes + type: string + description: Exposed ports, e.g., '3000' or '3000,8080' (required) + required: true + - name: --ports-mappings + type: string + description: Port mappings (host:container) + required: false + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --publish-directory + type: string + description: Publish directory for static builds + required: false + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + - name: --start-command + type: string + description: Custom start command + required: false + +Command: coolify app delete +Description: Delete an application. This action cannot be undone. +Parameters: + - name: --force (-f) + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify app deployments list +Description: Retrieve a list of all deployments for a specific application. +Parameters: (None) + +Command: coolify app deployments logs [deployment-uuid] +Description: Get deployment logs for an application +Parameters: + - name: --debuglogs + type: boolean + description: Show debug logs (includes hidden commands and internal operations) + required: false + default: false + - name: --follow (-f) + type: boolean + description: Follow log output (like tail -f) + required: false + default: false + - name: --lines (-n) + type: integer + description: Number of log lines to display (0 = all) + required: false + default: 0 + +Command: coolify app env create +Description: Create a new environment variable for a specific application. Use --key and --value flags to specify the variable. +Parameters: + - name: --build-time + type: boolean + description: Available at build time (default: true) + required: false + default: true + - name: --comment + type: string + description: Comment for the environment variable + required: false + - name: --is-literal + type: boolean + description: Treat value as literal (don't interpolate variables) + required: false + default: false + - name: --is-multiline + type: boolean + description: Value is multiline + required: false + default: false + - name: --key + type: string + description: Environment variable key (required) + required: true + - name: --preview + type: boolean + description: Available in preview deployments + required: false + default: false + - name: --runtime + type: boolean + description: Available at runtime (default: true) + required: false + default: true + - name: --value + type: string + description: Environment variable value (required) + required: true + +Command: coolify app env delete +Description: Delete an environment variable from an application. First UUID is the application, second is the specific environment variable to delete. +Parameters: + - name: --force + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify app env get +Description: Get detailed information about a specific environment variable by UUID or key name. +Parameters: (None) + +Command: coolify app env list +Description: List all environment variables for an application +Parameters: + - name: --all + type: boolean + description: Show all environment variables (non-preview first, then preview) + required: false + default: false + - name: --preview + type: boolean + description: Show preview environment variables instead of regular ones + required: false + default: false + +Command: coolify app env sync +Description: Sync environment variables from a .env file +Parameters: + - name: --build-time + type: boolean + description: Make all variables available at build time (default: true) + required: false + default: true + - name: --file (-f) + type: string + description: Path to .env file (required) + required: true + - name: --is-literal + type: boolean + description: Treat all values as literal (don't interpolate variables) + required: false + default: false + - name: --preview + type: boolean + description: Make all variables available in preview deployments + required: false + default: false + - name: --runtime + type: boolean + description: Make all variables available at runtime (default: true) + required: false + default: true + +Command: coolify app env update +Description: Update an existing environment variable. Identify it by UUID or key name. +Parameters: + - name: --build-time + type: boolean + description: Available at build time (default: true) + required: false + default: true + - name: --comment + type: string + description: Comment for the environment variable + required: false + - name: --is-literal + type: boolean + description: Treat value as literal + required: false + default: false + - name: --is-multiline + type: boolean + description: Value is multiline + required: false + default: false + - name: --key + type: string + description: New environment variable key (rename) + required: false + - name: --preview + type: boolean + description: Available in preview deployments + required: false + default: false + - name: --runtime + type: boolean + description: Available at runtime (default: true) + required: false + default: true + - name: --value + type: string + description: New environment variable value (required) + required: true + +Command: coolify app get +Description: Retrieve detailed information about a specific application. +Parameters: (None) + +Command: coolify app list +Description: List all applications in Coolify. +Parameters: (None) + +Command: coolify app logs +Description: Retrieve logs for an application. Use --follow to continuously stream new logs. +Parameters: + - name: --follow (-f) + type: boolean + description: Follow log output (like tail -f) + required: false + default: false + - name: --lines (-n) + type: integer + description: Number of log lines to retrieve + required: false + default: 100 + +Command: coolify app restart +Description: Restart a running application. +Parameters: (None) + +Command: coolify app start +Description: Start an application (initiates a deployment). +Parameters: + - name: --force + type: boolean + description: Force rebuild + required: false + default: false + - name: --instant-deploy + type: boolean + description: Instant deploy (skip queuing) + required: false + default: false + +Command: coolify app stop +Description: Stop a running application. +Parameters: (None) + +Command: coolify app storage create +Description: Create a storage for an application +Parameters: + - name: --content + type: string + description: File content (file only) + required: false + - name: --fs-path + type: string + description: Host directory path (file only, required when --is-directory is set) + required: false + - name: --host-path + type: string + description: Host path (persistent only) + required: false + - name: --is-directory + type: boolean + description: Whether this is a directory mount (file only) + required: false + default: false + - name: --mount-path + type: string + description: Mount path inside the container (required) + required: true + - name: --name + type: string + description: Volume name (persistent only) + required: false + - name: --type + type: string + description: Storage type: 'persistent' or 'file' (required) + required: true + +Command: coolify app storage delete +Description: Delete a storage from an application +Parameters: (None) + +Command: coolify app storage list +Description: List all persistent volumes and file storages for a specific application. +Parameters: (None) + +Command: coolify app storage update +Description: Update a storage for an application +Parameters: + - name: --content + type: string + description: File content (file only) + required: false + - name: --host-path + type: string + description: Host path (persistent only) + required: false + - name: --id + type: integer + description: Storage ID (deprecated, use --uuid instead) + required: false + default: 0 + - name: --is-preview-suffix-enabled + type: boolean + description: Enable preview suffix for this storage + required: false + default: false + - name: --mount-path + type: string + description: Mount path inside the container + required: false + - name: --name + type: string + description: Storage name (persistent only) + required: false + - name: --type + type: string + description: Storage type: 'persistent' or 'file' (required) + required: true + - name: --uuid + type: string + description: Storage UUID (required, use 'storage list' to find) + required: false + +Command: coolify app update +Description: Update configuration for a specific application. Only specified fields will be updated. +Parameters: + - name: --base-directory + type: string + description: Base directory + required: false + - name: --build-command + type: string + description: Build command + required: false + - name: --description + type: string + description: Application description + required: false + - name: --docker-image + type: string + description: Docker image name + required: false + - name: --docker-tag + type: string + description: Docker image tag + required: false + - name: --dockerfile + type: string + description: Dockerfile content + required: false + - name: --dockerfile-target-build + type: string + description: Dockerfile target build stage + required: false + - name: --domains + type: string + description: Domains (comma-separated) + required: false + - name: --git-branch + type: string + description: Git branch + required: false + - name: --git-repository + type: string + description: Git repository URL + required: false + - name: --health-check-enabled + type: boolean + description: Enable health check + required: false + default: false + - name: --health-check-path + type: string + description: Health check path + required: false + - name: --install-command + type: string + description: Install command + required: false + - name: --name + type: string + description: Application name + required: false + - name: --ports-exposes + type: string + description: Exposed ports + required: false + - name: --ports-mappings + type: string + description: Port mappings + required: false + - name: --publish-directory + type: string + description: Publish directory + required: false + - name: --start-command + type: string + description: Start command + required: false + +Command: coolify completion +Description: Output shell completion code for the specified shell +Parameters: (None) + +Command: coolify config +Description: Display the path to the Coolify CLI configuration file +Parameters: (None) + +Command: coolify context add +Description: Add a new context +Parameters: + - name: --default (-d) + type: boolean + description: Set as default context + required: false + default: false + - name: --force (-f) + type: boolean + description: Force overwrite if context already exists + required: false + default: false + +Command: coolify context delete +Description: Delete a context +Parameters: (None) + +Command: coolify context get +Description: Get details of a specific context +Parameters: (None) + +Command: coolify context list +Description: List all configured contexts +Parameters: (None) + +Command: coolify context set-default +Description: Set a context as the default +Parameters: (None) + +Command: coolify context set-token +Description: Update the API token for a context +Parameters: (None) + +Command: coolify context update +Description: Update a context's properties (name, URL, token) +Parameters: + - name: --name (-n) + type: string + description: New name for the context + required: false + - name: --token (-t) + type: string + description: New token for the context + required: false + - name: --url (-u) + type: string + description: New URL for the context + required: false + +Command: coolify context use +Description: Switch to a different context (set as default) +Parameters: (None) + +Command: coolify context verify +Description: Verify current context connection and authentication +Parameters: (None) + +Command: coolify context version +Description: Get current context's Coolify version +Parameters: (None) + +Command: coolify database backup create +Description: Create a new scheduled backup configuration +Parameters: + - name: --databases-to-backup + type: string + description: Comma-separated list of databases to backup + required: false + - name: --disable-local-backup + type: boolean + description: Disable local backup storage + required: false + default: false + - name: --dump-all + type: boolean + description: Dump all databases + required: false + default: false + - name: --enabled + type: boolean + description: Enable backup schedule + required: false + default: false + - name: --frequency + type: string + description: Backup frequency (cron expression, e.g., '0 0 * * *' for daily) + required: false + - name: --retention-amount-locally + type: integer + description: Number of backups to retain locally + required: false + default: 0 + - name: --retention-amount-s3 + type: integer + description: Number of backups to retain in S3 + required: false + default: 0 + - name: --retention-days-locally + type: integer + description: Days to retain backups locally + required: false + default: 0 + - name: --retention-days-s3 + type: integer + description: Days to retain backups in S3 + required: false + default: 0 + - name: --retention-max-storage-locally + type: string + description: Max storage for local backups (e.g., '1GB', '500MB') + required: false + - name: --retention-max-storage-s3 + type: string + description: Max storage for S3 backups (e.g., '1GB', '500MB') + required: false + - name: --s3-storage-uuid + type: string + description: S3 storage UUID + required: false + - name: --save-s3 + type: boolean + description: Save backups to S3 + required: false + default: false + - name: --timeout + type: integer + description: Backup timeout in seconds + required: false + default: 0 + +Command: coolify database backup delete +Description: Delete a backup configuration and optionally all its executions from S3. First UUID is the database, second is the specific backup configuration. +Parameters: + - name: --delete-s3 + type: boolean + description: Delete backup files from S3 + required: false + default: false + +Command: coolify database backup delete-execution +Description: Delete a specific backup execution and optionally from S3. First UUID is the database, second is the backup configuration, third is the specific execution. +Parameters: + - name: --delete-s3 + type: boolean + description: Delete backup file from S3 + required: false + default: false + +Command: coolify database backup executions +Description: List all executions for a backup configuration. First UUID is the database, second is the specific backup configuration. +Parameters: (None) + +Command: coolify database backup list +Description: List all backup configurations for a specific database. +Parameters: (None) + +Command: coolify database backup trigger +Description: Trigger an immediate backup for a specific backup configuration. First UUID is the database, second is the specific backup configuration to trigger. +Parameters: (None) + +Command: coolify database backup update +Description: Update a backup configuration settings (frequency, retention, S3, etc.). First UUID is the database, second is the specific backup configuration. +Parameters: + - name: --databases-to-backup + type: string + description: Comma-separated list of databases to backup + required: false + - name: --dump-all + type: boolean + description: Dump all databases + required: false + default: false + - name: --enabled + type: boolean + description: Enable or disable backup + required: false + default: false + - name: --frequency + type: string + description: Backup frequency (cron expression) + required: false + - name: --retention-amount-locally + type: integer + description: Number of backups to retain locally + required: false + default: 0 + - name: --retention-amount-s3 + type: integer + description: Number of backups to retain in S3 + required: false + default: 0 + - name: --retention-days-locally + type: integer + description: Days to retain backups locally + required: false + default: 0 + - name: --retention-days-s3 + type: integer + description: Days to retain backups in S3 + required: false + default: 0 + - name: --retention-max-storage-locally + type: integer + description: Max storage for local backups (MB) + required: false + default: 0 + - name: --retention-max-storage-s3 + type: integer + description: Max storage for S3 backups (MB) + required: false + default: 0 + - name: --s3-storage-uuid + type: string + description: S3 storage UUID + required: false + - name: --save-s3 + type: boolean + description: Save backups to S3 + required: false + default: false + +Command: coolify database create +Description: Create a new database +Parameters: + - name: --clickhouse-admin-password + type: string + description: Clickhouse admin password + required: false + - name: --clickhouse-admin-user + type: string + description: Clickhouse admin user + required: false + - name: --description + type: string + description: Database description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --dragonfly-password + type: string + description: Dragonfly password + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --image + type: string + description: Docker image + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --is-public + type: boolean + description: Make database publicly accessible + required: false + default: false + - name: --keydb-password + type: string + description: KeyDB password + required: false + - name: --limits-cpus + type: string + description: CPU limit (e.g., '0.5', '2') + required: false + - name: --limits-memory + type: string + description: Memory limit (e.g., '512m', '2g') + required: false + - name: --mariadb-database + type: string + description: MariaDB database name + required: false + - name: --mariadb-password + type: string + description: MariaDB password + required: false + - name: --mariadb-root-password + type: string + description: MariaDB root password + required: false + - name: --mariadb-user + type: string + description: MariaDB user + required: false + - name: --mongo-database + type: string + description: MongoDB database name + required: false + - name: --mongo-root-password + type: string + description: MongoDB root password + required: false + - name: --mongo-root-username + type: string + description: MongoDB root username + required: false + - name: --mysql-database + type: string + description: MySQL database name + required: false + - name: --mysql-password + type: string + description: MySQL password + required: false + - name: --mysql-root-password + type: string + description: MySQL root password + required: false + - name: --mysql-user + type: string + description: MySQL user + required: false + - name: --name + type: string + description: Database name + required: false + - name: --postgres-db + type: string + description: PostgreSQL database name + required: false + - name: --postgres-password + type: string + description: PostgreSQL password + required: false + - name: --postgres-user + type: string + description: PostgreSQL user + required: false + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --public-port + type: integer + description: Public port + required: false + default: 0 + - name: --redis-password + type: string + description: Redis password + required: false + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + +Command: coolify database delete +Description: Delete a database and optionally clean up its configurations, volumes, and networks. +Parameters: + - name: --delete-configurations + type: boolean + description: Delete configurations + required: false + default: true + - name: --delete-connected-networks + type: boolean + description: Delete connected networks + required: false + default: true + - name: --delete-volumes + type: boolean + description: Delete volumes + required: false + default: true + - name: --docker-cleanup + type: boolean + description: Run docker cleanup + required: false + default: true + +Command: coolify database env create +Description: Create a new environment variable for a specific database. Use --key and --value flags to specify the variable. +Parameters: + - name: --comment + type: string + description: Comment for the environment variable + required: false + - name: --is-literal + type: boolean + description: Treat value as literal (don't interpolate variables) + required: false + default: false + - name: --is-multiline + type: boolean + description: Value is multiline + required: false + default: false + - name: --is-shown-once + type: boolean + description: Only show value once + required: false + default: false + - name: --key + type: string + description: Environment variable key (required) + required: true + - name: --value + type: string + description: Environment variable value (required) + required: true + +Command: coolify database env delete +Description: Delete an environment variable from a database. First UUID is the database, second is the specific environment variable to delete. +Parameters: + - name: --force + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify database env get +Description: Get detailed information about a specific environment variable. First UUID is the database, second is the environment variable UUID or key name. +Parameters: (None) + +Command: coolify database env list +Description: List all environment variables for a specific database. +Parameters: (None) + +Command: coolify database env sync +Description: Sync environment variables from a .env file +Parameters: + - name: --file (-f) + type: string + description: Path to .env file (required) + required: true + - name: --is-literal + type: boolean + description: Treat all values as literal (don't interpolate variables) + required: false + default: false + +Command: coolify database env update +Description: Update an existing environment variable. Identify it by UUID or key name. +Parameters: + - name: --comment + type: string + description: Comment for the environment variable + required: false + - name: --is-literal + type: boolean + description: Treat value as literal + required: false + default: false + - name: --is-multiline + type: boolean + description: Value is multiline + required: false + default: false + - name: --is-shown-once + type: boolean + description: Only show value once + required: false + default: false + - name: --key + type: string + description: New environment variable key (rename) + required: false + - name: --value + type: string + description: New environment variable value (required) + required: true + +Command: coolify database get +Description: Get detailed information about a specific database by UUID. +Parameters: (None) + +Command: coolify database list +Description: List all databases in Coolify. +Parameters: (None) + +Command: coolify database restart +Description: Restart a database by UUID. +Parameters: (None) + +Command: coolify database start +Description: Start a database by UUID. +Parameters: (None) + +Command: coolify database stop +Description: Stop a database by UUID. +Parameters: (None) + +Command: coolify database storage create +Description: Create a storage for a database +Parameters: + - name: --content + type: string + description: File content (file only) + required: false + - name: --fs-path + type: string + description: Host directory path (file only, required when --is-directory is set) + required: false + - name: --host-path + type: string + description: Host path (persistent only) + required: false + - name: --is-directory + type: boolean + description: Whether this is a directory mount (file only) + required: false + default: false + - name: --mount-path + type: string + description: Mount path inside the container (required) + required: true + - name: --name + type: string + description: Volume name (persistent only) + required: false + - name: --type + type: string + description: Storage type: 'persistent' or 'file' (required) + required: true + +Command: coolify database storage delete +Description: Delete a storage from a database +Parameters: (None) + +Command: coolify database storage list +Description: List all persistent volumes and file storages for a specific database. +Parameters: (None) + +Command: coolify database storage update +Description: Update a storage for a database +Parameters: + - name: --content + type: string + description: File content (file only) + required: false + - name: --host-path + type: string + description: Host path (persistent only) + required: false + - name: --id + type: integer + description: Storage ID (deprecated, use --uuid instead) + required: false + default: 0 + - name: --is-preview-suffix-enabled + type: boolean + description: Enable preview suffix for this storage + required: false + default: false + - name: --mount-path + type: string + description: Mount path inside the container + required: false + - name: --name + type: string + description: Storage name (persistent only) + required: false + - name: --type + type: string + description: Storage type: 'persistent' or 'file' (required) + required: true + - name: --uuid + type: string + description: Storage UUID (required, use 'storage list' to find) + required: false + +Command: coolify database update +Description: Update a database's configuration by UUID. +Parameters: + - name: --description + type: string + description: Database description + required: false + - name: --image + type: string + description: Docker image + required: false + - name: --is-public + type: boolean + description: Make database publicly accessible + required: false + default: false + - name: --limits-cpus + type: string + description: CPU limit + required: false + - name: --limits-memory + type: string + description: Memory limit + required: false + - name: --name + type: string + description: Database name + required: false + - name: --public-port + type: integer + description: Public port + required: false + default: 0 + +Command: coolify deploy batch +Description: Deploy multiple resources by name +Parameters: + - name: --docker-tag + type: string + description: Docker image tag override for the deployment + required: false + - name: --force + type: boolean + description: Force deployment + required: false + default: false + - name: --pull-request-id + type: integer + description: Pull request ID for preview deployments + required: false + default: 0 + +Command: coolify deploy cancel +Description: Cancel an in-progress deployment. This will stop the deployment process and clean up any temporary resources. +Parameters: + - name: --force (-f) + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify deploy get +Description: Get detailed information about a specific deployment by its UUID. +Parameters: (None) + +Command: coolify deploy list +Description: List all currently running deployments across all resources. +Parameters: (None) + +Command: coolify deploy name +Description: Deploy by resource name +Parameters: + - name: --docker-tag + type: string + description: Docker image tag override for the deployment + required: false + - name: --force + type: boolean + description: Force deployment + required: false + default: false + - name: --pull-request-id + type: integer + description: Pull request ID for preview deployments + required: false + default: 0 + +Command: coolify deploy uuid +Description: Deploy by uuid +Parameters: + - name: --docker-tag + type: string + description: Docker image tag override for the deployment + required: false + - name: --force + type: boolean + description: Force deployment + required: false + default: false + - name: --pull-request-id + type: integer + description: Pull request ID for preview deployments + required: false + default: 0 + +Command: coolify github branches +Description: List branches for a repository +Parameters: (None) + +Command: coolify github create +Description: Create a GitHub App integration +Parameters: + - name: --api-url + type: string + description: GitHub API URL (required, e.g., https://api.github.com) + required: true + - name: --app-id + type: integer + description: GitHub App ID (required) + required: true + default: 0 + - name: --client-id + type: string + description: GitHub OAuth Client ID (required) + required: true + - name: --client-secret + type: string + description: GitHub OAuth Client Secret (required) + required: true + - name: --custom-port + type: integer + description: Custom port for SSH (default: 22) + required: false + default: 0 + - name: --custom-user + type: string + description: Custom user for SSH (default: git) + required: false + - name: --html-url + type: string + description: GitHub HTML URL (required, e.g., https://github.com) + required: true + - name: --installation-id + type: integer + description: GitHub Installation ID (required) + required: true + default: 0 + - name: --name + type: string + description: GitHub App name (required) + required: true + - name: --organization + type: string + description: GitHub organization + required: false + - name: --private-key-uuid + type: string + description: UUID of existing private key (required) + required: true + - name: --system-wide + type: boolean + description: Is this app system-wide (cloud only) + required: false + default: false + - name: --webhook-secret + type: string + description: GitHub Webhook Secret + required: false + +Command: coolify github delete +Description: Delete a GitHub App integration. The app must not be used by any applications. +Parameters: + - name: --force (-f) + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify github get +Description: Get detailed information about a specific GitHub App integration. +Parameters: (None) + +Command: coolify github list +Description: List all GitHub App integrations configured in Coolify. +Parameters: (None) + +Command: coolify github repos +Description: List all repositories that are accessible by the specified GitHub App. +Parameters: (None) + +Command: coolify github update +Description: Update an existing GitHub App integration. Provide the app UUID and the fields you want to update. +Parameters: + - name: --api-url + type: string + description: GitHub API URL + required: false + - name: --app-id + type: integer + description: GitHub App ID + required: false + default: 0 + - name: --client-id + type: string + description: GitHub OAuth Client ID + required: false + - name: --client-secret + type: string + description: GitHub OAuth Client Secret + required: false + - name: --custom-port + type: integer + description: Custom port for SSH + required: false + default: 0 + - name: --custom-user + type: string + description: Custom user for SSH + required: false + - name: --html-url + type: string + description: GitHub HTML URL + required: false + - name: --installation-id + type: integer + description: GitHub Installation ID + required: false + default: 0 + - name: --name + type: string + description: GitHub App name + required: false + - name: --organization + type: string + description: GitHub organization + required: false + - name: --private-key-uuid + type: string + description: UUID of private key + required: false + - name: --system-wide + type: boolean + description: Is this app system-wide + required: false + default: false + - name: --webhook-secret + type: string + description: GitHub Webhook Secret + required: false + +Command: coolify private-key add +Description: Add a private key +Parameters: (None) + +Command: coolify private-key list +Description: List all private keys +Parameters: (None) + +Command: coolify private-key remove +Description: Remove a private key +Parameters: (None) + +Command: coolify project create +Description: Create a new project +Parameters: + - name: --description + type: string + description: Project description + required: false + - name: --name + type: string + description: Project name (required) + required: true + +Command: coolify project get +Description: Get a project by uuid +Parameters: (None) + +Command: coolify project list +Description: List all projects +Parameters: (None) + +Command: coolify resource list +Description: List all resources +Parameters: (None) + +Command: coolify server add +Description: Add a server +Parameters: + - name: --port (-p) + type: integer + description: Port + required: false + default: 22 + - name: --user (-u) + type: string + description: User + required: false + default: root + - name: --validate + type: boolean + description: Validate the server + required: false + default: false + +Command: coolify server domains +Description: Get server domains by uuid +Parameters: (None) + +Command: coolify server get +Description: Get server details by uuid +Parameters: + - name: --resources + type: boolean + description: With resources + required: false + default: false + +Command: coolify server list +Description: List all servers +Parameters: (None) + +Command: coolify server remove +Description: Remove a server +Parameters: (None) + +Command: coolify server validate +Description: Validate a server +Parameters: (None) + +Command: coolify service create +Description: Create a new one-click service +Parameters: + - name: --description + type: string + description: Service description + required: false + - name: --destination-uuid + type: string + description: Destination UUID if server has multiple destinations + required: false + - name: --docker-compose + type: string + description: Custom Docker Compose content (for advanced customization) + required: false + - name: --environment-name + type: string + description: Environment name + required: false + - name: --environment-uuid + type: string + description: Environment UUID + required: false + - name: --instant-deploy + type: boolean + description: Deploy immediately after creation + required: false + default: false + - name: --list-types + type: boolean + description: List all available service types + required: false + default: false + - name: --name + type: string + description: Service name + required: false + - name: --project-uuid + type: string + description: Project UUID (required) + required: true + - name: --server-uuid + type: string + description: Server UUID (required) + required: true + +Command: coolify service delete +Description: Delete a service and optionally clean up its configurations, volumes, and networks. +Parameters: + - name: --delete-configurations + type: boolean + description: Delete configurations + required: false + default: true + - name: --delete-connected-networks + type: boolean + description: Delete connected networks + required: false + default: true + - name: --delete-volumes + type: boolean + description: Delete volumes + required: false + default: true + - name: --docker-cleanup + type: boolean + description: Run docker cleanup + required: false + default: true + - name: --force (-f) + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify service env create +Description: Create a new environment variable for a specific service. Use --key and --value flags to specify the variable. +Parameters: + - name: --build-time + type: boolean + description: Available at build time (default: true) + required: false + default: true + - name: --comment + type: string + description: Comment for the environment variable + required: false + - name: --is-literal + type: boolean + description: Treat value as literal (don't interpolate variables) + required: false + default: false + - name: --is-multiline + type: boolean + description: Value is multiline + required: false + default: false + - name: --key + type: string + description: Environment variable key (required) + required: true + - name: --runtime + type: boolean + description: Available at runtime (default: true) + required: false + default: true + - name: --value + type: string + description: Environment variable value (required) + required: true + +Command: coolify service env delete +Description: Delete an environment variable from a service. First UUID is the service, second is the specific environment variable to delete. +Parameters: + - name: --force + type: boolean + description: Skip confirmation prompt + required: false + default: false + +Command: coolify service env get +Description: Get detailed information about a specific environment variable. First UUID is the service, second is the environment variable UUID or key name. +Parameters: (None) + +Command: coolify service env list +Description: List all environment variables for a specific service. +Parameters: (None) + +Command: coolify service env sync +Description: Sync environment variables from a .env file +Parameters: + - name: --build-time + type: boolean + description: Make all variables available at build time (default: true) + required: false + default: true + - name: --file (-f) + type: string + description: Path to .env file (required) + required: true + - name: --is-literal + type: boolean + description: Treat all values as literal (don't interpolate variables) + required: false + default: false + - name: --runtime + type: boolean + description: Make all variables available at runtime (default: true) + required: false + default: true + +Command: coolify service env update +Description: Update an existing environment variable. Identify it by UUID or key name. +Parameters: + - name: --build-time + type: boolean + description: Available at build time (default: true) + required: false + default: true + - name: --comment + type: string + description: Comment for the environment variable + required: false + - name: --is-literal + type: boolean + description: Treat value as literal (don't interpolate variables) + required: false + default: false + - name: --is-multiline + type: boolean + description: Value is multiline + required: false + default: false + - name: --key + type: string + description: New environment variable key (rename) + required: false + - name: --runtime + type: boolean + description: Available at runtime (default: true) + required: false + default: true + - name: --value + type: string + description: New environment variable value (required) + required: true + +Command: coolify service get +Description: Get detailed information about a specific service. +Parameters: (None) + +Command: coolify service list +Description: List all services in Coolify. +Parameters: (None) + +Command: coolify service restart +Description: Restart a service (restart all containers). +Parameters: (None) + +Command: coolify service start +Description: Start a service (deploy all containers). +Parameters: (None) + +Command: coolify service stop +Description: Stop a service (stop all containers). +Parameters: (None) + +Command: coolify service storage create +Description: Create a storage for a service +Parameters: + - name: --content + type: string + description: File content (file only) + required: false + - name: --fs-path + type: string + description: Host directory path (file only, required when --is-directory is set) + required: false + - name: --host-path + type: string + description: Host path (persistent only) + required: false + - name: --is-directory + type: boolean + description: Whether this is a directory mount (file only) + required: false + default: false + - name: --mount-path + type: string + description: Mount path inside the container (required) + required: true + - name: --name + type: string + description: Volume name (persistent only) + required: false + - name: --resource-uuid + type: string + description: UUID of the service sub-resource (required) + required: true + - name: --type + type: string + description: Storage type: 'persistent' or 'file' (required) + required: true + +Command: coolify service storage delete +Description: Delete a storage from a service +Parameters: (None) + +Command: coolify service storage list +Description: List all persistent volumes and file storages for a specific service. +Parameters: (None) + +Command: coolify service storage update +Description: Update a storage for a service +Parameters: + - name: --content + type: string + description: File content (file only) + required: false + - name: --host-path + type: string + description: Host path (persistent only) + required: false + - name: --id + type: integer + description: Storage ID (deprecated, use --uuid instead) + required: false + default: 0 + - name: --is-preview-suffix-enabled + type: boolean + description: Enable preview suffix for this storage + required: false + default: false + - name: --mount-path + type: string + description: Mount path inside the container + required: false + - name: --name + type: string + description: Storage name (persistent only) + required: false + - name: --type + type: string + description: Storage type: 'persistent' or 'file' (required) + required: true + - name: --uuid + type: string + description: Storage UUID (required, use 'storage list' to find) + required: false + +Command: coolify teams current +Description: Get details of the team associated with the current authentication token. +Parameters: (None) + +Command: coolify teams get +Description: Get detailed information about a specific team by its ID. +Parameters: (None) + +Command: coolify teams list +Description: List all teams you have access to. +Parameters: (None) + +Command: coolify teams members list [team_id] +Description: List members of a specific team by ID, or list members of the current team if no ID is provided. +Parameters: (None) + +Command: coolify update +Description: Update Coolify CLI +Parameters: (None) + +Command: coolify version +Description: Current Coolify CLI version +Parameters: (None) + diff --git a/llms.txt b/llms.txt index 9e8bae8..d0afa0a 100644 --- a/llms.txt +++ b/llms.txt @@ -1,10 +1,17 @@ # Coolify CLI - llms.txt -> A CLI tool for interacting with the Coolify API, built with Go. -> Manage Coolify instances (cloud and self-hosted), servers, projects, applications, databases, services, deployments, domains, and private keys. +> Quick AI/LLM instructions for the Coolify CLI. > Source: https://github.com/coollabsio/coolify-cli > API Spec: https://github.com/coollabsio/coolify/blob/v4.x/openapi.json +## Operating Rules + +- Prefer `--format json` for automation and parsing. +- Use Coolify UUIDs for resources; do not use internal numeric IDs. +- Team commands are the exception: they use numeric team IDs. +- Authenticate with a saved context when possible; use `--token` only for overrides. +- Use `llms-full.txt` for the exhaustive command/flag catalog. + ## Installation ```bash @@ -26,6 +33,7 @@ go install github.com/coollabsio/coolify-cli/coolify@latest 1. Get an API token from your Coolify dashboard at `/security/api-tokens` 2. For Coolify Cloud: `coolify context set-token cloud ` 3. For self-hosted: `coolify context add -d ` +4. Switch contexts with `coolify context use ` ## Configuration @@ -42,2209 +50,84 @@ All commands support `--format` flag: - `json` - compact JSON for scripting - `pretty` - indented JSON for debugging -## Command Aliases +## Global Flags -Aliases are derived from the CLI command tree: -- `coolify app env` | `coolify app envs` | `coolify app environment` -- `coolify app start` | `coolify app deploy` -- `coolify app storage` | `coolify app storages` -- `coolify app` | `coolify apps` | `coolify application` | `coolify applications` -- `coolify database storage` | `coolify database storages` -- `coolify database` | `coolify databases` | `coolify db` | `coolify dbs` -- `coolify github` | `coolify gh` | `coolify github-app` | `coolify github-apps` -- `coolify private-key` | `coolify private-keys` | `coolify key` | `coolify keys` -- `coolify project` | `coolify projects` -- `coolify resource` | `coolify resources` -- `coolify server domains` | `coolify server domain` -- `coolify server` | `coolify servers` -- `coolify service storage` | `coolify service storages` -- `coolify service` | `coolify services` | `coolify svc` -- `coolify teams members` | `coolify teams member` -- `coolify teams` | `coolify team` +- `--context ` - use a specific saved context +- `--token ` - override token from config +- `--format table|json|pretty` - choose output format +- `--show-sensitive` - reveal sensitive values +- `--debug` - enable debug output +## Common Workflows -## Supported Database Types - -When using `coolify database create `: -- `postgresql` -- `mysql` -- `mariadb` -- `mongodb` -- `redis` -- `keydb` -- `clickhouse` -- `dragonfly` - -## Usage Examples +### Contexts ```bash -# Multi-context workflow -coolify context add prod https://prod.coolify.io -coolify context add staging https://staging.coolify.io +coolify context list +coolify context verify +coolify context version coolify context use prod -coolify --context=staging server list +``` -# Application lifecycle +### Inventory + +```bash +coolify server list +coolify project list +coolify resource list coolify app list +coolify service list +coolify database list +``` + +### Applications + +```bash coolify app get coolify app start coolify app stop coolify app restart coolify app logs --follow - -# Environment variable management -coolify app env list -coolify app env create --key API_KEY --value secret123 -coolify app env sync --file .env.production --build-time --preview - -# Deploy workflows -coolify deploy name my-application -coolify deploy batch api,worker,frontend --force -coolify deploy list -coolify deploy cancel - -# Database backup -coolify database backup create --frequency "0 2 * * *" --enabled --save-s3 -coolify database backup trigger - -# Application creation -coolify app create public --project-uuid --server-uuid --git-repository https://github.com/user/repo --git-branch main --build-pack nixpacks --ports-exposes 3000 -coolify app create dockerfile --project-uuid --server-uuid --dockerfile "FROM node:18\nCOPY . .\nRUN npm install\nCMD [\"node\", \"index.js\"]" -coolify app create dockerimage --project-uuid --server-uuid --docker-registry-image-name nginx --ports-exposes 80 - -# Service creation (one-click services) -coolify service create --project-uuid --server-uuid --instant-deploy -coolify service create --list-types # list all available service types - -# Storage management -coolify app storage create --type persistent --mount-path /data --name my-volume -coolify app storage create --type file --mount-path /app/config.yml --content "key: value" - -# GitHub App integration -coolify github list -coolify github repos -coolify github branches owner/repo - -# Team management -coolify team list -coolify team current -coolify team members list +coolify app deployments list +coolify app deployments logs --follow ``` -## API Notes +### Environment Variables -- All resource identifiers use UUIDs (not internal database IDs) -- API base path: `/api/v1/` -- Authentication: Bearer token via `--token` flag or context configuration -- `app env sync` behavior: updates existing variables, creates missing ones, does NOT delete variables not in the file -- `app start` aliases to `app deploy` and also accepts `--force` and `--instant-deploy` flags -- Deployment logs support `--follow` for real-time streaming and `--debuglogs` for internal operations -- `app logs` defaults to 100 lines; `app deployments logs` defaults to 0 (all lines) -- Short flag `-n` can be used instead of `--lines` for log commands -- `completion` command supports shells: `bash`, `zsh`, `fish`, `powershell` -- Resource statuses: `running`, `stopped`, `error` -- Teams use numeric IDs (not UUIDs) - this is the only resource that uses IDs -- Fields marked `sensitive:"true"` (tokens, passwords, IPs, emails) are hidden by default; use `--show-sensitive` to reveal +```bash +coolify app env list +coolify app env create --key API_KEY --value secret123 +coolify app env update --value new-secret +coolify app env sync --file .env.production --build-time --preview +``` ---- +### Deployments -## Command Reference +```bash +coolify deploy list +coolify deploy name my-application +coolify deploy batch api,worker,frontend --force +coolify deploy cancel +``` -Command: coolify -Description: Coolify CLI -Parameters: - - name: --context - type: string - description: Use specific context by name - required: false - - name: --debug - type: boolean - description: Debug mode - required: false - default: false - - name: --format - type: string - description: Format output (table|json|pretty) - required: false - default: table - - name: --show-sensitive (-s) - type: boolean - description: Show sensitive information - required: false - default: false - - name: --token - type: string - description: Token for authentication (override context token) - required: false +### Databases and Services -Command: coolify app create deploy-key -Description: Create an application from a private repository using SSH deploy key -Parameters: - - name: --base-directory - type: string - description: Base directory for the application - required: false - - name: --build-command - type: string - description: Custom build command - required: false - - name: --build-pack - type: string - description: Build pack: nixpacks, static, dockerfile, dockercompose (required) - required: true - - name: --description - type: string - description: Application description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --dockerfile-target-build - type: string - description: Dockerfile target build stage - required: false - - name: --domains - type: string - description: Domain(s) for the application - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --git-branch - type: string - description: Git branch (required) - required: true - - name: --git-commit-sha - type: string - description: Specific commit SHA to deploy - required: false - - name: --git-repository - type: string - description: Git repository SSH URL, e.g., 'git@github.com:owner/repo.git' (required) - required: true - - name: --health-check-enabled - type: boolean - description: Enable health checks - required: false - default: false - - name: --health-check-path - type: string - description: Health check path - required: false - - name: --install-command - type: string - description: Custom install command - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --limits-cpus - type: string - description: CPU limit - required: false - - name: --limits-memory - type: string - description: Memory limit - required: false - - name: --name - type: string - description: Application name - required: false - - name: --ports-exposes - type: string - description: Exposed ports, e.g., '3000' or '3000,8080' (required) - required: true - - name: --ports-mappings - type: string - description: Port mappings (host:container) - required: false - - name: --private-key-uuid - type: string - description: Private key UUID (required) - required: true - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --publish-directory - type: string - description: Publish directory for static builds - required: false - - name: --server-uuid - type: string - description: Server UUID (required) - required: true - - name: --start-command - type: string - description: Custom start command - required: false +```bash +coolify database get +coolify database create postgresql --server-uuid --project-uuid --environment-name production +coolify database backup list +coolify service get +coolify service create --project-uuid --server-uuid --instant-deploy +``` -Command: coolify app create dockerfile -Description: Create an application from a custom Dockerfile -Parameters: - - name: --description - type: string - description: Application description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --dockerfile - type: string - description: Dockerfile content (required) - required: true - - name: --dockerfile-target-build - type: string - description: Dockerfile target build stage - required: false - - name: --domains - type: string - description: Domain(s) for the application - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --health-check-enabled - type: boolean - description: Enable health checks - required: false - default: false - - name: --health-check-path - type: string - description: Health check path - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --limits-cpus - type: string - description: CPU limit - required: false - - name: --limits-memory - type: string - description: Memory limit - required: false - - name: --name - type: string - description: Application name - required: false - - name: --ports-exposes - type: string - description: Exposed ports, e.g., '3000' or '3000,8080' - required: false - - name: --ports-mappings - type: string - description: Port mappings (host:container) - required: false - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --server-uuid - type: string - description: Server UUID (required) - required: true +## Common Aliases -Command: coolify app create dockerimage -Description: Create an application from a pre-built Docker image -Parameters: - - name: --description - type: string - description: Application description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --docker-registry-image-name - type: string - description: Docker image name from registry (required) - required: true - - name: --docker-registry-image-tag - type: string - description: Docker image tag (defaults to 'latest') - required: false - - name: --dockerfile-target-build - type: string - description: Dockerfile target build stage - required: false - - name: --domains - type: string - description: Domain(s) for the application - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --health-check-enabled - type: boolean - description: Enable health checks - required: false - default: false - - name: --health-check-path - type: string - description: Health check path - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --limits-cpus - type: string - description: CPU limit - required: false - - name: --limits-memory - type: string - description: Memory limit - required: false - - name: --name - type: string - description: Application name - required: false - - name: --ports-exposes - type: string - description: Exposed ports, e.g., '80' or '80,443' (required) - required: true - - name: --ports-mappings - type: string - description: Port mappings (host:container) - required: false - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --server-uuid - type: string - description: Server UUID (required) - required: true +- `coolify app` | `coolify apps` | `coolify application` | `coolify applications` +- `coolify service` | `coolify services` | `coolify svc` +- `coolify database` | `coolify databases` | `coolify db` | `coolify dbs` +- `coolify teams` | `coolify team` -Command: coolify app create github -Description: Create an application from a private repository using GitHub App -Parameters: - - name: --base-directory - type: string - description: Base directory for the application - required: false - - name: --build-command - type: string - description: Custom build command - required: false - - name: --build-pack - type: string - description: Build pack: nixpacks, static, dockerfile, dockercompose (required) - required: true - - name: --description - type: string - description: Application description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --dockerfile-target-build - type: string - description: Dockerfile target build stage - required: false - - name: --domains - type: string - description: Domain(s) for the application - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --git-branch - type: string - description: Git branch (required) - required: true - - name: --git-commit-sha - type: string - description: Specific commit SHA to deploy - required: false - - name: --git-repository - type: string - description: Git repository in format 'owner/repo' (required) - required: true - - name: --github-app-uuid - type: string - description: GitHub App UUID (required) - required: true - - name: --health-check-enabled - type: boolean - description: Enable health checks - required: false - default: false - - name: --health-check-path - type: string - description: Health check path - required: false - - name: --install-command - type: string - description: Custom install command - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --limits-cpus - type: string - description: CPU limit - required: false - - name: --limits-memory - type: string - description: Memory limit - required: false - - name: --name - type: string - description: Application name - required: false - - name: --ports-exposes - type: string - description: Exposed ports, e.g., '3000' or '3000,8080' (required) - required: true - - name: --ports-mappings - type: string - description: Port mappings (host:container) - required: false - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --publish-directory - type: string - description: Publish directory for static builds - required: false - - name: --server-uuid - type: string - description: Server UUID (required) - required: true - - name: --start-command - type: string - description: Custom start command - required: false - -Command: coolify app create public -Description: Create an application from a public git repository -Parameters: - - name: --base-directory - type: string - description: Base directory for the application - required: false - - name: --build-command - type: string - description: Custom build command - required: false - - name: --build-pack - type: string - description: Build pack: nixpacks, static, dockerfile, dockercompose (required) - required: true - - name: --description - type: string - description: Application description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --dockerfile-target-build - type: string - description: Dockerfile target build stage - required: false - - name: --domains - type: string - description: Domain(s) for the application - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --git-branch - type: string - description: Git branch (required) - required: true - - name: --git-commit-sha - type: string - description: Specific commit SHA to deploy - required: false - - name: --git-repository - type: string - description: Git repository URL (required) - required: true - - name: --health-check-enabled - type: boolean - description: Enable health checks - required: false - default: false - - name: --health-check-path - type: string - description: Health check path - required: false - - name: --install-command - type: string - description: Custom install command - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --limits-cpus - type: string - description: CPU limit - required: false - - name: --limits-memory - type: string - description: Memory limit - required: false - - name: --name - type: string - description: Application name - required: false - - name: --ports-exposes - type: string - description: Exposed ports, e.g., '3000' or '3000,8080' (required) - required: true - - name: --ports-mappings - type: string - description: Port mappings (host:container) - required: false - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --publish-directory - type: string - description: Publish directory for static builds - required: false - - name: --server-uuid - type: string - description: Server UUID (required) - required: true - - name: --start-command - type: string - description: Custom start command - required: false - -Command: coolify app delete -Description: Delete an application. This action cannot be undone. -Parameters: - - name: --force (-f) - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify app deployments list -Description: Retrieve a list of all deployments for a specific application. -Parameters: (None) - -Command: coolify app deployments logs [deployment-uuid] -Description: Get deployment logs for an application -Parameters: - - name: --debuglogs - type: boolean - description: Show debug logs (includes hidden commands and internal operations) - required: false - default: false - - name: --follow (-f) - type: boolean - description: Follow log output (like tail -f) - required: false - default: false - - name: --lines (-n) - type: integer - description: Number of log lines to display (0 = all) - required: false - default: 0 - -Command: coolify app env create -Description: Create a new environment variable for a specific application. Use --key and --value flags to specify the variable. -Parameters: - - name: --build-time - type: boolean - description: Available at build time (default: true) - required: false - default: true - - name: --comment - type: string - description: Comment for the environment variable - required: false - - name: --is-literal - type: boolean - description: Treat value as literal (don't interpolate variables) - required: false - default: false - - name: --is-multiline - type: boolean - description: Value is multiline - required: false - default: false - - name: --key - type: string - description: Environment variable key (required) - required: true - - name: --preview - type: boolean - description: Available in preview deployments - required: false - default: false - - name: --runtime - type: boolean - description: Available at runtime (default: true) - required: false - default: true - - name: --value - type: string - description: Environment variable value (required) - required: true - -Command: coolify app env delete -Description: Delete an environment variable from an application. First UUID is the application, second is the specific environment variable to delete. -Parameters: - - name: --force - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify app env get -Description: Get detailed information about a specific environment variable by UUID or key name. -Parameters: (None) - -Command: coolify app env list -Description: List all environment variables for an application -Parameters: - - name: --all - type: boolean - description: Show all environment variables (non-preview first, then preview) - required: false - default: false - - name: --preview - type: boolean - description: Show preview environment variables instead of regular ones - required: false - default: false - -Command: coolify app env sync -Description: Sync environment variables from a .env file -Parameters: - - name: --build-time - type: boolean - description: Make all variables available at build time (default: true) - required: false - default: true - - name: --file (-f) - type: string - description: Path to .env file (required) - required: true - - name: --is-literal - type: boolean - description: Treat all values as literal (don't interpolate variables) - required: false - default: false - - name: --preview - type: boolean - description: Make all variables available in preview deployments - required: false - default: false - - name: --runtime - type: boolean - description: Make all variables available at runtime (default: true) - required: false - default: true - -Command: coolify app env update -Description: Update an existing environment variable. Identify it by UUID or key name. -Parameters: - - name: --build-time - type: boolean - description: Available at build time (default: true) - required: false - default: true - - name: --comment - type: string - description: Comment for the environment variable - required: false - - name: --is-literal - type: boolean - description: Treat value as literal - required: false - default: false - - name: --is-multiline - type: boolean - description: Value is multiline - required: false - default: false - - name: --key - type: string - description: New environment variable key (rename) - required: false - - name: --preview - type: boolean - description: Available in preview deployments - required: false - default: false - - name: --runtime - type: boolean - description: Available at runtime (default: true) - required: false - default: true - - name: --value - type: string - description: New environment variable value (required) - required: true - -Command: coolify app get -Description: Retrieve detailed information about a specific application. -Parameters: (None) - -Command: coolify app list -Description: List all applications in Coolify. -Parameters: (None) - -Command: coolify app logs -Description: Retrieve logs for an application. Use --follow to continuously stream new logs. -Parameters: - - name: --follow (-f) - type: boolean - description: Follow log output (like tail -f) - required: false - default: false - - name: --lines (-n) - type: integer - description: Number of log lines to retrieve - required: false - default: 100 - -Command: coolify app restart -Description: Restart a running application. -Parameters: (None) - -Command: coolify app start -Description: Start an application (initiates a deployment). -Parameters: - - name: --force - type: boolean - description: Force rebuild - required: false - default: false - - name: --instant-deploy - type: boolean - description: Instant deploy (skip queuing) - required: false - default: false - -Command: coolify app stop -Description: Stop a running application. -Parameters: (None) - -Command: coolify app storage create -Description: Create a storage for an application -Parameters: - - name: --content - type: string - description: File content (file only) - required: false - - name: --fs-path - type: string - description: Host directory path (file only, required when --is-directory is set) - required: false - - name: --host-path - type: string - description: Host path (persistent only) - required: false - - name: --is-directory - type: boolean - description: Whether this is a directory mount (file only) - required: false - default: false - - name: --mount-path - type: string - description: Mount path inside the container (required) - required: true - - name: --name - type: string - description: Volume name (persistent only) - required: false - - name: --type - type: string - description: Storage type: 'persistent' or 'file' (required) - required: true - -Command: coolify app storage delete -Description: Delete a storage from an application -Parameters: (None) - -Command: coolify app storage list -Description: List all persistent volumes and file storages for a specific application. -Parameters: (None) - -Command: coolify app storage update -Description: Update a storage for an application -Parameters: - - name: --content - type: string - description: File content (file only) - required: false - - name: --host-path - type: string - description: Host path (persistent only) - required: false - - name: --id - type: integer - description: Storage ID (deprecated, use --uuid instead) - required: false - default: 0 - - name: --is-preview-suffix-enabled - type: boolean - description: Enable preview suffix for this storage - required: false - default: false - - name: --mount-path - type: string - description: Mount path inside the container - required: false - - name: --name - type: string - description: Storage name (persistent only) - required: false - - name: --type - type: string - description: Storage type: 'persistent' or 'file' (required) - required: true - - name: --uuid - type: string - description: Storage UUID (required, use 'storage list' to find) - required: false - -Command: coolify app update -Description: Update configuration for a specific application. Only specified fields will be updated. -Parameters: - - name: --base-directory - type: string - description: Base directory - required: false - - name: --build-command - type: string - description: Build command - required: false - - name: --description - type: string - description: Application description - required: false - - name: --docker-image - type: string - description: Docker image name - required: false - - name: --docker-tag - type: string - description: Docker image tag - required: false - - name: --dockerfile - type: string - description: Dockerfile content - required: false - - name: --dockerfile-target-build - type: string - description: Dockerfile target build stage - required: false - - name: --domains - type: string - description: Domains (comma-separated) - required: false - - name: --git-branch - type: string - description: Git branch - required: false - - name: --git-repository - type: string - description: Git repository URL - required: false - - name: --health-check-enabled - type: boolean - description: Enable health check - required: false - default: false - - name: --health-check-path - type: string - description: Health check path - required: false - - name: --install-command - type: string - description: Install command - required: false - - name: --name - type: string - description: Application name - required: false - - name: --ports-exposes - type: string - description: Exposed ports - required: false - - name: --ports-mappings - type: string - description: Port mappings - required: false - - name: --publish-directory - type: string - description: Publish directory - required: false - - name: --start-command - type: string - description: Start command - required: false - -Command: coolify completion -Description: Output shell completion code for the specified shell -Parameters: (None) - -Command: coolify config -Description: Display the path to the Coolify CLI configuration file -Parameters: (None) - -Command: coolify context add -Description: Add a new context -Parameters: - - name: --default (-d) - type: boolean - description: Set as default context - required: false - default: false - - name: --force (-f) - type: boolean - description: Force overwrite if context already exists - required: false - default: false - -Command: coolify context delete -Description: Delete a context -Parameters: (None) - -Command: coolify context get -Description: Get details of a specific context -Parameters: (None) - -Command: coolify context list -Description: List all configured contexts -Parameters: (None) - -Command: coolify context set-default -Description: Set a context as the default -Parameters: (None) - -Command: coolify context set-token -Description: Update the API token for a context -Parameters: (None) - -Command: coolify context update -Description: Update a context's properties (name, URL, token) -Parameters: - - name: --name (-n) - type: string - description: New name for the context - required: false - - name: --token (-t) - type: string - description: New token for the context - required: false - - name: --url (-u) - type: string - description: New URL for the context - required: false - -Command: coolify context use -Description: Switch to a different context (set as default) -Parameters: (None) - -Command: coolify context verify -Description: Verify current context connection and authentication -Parameters: (None) - -Command: coolify context version -Description: Get current context's Coolify version -Parameters: (None) - -Command: coolify database backup create -Description: Create a new scheduled backup configuration -Parameters: - - name: --databases-to-backup - type: string - description: Comma-separated list of databases to backup - required: false - - name: --disable-local-backup - type: boolean - description: Disable local backup storage - required: false - default: false - - name: --dump-all - type: boolean - description: Dump all databases - required: false - default: false - - name: --enabled - type: boolean - description: Enable backup schedule - required: false - default: false - - name: --frequency - type: string - description: Backup frequency (cron expression, e.g., '0 0 * * *' for daily) - required: false - - name: --retention-amount-locally - type: integer - description: Number of backups to retain locally - required: false - default: 0 - - name: --retention-amount-s3 - type: integer - description: Number of backups to retain in S3 - required: false - default: 0 - - name: --retention-days-locally - type: integer - description: Days to retain backups locally - required: false - default: 0 - - name: --retention-days-s3 - type: integer - description: Days to retain backups in S3 - required: false - default: 0 - - name: --retention-max-storage-locally - type: string - description: Max storage for local backups (e.g., '1GB', '500MB') - required: false - - name: --retention-max-storage-s3 - type: string - description: Max storage for S3 backups (e.g., '1GB', '500MB') - required: false - - name: --s3-storage-uuid - type: string - description: S3 storage UUID - required: false - - name: --save-s3 - type: boolean - description: Save backups to S3 - required: false - default: false - - name: --timeout - type: integer - description: Backup timeout in seconds - required: false - default: 0 - -Command: coolify database backup delete -Description: Delete a backup configuration and optionally all its executions from S3. First UUID is the database, second is the specific backup configuration. -Parameters: - - name: --delete-s3 - type: boolean - description: Delete backup files from S3 - required: false - default: false - -Command: coolify database backup delete-execution -Description: Delete a specific backup execution and optionally from S3. First UUID is the database, second is the backup configuration, third is the specific execution. -Parameters: - - name: --delete-s3 - type: boolean - description: Delete backup file from S3 - required: false - default: false - -Command: coolify database backup executions -Description: List all executions for a backup configuration. First UUID is the database, second is the specific backup configuration. -Parameters: (None) - -Command: coolify database backup list -Description: List all backup configurations for a specific database. -Parameters: (None) - -Command: coolify database backup trigger -Description: Trigger an immediate backup for a specific backup configuration. First UUID is the database, second is the specific backup configuration to trigger. -Parameters: (None) - -Command: coolify database backup update -Description: Update a backup configuration settings (frequency, retention, S3, etc.). First UUID is the database, second is the specific backup configuration. -Parameters: - - name: --databases-to-backup - type: string - description: Comma-separated list of databases to backup - required: false - - name: --dump-all - type: boolean - description: Dump all databases - required: false - default: false - - name: --enabled - type: boolean - description: Enable or disable backup - required: false - default: false - - name: --frequency - type: string - description: Backup frequency (cron expression) - required: false - - name: --retention-amount-locally - type: integer - description: Number of backups to retain locally - required: false - default: 0 - - name: --retention-amount-s3 - type: integer - description: Number of backups to retain in S3 - required: false - default: 0 - - name: --retention-days-locally - type: integer - description: Days to retain backups locally - required: false - default: 0 - - name: --retention-days-s3 - type: integer - description: Days to retain backups in S3 - required: false - default: 0 - - name: --retention-max-storage-locally - type: integer - description: Max storage for local backups (MB) - required: false - default: 0 - - name: --retention-max-storage-s3 - type: integer - description: Max storage for S3 backups (MB) - required: false - default: 0 - - name: --s3-storage-uuid - type: string - description: S3 storage UUID - required: false - - name: --save-s3 - type: boolean - description: Save backups to S3 - required: false - default: false - -Command: coolify database create -Description: Create a new database -Parameters: - - name: --clickhouse-admin-password - type: string - description: Clickhouse admin password - required: false - - name: --clickhouse-admin-user - type: string - description: Clickhouse admin user - required: false - - name: --description - type: string - description: Database description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --dragonfly-password - type: string - description: Dragonfly password - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --image - type: string - description: Docker image - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --is-public - type: boolean - description: Make database publicly accessible - required: false - default: false - - name: --keydb-password - type: string - description: KeyDB password - required: false - - name: --limits-cpus - type: string - description: CPU limit (e.g., '0.5', '2') - required: false - - name: --limits-memory - type: string - description: Memory limit (e.g., '512m', '2g') - required: false - - name: --mariadb-database - type: string - description: MariaDB database name - required: false - - name: --mariadb-password - type: string - description: MariaDB password - required: false - - name: --mariadb-root-password - type: string - description: MariaDB root password - required: false - - name: --mariadb-user - type: string - description: MariaDB user - required: false - - name: --mongo-database - type: string - description: MongoDB database name - required: false - - name: --mongo-root-password - type: string - description: MongoDB root password - required: false - - name: --mongo-root-username - type: string - description: MongoDB root username - required: false - - name: --mysql-database - type: string - description: MySQL database name - required: false - - name: --mysql-password - type: string - description: MySQL password - required: false - - name: --mysql-root-password - type: string - description: MySQL root password - required: false - - name: --mysql-user - type: string - description: MySQL user - required: false - - name: --name - type: string - description: Database name - required: false - - name: --postgres-db - type: string - description: PostgreSQL database name - required: false - - name: --postgres-password - type: string - description: PostgreSQL password - required: false - - name: --postgres-user - type: string - description: PostgreSQL user - required: false - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --public-port - type: integer - description: Public port - required: false - default: 0 - - name: --redis-password - type: string - description: Redis password - required: false - - name: --server-uuid - type: string - description: Server UUID (required) - required: true - -Command: coolify database delete -Description: Delete a database and optionally clean up its configurations, volumes, and networks. -Parameters: - - name: --delete-configurations - type: boolean - description: Delete configurations - required: false - default: true - - name: --delete-connected-networks - type: boolean - description: Delete connected networks - required: false - default: true - - name: --delete-volumes - type: boolean - description: Delete volumes - required: false - default: true - - name: --docker-cleanup - type: boolean - description: Run docker cleanup - required: false - default: true - -Command: coolify database env create -Description: Create a new environment variable for a specific database. Use --key and --value flags to specify the variable. -Parameters: - - name: --comment - type: string - description: Comment for the environment variable - required: false - - name: --is-literal - type: boolean - description: Treat value as literal (don't interpolate variables) - required: false - default: false - - name: --is-multiline - type: boolean - description: Value is multiline - required: false - default: false - - name: --is-shown-once - type: boolean - description: Only show value once - required: false - default: false - - name: --key - type: string - description: Environment variable key (required) - required: true - - name: --value - type: string - description: Environment variable value (required) - required: true - -Command: coolify database env delete -Description: Delete an environment variable from a database. First UUID is the database, second is the specific environment variable to delete. -Parameters: - - name: --force - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify database env get -Description: Get detailed information about a specific environment variable. First UUID is the database, second is the environment variable UUID or key name. -Parameters: (None) - -Command: coolify database env list -Description: List all environment variables for a specific database. -Parameters: (None) - -Command: coolify database env sync -Description: Sync environment variables from a .env file -Parameters: - - name: --file (-f) - type: string - description: Path to .env file (required) - required: true - - name: --is-literal - type: boolean - description: Treat all values as literal (don't interpolate variables) - required: false - default: false - -Command: coolify database env update -Description: Update an existing environment variable. Identify it by UUID or key name. -Parameters: - - name: --comment - type: string - description: Comment for the environment variable - required: false - - name: --is-literal - type: boolean - description: Treat value as literal - required: false - default: false - - name: --is-multiline - type: boolean - description: Value is multiline - required: false - default: false - - name: --is-shown-once - type: boolean - description: Only show value once - required: false - default: false - - name: --key - type: string - description: New environment variable key (rename) - required: false - - name: --value - type: string - description: New environment variable value (required) - required: true - -Command: coolify database get -Description: Get detailed information about a specific database by UUID. -Parameters: (None) - -Command: coolify database list -Description: List all databases in Coolify. -Parameters: (None) - -Command: coolify database restart -Description: Restart a database by UUID. -Parameters: (None) - -Command: coolify database start -Description: Start a database by UUID. -Parameters: (None) - -Command: coolify database stop -Description: Stop a database by UUID. -Parameters: (None) - -Command: coolify database storage create -Description: Create a storage for a database -Parameters: - - name: --content - type: string - description: File content (file only) - required: false - - name: --fs-path - type: string - description: Host directory path (file only, required when --is-directory is set) - required: false - - name: --host-path - type: string - description: Host path (persistent only) - required: false - - name: --is-directory - type: boolean - description: Whether this is a directory mount (file only) - required: false - default: false - - name: --mount-path - type: string - description: Mount path inside the container (required) - required: true - - name: --name - type: string - description: Volume name (persistent only) - required: false - - name: --type - type: string - description: Storage type: 'persistent' or 'file' (required) - required: true - -Command: coolify database storage delete -Description: Delete a storage from a database -Parameters: (None) - -Command: coolify database storage list -Description: List all persistent volumes and file storages for a specific database. -Parameters: (None) - -Command: coolify database storage update -Description: Update a storage for a database -Parameters: - - name: --content - type: string - description: File content (file only) - required: false - - name: --host-path - type: string - description: Host path (persistent only) - required: false - - name: --id - type: integer - description: Storage ID (deprecated, use --uuid instead) - required: false - default: 0 - - name: --is-preview-suffix-enabled - type: boolean - description: Enable preview suffix for this storage - required: false - default: false - - name: --mount-path - type: string - description: Mount path inside the container - required: false - - name: --name - type: string - description: Storage name (persistent only) - required: false - - name: --type - type: string - description: Storage type: 'persistent' or 'file' (required) - required: true - - name: --uuid - type: string - description: Storage UUID (required, use 'storage list' to find) - required: false - -Command: coolify database update -Description: Update a database's configuration by UUID. -Parameters: - - name: --description - type: string - description: Database description - required: false - - name: --image - type: string - description: Docker image - required: false - - name: --is-public - type: boolean - description: Make database publicly accessible - required: false - default: false - - name: --limits-cpus - type: string - description: CPU limit - required: false - - name: --limits-memory - type: string - description: Memory limit - required: false - - name: --name - type: string - description: Database name - required: false - - name: --public-port - type: integer - description: Public port - required: false - default: 0 - -Command: coolify deploy batch -Description: Deploy multiple resources by name -Parameters: - - name: --docker-tag - type: string - description: Docker image tag override for the deployment - required: false - - name: --force - type: boolean - description: Force deployment - required: false - default: false - - name: --pull-request-id - type: integer - description: Pull request ID for preview deployments - required: false - default: 0 - -Command: coolify deploy cancel -Description: Cancel an in-progress deployment. This will stop the deployment process and clean up any temporary resources. -Parameters: - - name: --force (-f) - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify deploy get -Description: Get detailed information about a specific deployment by its UUID. -Parameters: (None) - -Command: coolify deploy list -Description: List all currently running deployments across all resources. -Parameters: (None) - -Command: coolify deploy name -Description: Deploy by resource name -Parameters: - - name: --docker-tag - type: string - description: Docker image tag override for the deployment - required: false - - name: --force - type: boolean - description: Force deployment - required: false - default: false - - name: --pull-request-id - type: integer - description: Pull request ID for preview deployments - required: false - default: 0 - -Command: coolify deploy uuid -Description: Deploy by uuid -Parameters: - - name: --docker-tag - type: string - description: Docker image tag override for the deployment - required: false - - name: --force - type: boolean - description: Force deployment - required: false - default: false - - name: --pull-request-id - type: integer - description: Pull request ID for preview deployments - required: false - default: 0 - -Command: coolify github branches -Description: List branches for a repository -Parameters: (None) - -Command: coolify github create -Description: Create a GitHub App integration -Parameters: - - name: --api-url - type: string - description: GitHub API URL (required, e.g., https://api.github.com) - required: true - - name: --app-id - type: integer - description: GitHub App ID (required) - required: true - default: 0 - - name: --client-id - type: string - description: GitHub OAuth Client ID (required) - required: true - - name: --client-secret - type: string - description: GitHub OAuth Client Secret (required) - required: true - - name: --custom-port - type: integer - description: Custom port for SSH (default: 22) - required: false - default: 0 - - name: --custom-user - type: string - description: Custom user for SSH (default: git) - required: false - - name: --html-url - type: string - description: GitHub HTML URL (required, e.g., https://github.com) - required: true - - name: --installation-id - type: integer - description: GitHub Installation ID (required) - required: true - default: 0 - - name: --name - type: string - description: GitHub App name (required) - required: true - - name: --organization - type: string - description: GitHub organization - required: false - - name: --private-key-uuid - type: string - description: UUID of existing private key (required) - required: true - - name: --system-wide - type: boolean - description: Is this app system-wide (cloud only) - required: false - default: false - - name: --webhook-secret - type: string - description: GitHub Webhook Secret - required: false - -Command: coolify github delete -Description: Delete a GitHub App integration. The app must not be used by any applications. -Parameters: - - name: --force (-f) - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify github get -Description: Get detailed information about a specific GitHub App integration. -Parameters: (None) - -Command: coolify github list -Description: List all GitHub App integrations configured in Coolify. -Parameters: (None) - -Command: coolify github repos -Description: List all repositories that are accessible by the specified GitHub App. -Parameters: (None) - -Command: coolify github update -Description: Update an existing GitHub App integration. Provide the app UUID and the fields you want to update. -Parameters: - - name: --api-url - type: string - description: GitHub API URL - required: false - - name: --app-id - type: integer - description: GitHub App ID - required: false - default: 0 - - name: --client-id - type: string - description: GitHub OAuth Client ID - required: false - - name: --client-secret - type: string - description: GitHub OAuth Client Secret - required: false - - name: --custom-port - type: integer - description: Custom port for SSH - required: false - default: 0 - - name: --custom-user - type: string - description: Custom user for SSH - required: false - - name: --html-url - type: string - description: GitHub HTML URL - required: false - - name: --installation-id - type: integer - description: GitHub Installation ID - required: false - default: 0 - - name: --name - type: string - description: GitHub App name - required: false - - name: --organization - type: string - description: GitHub organization - required: false - - name: --private-key-uuid - type: string - description: UUID of private key - required: false - - name: --system-wide - type: boolean - description: Is this app system-wide - required: false - default: false - - name: --webhook-secret - type: string - description: GitHub Webhook Secret - required: false - -Command: coolify private-key add -Description: Add a private key -Parameters: (None) - -Command: coolify private-key list -Description: List all private keys -Parameters: (None) - -Command: coolify private-key remove -Description: Remove a private key -Parameters: (None) - -Command: coolify project create -Description: Create a new project -Parameters: - - name: --description - type: string - description: Project description - required: false - - name: --name - type: string - description: Project name (required) - required: true - -Command: coolify project get -Description: Get a project by uuid -Parameters: (None) - -Command: coolify project list -Description: List all projects -Parameters: (None) - -Command: coolify resource list -Description: List all resources -Parameters: (None) - -Command: coolify server add -Description: Add a server -Parameters: - - name: --port (-p) - type: integer - description: Port - required: false - default: 22 - - name: --user (-u) - type: string - description: User - required: false - default: root - - name: --validate - type: boolean - description: Validate the server - required: false - default: false - -Command: coolify server domains -Description: Get server domains by uuid -Parameters: (None) - -Command: coolify server get -Description: Get server details by uuid -Parameters: - - name: --resources - type: boolean - description: With resources - required: false - default: false - -Command: coolify server list -Description: List all servers -Parameters: (None) - -Command: coolify server remove -Description: Remove a server -Parameters: (None) - -Command: coolify server validate -Description: Validate a server -Parameters: (None) - -Command: coolify service create -Description: Create a new one-click service -Parameters: - - name: --description - type: string - description: Service description - required: false - - name: --destination-uuid - type: string - description: Destination UUID if server has multiple destinations - required: false - - name: --docker-compose - type: string - description: Custom Docker Compose content (for advanced customization) - required: false - - name: --environment-name - type: string - description: Environment name - required: false - - name: --environment-uuid - type: string - description: Environment UUID - required: false - - name: --instant-deploy - type: boolean - description: Deploy immediately after creation - required: false - default: false - - name: --list-types - type: boolean - description: List all available service types - required: false - default: false - - name: --name - type: string - description: Service name - required: false - - name: --project-uuid - type: string - description: Project UUID (required) - required: true - - name: --server-uuid - type: string - description: Server UUID (required) - required: true - -Command: coolify service delete -Description: Delete a service and optionally clean up its configurations, volumes, and networks. -Parameters: - - name: --delete-configurations - type: boolean - description: Delete configurations - required: false - default: true - - name: --delete-connected-networks - type: boolean - description: Delete connected networks - required: false - default: true - - name: --delete-volumes - type: boolean - description: Delete volumes - required: false - default: true - - name: --docker-cleanup - type: boolean - description: Run docker cleanup - required: false - default: true - - name: --force (-f) - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify service env create -Description: Create a new environment variable for a specific service. Use --key and --value flags to specify the variable. -Parameters: - - name: --build-time - type: boolean - description: Available at build time (default: true) - required: false - default: true - - name: --comment - type: string - description: Comment for the environment variable - required: false - - name: --is-literal - type: boolean - description: Treat value as literal (don't interpolate variables) - required: false - default: false - - name: --is-multiline - type: boolean - description: Value is multiline - required: false - default: false - - name: --key - type: string - description: Environment variable key (required) - required: true - - name: --runtime - type: boolean - description: Available at runtime (default: true) - required: false - default: true - - name: --value - type: string - description: Environment variable value (required) - required: true - -Command: coolify service env delete -Description: Delete an environment variable from a service. First UUID is the service, second is the specific environment variable to delete. -Parameters: - - name: --force - type: boolean - description: Skip confirmation prompt - required: false - default: false - -Command: coolify service env get -Description: Get detailed information about a specific environment variable. First UUID is the service, second is the environment variable UUID or key name. -Parameters: (None) - -Command: coolify service env list -Description: List all environment variables for a specific service. -Parameters: (None) - -Command: coolify service env sync -Description: Sync environment variables from a .env file -Parameters: - - name: --build-time - type: boolean - description: Make all variables available at build time (default: true) - required: false - default: true - - name: --file (-f) - type: string - description: Path to .env file (required) - required: true - - name: --is-literal - type: boolean - description: Treat all values as literal (don't interpolate variables) - required: false - default: false - - name: --runtime - type: boolean - description: Make all variables available at runtime (default: true) - required: false - default: true - -Command: coolify service env update -Description: Update an existing environment variable. Identify it by UUID or key name. -Parameters: - - name: --build-time - type: boolean - description: Available at build time (default: true) - required: false - default: true - - name: --comment - type: string - description: Comment for the environment variable - required: false - - name: --is-literal - type: boolean - description: Treat value as literal (don't interpolate variables) - required: false - default: false - - name: --is-multiline - type: boolean - description: Value is multiline - required: false - default: false - - name: --key - type: string - description: New environment variable key (rename) - required: false - - name: --runtime - type: boolean - description: Available at runtime (default: true) - required: false - default: true - - name: --value - type: string - description: New environment variable value (required) - required: true - -Command: coolify service get -Description: Get detailed information about a specific service. -Parameters: (None) - -Command: coolify service list -Description: List all services in Coolify. -Parameters: (None) - -Command: coolify service restart -Description: Restart a service (restart all containers). -Parameters: (None) - -Command: coolify service start -Description: Start a service (deploy all containers). -Parameters: (None) - -Command: coolify service stop -Description: Stop a service (stop all containers). -Parameters: (None) - -Command: coolify service storage create -Description: Create a storage for a service -Parameters: - - name: --content - type: string - description: File content (file only) - required: false - - name: --fs-path - type: string - description: Host directory path (file only, required when --is-directory is set) - required: false - - name: --host-path - type: string - description: Host path (persistent only) - required: false - - name: --is-directory - type: boolean - description: Whether this is a directory mount (file only) - required: false - default: false - - name: --mount-path - type: string - description: Mount path inside the container (required) - required: true - - name: --name - type: string - description: Volume name (persistent only) - required: false - - name: --resource-uuid - type: string - description: UUID of the service sub-resource (required) - required: true - - name: --type - type: string - description: Storage type: 'persistent' or 'file' (required) - required: true - -Command: coolify service storage delete -Description: Delete a storage from a service -Parameters: (None) - -Command: coolify service storage list -Description: List all persistent volumes and file storages for a specific service. -Parameters: (None) - -Command: coolify service storage update -Description: Update a storage for a service -Parameters: - - name: --content - type: string - description: File content (file only) - required: false - - name: --host-path - type: string - description: Host path (persistent only) - required: false - - name: --id - type: integer - description: Storage ID (deprecated, use --uuid instead) - required: false - default: 0 - - name: --is-preview-suffix-enabled - type: boolean - description: Enable preview suffix for this storage - required: false - default: false - - name: --mount-path - type: string - description: Mount path inside the container - required: false - - name: --name - type: string - description: Storage name (persistent only) - required: false - - name: --type - type: string - description: Storage type: 'persistent' or 'file' (required) - required: true - - name: --uuid - type: string - description: Storage UUID (required, use 'storage list' to find) - required: false - -Command: coolify teams current -Description: Get details of the team associated with the current authentication token. -Parameters: (None) - -Command: coolify teams get -Description: Get detailed information about a specific team by its ID. -Parameters: (None) - -Command: coolify teams list -Description: List all teams you have access to. -Parameters: (None) - -Command: coolify teams members list [team_id] -Description: List members of a specific team by ID, or list members of the current team if no ID is provided. -Parameters: (None) - -Command: coolify update -Description: Update Coolify CLI -Parameters: (None) - -Command: coolify version -Description: Current Coolify CLI version -Parameters: (None) +## Full Reference +- Full command and parameter catalog: ./llms-full.txt +- Regenerate docs: `go run ./coolify docs llms`