From cd998ce6b0cd7fe4382224a7d1bae20c81ed0bad Mon Sep 17 00:00:00 2001 From: urieljareth Date: Sun, 31 May 2026 08:24:12 -0600 Subject: [PATCH] Commit inicial - estructura base del proyecto --- .env.example | 11 + .gitignore | 14 + CLAUDE.md | 87 + PROXMOX/PROXMOX.md | 14 + README.md | 70 + agent/SKILL.md | 45 + agent/TOOLS.md | 48 + coolify_skill/SKILL.md | 87 + coolify_skill/TOOLS.md | 73 + coolify_skill/agents/openai.yaml | 7 + coolify_skill/references/API.md | 706 ++++++++ coolify_skill/references/api-index.md | 41 + .../references/endpoints_compiled.json | 1528 +++++++++++++++++ .../ops/cancel-deployment-by-uuid.md | 95 + .../references/ops/create-cloud-token.md | 89 + .../references/ops/create-database-backup.md | 137 ++ .../ops/create-database-clickhouse.md | 111 ++ .../ops/create-database-dragonfly.md | 109 ++ .../references/ops/create-database-keydb.md | 111 ++ .../references/ops/create-database-mariadb.md | 117 ++ .../references/ops/create-database-mongodb.md | 111 ++ .../references/ops/create-database-mysql.md | 117 ++ .../ops/create-database-postgresql.md | 119 ++ .../references/ops/create-database-redis.md | 111 ++ .../ops/create-dockercompose-application.md | 111 ++ .../ops/create-dockerfile-application.md | 193 +++ .../ops/create-dockerimage-application.md | 187 ++ .../ops/create-env-by-application-uuid.md | 119 ++ .../ops/create-env-by-service-uuid.md | 119 ++ .../references/ops/create-environment.md | 109 ++ .../references/ops/create-github-app.md | 135 ++ .../references/ops/create-hetzner-server.md | 331 ++++ .../create-private-deploy-key-application.md | 241 +++ .../create-private-github-app-application.md | 241 +++ .../references/ops/create-private-key.md | 89 + .../references/ops/create-project.md | 87 + .../ops/create-public-application.md | 239 +++ coolify_skill/references/ops/create-server.md | 101 ++ .../references/ops/create-service.md | 125 ++ .../ops/delete-application-by-uuid.md | 149 ++ .../delete-backup-configuration-by-uuid.md | 119 ++ .../ops/delete-backup-execution-by-uuid.md | 131 ++ .../ops/delete-cloud-token-by-uuid.md | 91 + .../references/ops/delete-database-by-uuid.md | 149 ++ .../ops/delete-env-by-application-uuid.md | 103 ++ .../ops/delete-env-by-service-uuid.md | 103 ++ .../references/ops/delete-environment.md | 103 ++ .../ops/delete-private-key-by-uuid.md | 91 + .../references/ops/delete-project-by-uuid.md | 91 + .../references/ops/delete-server-by-uuid.md | 91 + .../references/ops/delete-service-by-uuid.md | 149 ++ .../references/ops/deleteGithubApp.md | 91 + .../references/ops/deploy-by-tag-or-uuid.md | 151 ++ coolify_skill/references/ops/disable-api.md | 67 + coolify_skill/references/ops/enable-api.md | 108 ++ .../references/ops/get-application-by-uuid.md | 297 ++++ .../ops/get-application-logs-by-uuid.md | 111 ++ .../references/ops/get-cloud-token-by-uuid.md | 103 ++ .../ops/get-current-team-members.md | 87 + .../references/ops/get-current-team.md | 107 ++ .../ops/get-database-backups-by-uuid.md | 87 + .../references/ops/get-database-by-uuid.md | 87 + .../references/ops/get-deployment-by-uuid.md | 137 ++ .../ops/get-domains-by-server-uuid.md | 101 ++ .../ops/get-environment-by-name-or-uuid.md | 113 ++ .../references/ops/get-environments.md | 105 ++ .../references/ops/get-hetzner-images.md | 115 ++ .../references/ops/get-hetzner-locations.md | 115 ++ .../ops/get-hetzner-server-types.md | 139 ++ .../references/ops/get-hetzner-ssh-keys.md | 109 ++ .../references/ops/get-members-by-team-id.md | 111 ++ .../references/ops/get-private-key-by-uuid.md | 111 ++ .../references/ops/get-project-by-uuid.md | 97 ++ .../ops/get-resources-by-server-uuid.md | 107 ++ .../references/ops/get-server-by-uuid.md | 201 +++ .../references/ops/get-service-by-uuid.md | 125 ++ .../references/ops/get-team-by-id.md | 131 ++ coolify_skill/references/ops/healthcheck.md | 47 + .../references/ops/list-applications.md | 257 +++ .../references/ops/list-backup-executions.md | 121 ++ .../references/ops/list-cloud-tokens.md | 125 ++ .../references/ops/list-databases.md | 63 + .../ops/list-deployments-by-app-uuid.md | 297 ++++ .../references/ops/list-deployments.md | 117 ++ .../ops/list-envs-by-application-uuid.md | 129 ++ .../ops/list-envs-by-service-uuid.md | 171 ++ .../references/ops/list-github-apps.md | 101 ++ .../references/ops/list-private-keys.md | 91 + coolify_skill/references/ops/list-projects.md | 77 + .../references/ops/list-resources.md | 63 + coolify_skill/references/ops/list-servers.md | 181 ++ coolify_skill/references/ops/list-services.md | 105 ++ coolify_skill/references/ops/list-teams.md | 111 ++ coolify_skill/references/ops/load-branches.md | 121 ++ .../references/ops/load-repositories.md | 97 ++ .../ops/restart-application-by-uuid.md | 93 + .../ops/restart-database-by-uuid.md | 91 + .../references/ops/restart-service-by-uuid.md | 149 ++ .../ops/start-application-by-uuid.md | 123 ++ .../references/ops/start-database-by-uuid.md | 91 + .../references/ops/start-service-by-uuid.md | 91 + .../ops/stop-application-by-uuid.md | 107 ++ .../references/ops/stop-database-by-uuid.md | 107 ++ .../references/ops/stop-service-by-uuid.md | 107 ++ .../ops/update-application-by-uuid.md | 253 +++ .../ops/update-cloud-token-by-uuid.md | 109 ++ .../references/ops/update-database-backup.md | 133 ++ .../references/ops/update-database-by-uuid.md | 173 ++ .../ops/update-env-by-application-uuid.md | 153 ++ .../ops/update-env-by-service-uuid.md | 153 ++ .../ops/update-envs-by-application-uuid.md | 165 ++ .../ops/update-envs-by-service-uuid.md | 165 ++ .../references/ops/update-private-key.md | 89 + .../references/ops/update-project-by-uuid.md | 115 ++ .../references/ops/update-server-by-uuid.md | 245 +++ .../references/ops/update-service-by-uuid.md | 149 ++ .../references/ops/updateGithubApp.md | 137 ++ .../ops/validate-cloud-token-by-uuid.md | 93 + .../references/ops/validate-server-by-uuid.md | 133 ++ coolify_skill/references/ops/version.md | 63 + coolify_skill/references/project-context.md | 32 + .../scripts/Get-CoolifyDockerStatus.ps1 | 35 + coolify_skill/scripts/Invoke-CoolifyApi.ps1 | 66 + coolify_skill/scripts/coolify.sh | 1097 ++++++++++++ docs/proxmox-inventory.md | 46 + docs/runbooks/baserow.md | 79 + docs/runbooks/conexion.md | 54 + docs/runbooks/coolify-docker.md | 41 + docs/runbooks/diagnostico.md | 36 + docs/runbooks/incidentes-openclaw.md | 47 + docs/runbooks/nextcloud.md | 98 ++ docs/runbooks/seguridad.md | 35 + proxmox-agent/proxmox-agent/SKILL.md | 3 + proxmox-agent/proxmox-agent/TOOLS.md | 3 + proxmox-skill/proxmox-agent/ISSUES.md | 6 + proxmox-skill/proxmox-agent/SKILL.md | 3 + proxmox-skill/proxmox-agent/TOOLS.md | 3 + scripts/Get-ProxmoxInventory.ps1 | 8 + scripts/Invoke-ProxmoxSsh.ps1 | 9 + scripts/ProxmoxAgent.ps1 | 95 + scripts/Set-ProxmoxEnv.example.ps1 | 15 + scripts/Test-ProxmoxConnection.ps1 | 65 + scripts/fix-nextcloud-config.php | 49 + 143 files changed, 18354 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 CLAUDE.md create mode 100644 PROXMOX/PROXMOX.md create mode 100644 README.md create mode 100644 agent/SKILL.md create mode 100644 agent/TOOLS.md create mode 100644 coolify_skill/SKILL.md create mode 100644 coolify_skill/TOOLS.md create mode 100644 coolify_skill/agents/openai.yaml create mode 100644 coolify_skill/references/API.md create mode 100644 coolify_skill/references/api-index.md create mode 100644 coolify_skill/references/endpoints_compiled.json create mode 100644 coolify_skill/references/ops/cancel-deployment-by-uuid.md create mode 100644 coolify_skill/references/ops/create-cloud-token.md create mode 100644 coolify_skill/references/ops/create-database-backup.md create mode 100644 coolify_skill/references/ops/create-database-clickhouse.md create mode 100644 coolify_skill/references/ops/create-database-dragonfly.md create mode 100644 coolify_skill/references/ops/create-database-keydb.md create mode 100644 coolify_skill/references/ops/create-database-mariadb.md create mode 100644 coolify_skill/references/ops/create-database-mongodb.md create mode 100644 coolify_skill/references/ops/create-database-mysql.md create mode 100644 coolify_skill/references/ops/create-database-postgresql.md create mode 100644 coolify_skill/references/ops/create-database-redis.md create mode 100644 coolify_skill/references/ops/create-dockercompose-application.md create mode 100644 coolify_skill/references/ops/create-dockerfile-application.md create mode 100644 coolify_skill/references/ops/create-dockerimage-application.md create mode 100644 coolify_skill/references/ops/create-env-by-application-uuid.md create mode 100644 coolify_skill/references/ops/create-env-by-service-uuid.md create mode 100644 coolify_skill/references/ops/create-environment.md create mode 100644 coolify_skill/references/ops/create-github-app.md create mode 100644 coolify_skill/references/ops/create-hetzner-server.md create mode 100644 coolify_skill/references/ops/create-private-deploy-key-application.md create mode 100644 coolify_skill/references/ops/create-private-github-app-application.md create mode 100644 coolify_skill/references/ops/create-private-key.md create mode 100644 coolify_skill/references/ops/create-project.md create mode 100644 coolify_skill/references/ops/create-public-application.md create mode 100644 coolify_skill/references/ops/create-server.md create mode 100644 coolify_skill/references/ops/create-service.md create mode 100644 coolify_skill/references/ops/delete-application-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-backup-configuration-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-backup-execution-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-cloud-token-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-database-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-env-by-application-uuid.md create mode 100644 coolify_skill/references/ops/delete-env-by-service-uuid.md create mode 100644 coolify_skill/references/ops/delete-environment.md create mode 100644 coolify_skill/references/ops/delete-private-key-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-project-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-server-by-uuid.md create mode 100644 coolify_skill/references/ops/delete-service-by-uuid.md create mode 100644 coolify_skill/references/ops/deleteGithubApp.md create mode 100644 coolify_skill/references/ops/deploy-by-tag-or-uuid.md create mode 100644 coolify_skill/references/ops/disable-api.md create mode 100644 coolify_skill/references/ops/enable-api.md create mode 100644 coolify_skill/references/ops/get-application-by-uuid.md create mode 100644 coolify_skill/references/ops/get-application-logs-by-uuid.md create mode 100644 coolify_skill/references/ops/get-cloud-token-by-uuid.md create mode 100644 coolify_skill/references/ops/get-current-team-members.md create mode 100644 coolify_skill/references/ops/get-current-team.md create mode 100644 coolify_skill/references/ops/get-database-backups-by-uuid.md create mode 100644 coolify_skill/references/ops/get-database-by-uuid.md create mode 100644 coolify_skill/references/ops/get-deployment-by-uuid.md create mode 100644 coolify_skill/references/ops/get-domains-by-server-uuid.md create mode 100644 coolify_skill/references/ops/get-environment-by-name-or-uuid.md create mode 100644 coolify_skill/references/ops/get-environments.md create mode 100644 coolify_skill/references/ops/get-hetzner-images.md create mode 100644 coolify_skill/references/ops/get-hetzner-locations.md create mode 100644 coolify_skill/references/ops/get-hetzner-server-types.md create mode 100644 coolify_skill/references/ops/get-hetzner-ssh-keys.md create mode 100644 coolify_skill/references/ops/get-members-by-team-id.md create mode 100644 coolify_skill/references/ops/get-private-key-by-uuid.md create mode 100644 coolify_skill/references/ops/get-project-by-uuid.md create mode 100644 coolify_skill/references/ops/get-resources-by-server-uuid.md create mode 100644 coolify_skill/references/ops/get-server-by-uuid.md create mode 100644 coolify_skill/references/ops/get-service-by-uuid.md create mode 100644 coolify_skill/references/ops/get-team-by-id.md create mode 100644 coolify_skill/references/ops/healthcheck.md create mode 100644 coolify_skill/references/ops/list-applications.md create mode 100644 coolify_skill/references/ops/list-backup-executions.md create mode 100644 coolify_skill/references/ops/list-cloud-tokens.md create mode 100644 coolify_skill/references/ops/list-databases.md create mode 100644 coolify_skill/references/ops/list-deployments-by-app-uuid.md create mode 100644 coolify_skill/references/ops/list-deployments.md create mode 100644 coolify_skill/references/ops/list-envs-by-application-uuid.md create mode 100644 coolify_skill/references/ops/list-envs-by-service-uuid.md create mode 100644 coolify_skill/references/ops/list-github-apps.md create mode 100644 coolify_skill/references/ops/list-private-keys.md create mode 100644 coolify_skill/references/ops/list-projects.md create mode 100644 coolify_skill/references/ops/list-resources.md create mode 100644 coolify_skill/references/ops/list-servers.md create mode 100644 coolify_skill/references/ops/list-services.md create mode 100644 coolify_skill/references/ops/list-teams.md create mode 100644 coolify_skill/references/ops/load-branches.md create mode 100644 coolify_skill/references/ops/load-repositories.md create mode 100644 coolify_skill/references/ops/restart-application-by-uuid.md create mode 100644 coolify_skill/references/ops/restart-database-by-uuid.md create mode 100644 coolify_skill/references/ops/restart-service-by-uuid.md create mode 100644 coolify_skill/references/ops/start-application-by-uuid.md create mode 100644 coolify_skill/references/ops/start-database-by-uuid.md create mode 100644 coolify_skill/references/ops/start-service-by-uuid.md create mode 100644 coolify_skill/references/ops/stop-application-by-uuid.md create mode 100644 coolify_skill/references/ops/stop-database-by-uuid.md create mode 100644 coolify_skill/references/ops/stop-service-by-uuid.md create mode 100644 coolify_skill/references/ops/update-application-by-uuid.md create mode 100644 coolify_skill/references/ops/update-cloud-token-by-uuid.md create mode 100644 coolify_skill/references/ops/update-database-backup.md create mode 100644 coolify_skill/references/ops/update-database-by-uuid.md create mode 100644 coolify_skill/references/ops/update-env-by-application-uuid.md create mode 100644 coolify_skill/references/ops/update-env-by-service-uuid.md create mode 100644 coolify_skill/references/ops/update-envs-by-application-uuid.md create mode 100644 coolify_skill/references/ops/update-envs-by-service-uuid.md create mode 100644 coolify_skill/references/ops/update-private-key.md create mode 100644 coolify_skill/references/ops/update-project-by-uuid.md create mode 100644 coolify_skill/references/ops/update-server-by-uuid.md create mode 100644 coolify_skill/references/ops/update-service-by-uuid.md create mode 100644 coolify_skill/references/ops/updateGithubApp.md create mode 100644 coolify_skill/references/ops/validate-cloud-token-by-uuid.md create mode 100644 coolify_skill/references/ops/validate-server-by-uuid.md create mode 100644 coolify_skill/references/ops/version.md create mode 100644 coolify_skill/references/project-context.md create mode 100644 coolify_skill/scripts/Get-CoolifyDockerStatus.ps1 create mode 100644 coolify_skill/scripts/Invoke-CoolifyApi.ps1 create mode 100644 coolify_skill/scripts/coolify.sh create mode 100644 docs/proxmox-inventory.md create mode 100644 docs/runbooks/baserow.md create mode 100644 docs/runbooks/conexion.md create mode 100644 docs/runbooks/coolify-docker.md create mode 100644 docs/runbooks/diagnostico.md create mode 100644 docs/runbooks/incidentes-openclaw.md create mode 100644 docs/runbooks/nextcloud.md create mode 100644 docs/runbooks/seguridad.md create mode 100644 proxmox-agent/proxmox-agent/SKILL.md create mode 100644 proxmox-agent/proxmox-agent/TOOLS.md create mode 100644 proxmox-skill/proxmox-agent/ISSUES.md create mode 100644 proxmox-skill/proxmox-agent/SKILL.md create mode 100644 proxmox-skill/proxmox-agent/TOOLS.md create mode 100644 scripts/Get-ProxmoxInventory.ps1 create mode 100644 scripts/Invoke-ProxmoxSsh.ps1 create mode 100644 scripts/ProxmoxAgent.ps1 create mode 100644 scripts/Set-ProxmoxEnv.example.ps1 create mode 100644 scripts/Test-ProxmoxConnection.ps1 create mode 100644 scripts/fix-nextcloud-config.php diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..3e2045c --- /dev/null +++ b/.env.example @@ -0,0 +1,11 @@ +PROXMOX_HOST=192.168.0.200 +PROXMOX_NODE=thinkcentre +PROXMOX_USER=root +PROXMOX_SSH_KEY=C:\Users\Uriel Jareth\.openclaw\workspace\proxmox_key_win +PROXMOX_API_BASE_URL=https://192.168.0.200:8006/api2/json +PROXMOX_API_TOKEN_ID=root@pam!openclaw +PROXMOX_API_TOKEN_SECRET=REPLACE_WITH_TOKEN_SECRET +PROXMOX_COOLIFY_LXC=102 + +COOLIFY_API_URL=https://coolify.urieljareth.org/api/v1 +COOLIFY_TOKEN=REPLACE_WITH_COOLIFY_TOKEN diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1de5bf0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +.env +.env.* +!.env.example +ACCESS.md +**/ACCESS.md +*.key +*.pem +*.pfx +*.crt +*.log +*.tmp +__pycache__/ +.DS_Store +Thumbs.db diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..e4c0215 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,87 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## What this repo is + +This is **not an application codebase**. It is an operations toolkit: PowerShell +wrapper scripts plus context/runbook documentation that let an agent diagnose and +manage a single local Proxmox host (`192.168.0.200`, node `thinkcentre`) and the +self-hosted Coolify stack running inside its LXC `102`. There is no build, lint, +or test step — the "commands" are the operational scripts in `scripts/` and +`coolify_skill/scripts/`. + +User-facing docs are in Spanish; scripts and skill files are in English. + +## Core architecture + +**Everything reaches the host through one SSH path.** There is no direct Docker or +local network access. The layering is: + +``` +PowerShell script → Invoke-ProxmoxSshCommand (scripts/ProxmoxAgent.ps1) + → ssh root@192.168.0.200 + → pct exec 102 -- docker ... (for any Docker/Coolify container work) +``` + +- [scripts/ProxmoxAgent.ps1](scripts/ProxmoxAgent.ps1) is the shared library. **Dot-source it** (`. .\scripts\ProxmoxAgent.ps1`) to get `Get-ProxmoxConfig`, `Invoke-ProxmoxSshCommand`, and `Invoke-ProxmoxApi`. Every other script dot-sources it rather than reimplementing connection logic. +- **Config resolution:** `Get-ProxmoxConfig` reads env vars (`PROXMOX_HOST`, `PROXMOX_NODE`, `PROXMOX_SSH_KEY`, `PROXMOX_COOLIFY_LXC`, etc.) and falls back to hardcoded local defaults. SSH works with defaults alone; **API calls require `PROXMOX_API_TOKEN_ID` + `PROXMOX_API_TOKEN_SECRET`** (otherwise `Invoke-ProxmoxApi` throws). The Coolify LXC ID (`102`) comes from config — don't hardcode it in new scripts; use `$config.CoolifyLxc`. +- Two independent APIs: the **Proxmox REST API** (via `curl.exe -k`, PVE token header) and the **Coolify API** (via `Invoke-RestMethod`, Bearer token, base `https://coolify.urieljareth.org/api/v1`). They use different scripts and different env vars. +- Docker is **not** managed on the Proxmox host directly — it lives inside LXC `102`. Any container command must be wrapped as `pct exec 102 -- docker ...`. + +## Common commands + +Run from the project root in PowerShell. + +```powershell +# Load private secrets (gitignored) — needed for any API call +. .\.env.local.ps1 + +# Smoke test: config + SSH read + Docker sample + API auth (exits 1 on any FAIL) +.\scripts\Test-ProxmoxConnection.ps1 + +# Full inventory snapshot (host, LXC, QEMU, Docker in LXC 102) +.\scripts\Get-ProxmoxInventory.ps1 + +# Arbitrary read-only SSH command +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct list" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps -a" + +# Proxmox REST API (after env token loaded) +. .\scripts\ProxmoxAgent.ps1 +Invoke-ProxmoxApi -Path "/version" + +# Coolify container status through LXC 102 +.\coolify_skill\scripts\Get-CoolifyDockerStatus.ps1 -All + +# Coolify API (requires COOLIFY_TOKEN) +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/projects" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Method POST -Path "/projects" -BodyJson $body +``` + +For the Coolify API reference: don't read the whole tree. Search +`coolify_skill/references/` with `rg`, then open the single matching +`references/ops/*.md` operation file. + +## Operating rules (enforced by the skills — follow them) + +- **Read-only first.** Default to diagnostics: list, status, logs, inspect, health checks. +- **Confirm before any state change.** Explicitly ask the user before: `pct`/`qm` start/stop/reboot/destroy; `docker` restart/stop/rm/compose up/down; Coolify deploys or any `POST`/`PUT`/`PATCH`/`DELETE`; env-var writes; and any firewall/network/storage/volume/key/token change. For risky actions, capture current state and state the rollback path first. +- **Never write secrets into the repo.** No tokens, passwords, private keys, cookies, or PVE token secrets in Markdown, scripts, or logs. Secrets live only in `.env.local.ps1` (gitignored) or the OS secret store. `.gitignore` also blocks `ACCESS.md`, `*.key`, `*.pem`, `*.crt`, etc. When debugging databases, verify connectivity without echoing credentials. +- **Prefer repo scripts over long manual command strings**, and don't run broad destructive commands built from generated strings. + +## Docker networking gotcha + +When a Coolify app and its database are sibling containers on the same Docker +network, the app must reach the DB by its **Docker service name, not `localhost`** +(e.g. Nextcloud uses host `nextcloud-db`). Service-to-service DNS is the usual +root cause of "database connection" failures here — check with +`pct exec 102 -- docker exec getent hosts `. + +## Where context lives + +- [docs/proxmox-inventory.md](docs/proxmox-inventory.md) — verified topology, LXC list, observed containers, access model. Treat as the source of truth for current state. +- [docs/runbooks/](docs/runbooks/) — concrete procedures: `conexion.md`, `diagnostico.md`, `coolify-docker.md`, `seguridad.md`, plus app-specific `nextcloud.md` and `baserow.md`. +- [agent/SKILL.md](agent/SKILL.md) + [agent/TOOLS.md](agent/TOOLS.md) — Proxmox agent operating skill. +- [coolify_skill/SKILL.md](coolify_skill/SKILL.md) + [coolify_skill/TOOLS.md](coolify_skill/TOOLS.md) — Coolify agent operating skill and API reference index. +- `PROXMOX/`, `proxmox-agent/`, `proxmox-skill/` are **legacy pointer folders** — they only redirect to the live docs above. Don't add content there. diff --git a/PROXMOX/PROXMOX.md b/PROXMOX/PROXMOX.md new file mode 100644 index 0000000..256afb9 --- /dev/null +++ b/PROXMOX/PROXMOX.md @@ -0,0 +1,14 @@ +# Migrado + +Este archivo queda solo como puntero legacy. + +La documentacion viva esta en: + +- `../README.md` +- `../agent/SKILL.md` +- `../agent/TOOLS.md` +- `../docs/proxmox-inventory.md` +- `../docs/runbooks/` + +Los secretos que antes estaban en Markdown deben vivir en variables de entorno +o en un `.env.local.ps1` privado. diff --git a/README.md b/README.md new file mode 100644 index 0000000..422f2ee --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# Proxmox & Coolify Manager + +Proyecto local para operar Proxmox con ayuda agentica desde Codex. + +La idea practica es simple: este repo guarda el contexto, los runbooks y los +scripts seguros para que Codex pueda diagnosticar y ayudarte a gestionar el host +Proxmox local sin depender de memoria suelta ni de secretos pegados en Markdown. + +## Estado verificado + +Verificado el 2026-05-30 desde esta maquina: + +- Host Proxmox: `192.168.0.200` +- Nodo: `thinkcentre` +- Version: Proxmox VE `9.1.1` +- Kernel: `6.17.2-1-pve` +- LXC detectados: `100 hermes`, `102 coolify` +- Docker corre dentro del LXC `102` +- SSH con clave local funciona +- API REST autenticada funciona cuando el token se carga desde entorno + +## Estructura + +- `agent/SKILL.md`: reglas operativas para que Codex actue como agente Proxmox. +- `agent/TOOLS.md`: comandos seguros y patrones de uso. +- `coolify_skill/`: skill local para operar Coolify, Docker en LXC `102` y API + de Coolify sin guardar secretos. +- `docs/proxmox-inventory.md`: inventario verificado y notas de arquitectura. +- `docs/runbooks/`: procedimientos concretos para conexion, diagnostico y Coolify. +- `docs/runbooks/nextcloud.md`: recuperacion y fix HTTPS para Nextcloud. +- `docs/runbooks/baserow.md`: puesta en vivo de Baserow y fix red/Traefik. +- `scripts/`: wrappers PowerShell para SSH, API e inventario. +- `PROXMOX/`, `proxmox-agent/`, `proxmox-skill/`: carpetas legacy que ahora apuntan a la documentacion viva. + +## Configuracion local + +Los secretos no viven en el repo. Usa variables de entorno o un archivo privado +ignorado por Git, por ejemplo `.env.local.ps1`. + +Plantilla: + +```powershell +.\scripts\Set-ProxmoxEnv.example.ps1 +``` + +Prueba de conexion: + +```powershell +.\scripts\Test-ProxmoxConnection.ps1 +``` + +Inventario rapido: + +```powershell +.\scripts\Get-ProxmoxInventory.ps1 +``` + +Comando SSH puntual: + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct list" +``` + +## Reglas de operacion + +- Primero diagnostico de solo lectura. +- Cambios destructivos requieren confirmacion explicita: borrar, reiniciar, + apagar, editar red, mover discos, actualizar paquetes o modificar servicios. +- Preferir scripts del repo antes que comandos manuales largos. +- No registrar tokens, passwords ni claves privadas en Markdown. diff --git a/agent/SKILL.md b/agent/SKILL.md new file mode 100644 index 0000000..c8d1a8c --- /dev/null +++ b/agent/SKILL.md @@ -0,0 +1,45 @@ +# Proxmox Manager Agent + +Use this project-local skill when helping manage the local Proxmox host. + +## Scope + +- Host: `192.168.0.200` +- Node: `thinkcentre` +- Main Docker LXC: `102` (`coolify`) +- Secondary LXC currently observed: `100` (`hermes`) +- Access methods: SSH first, Proxmox REST API when token env vars are present. + +## Startup routine + +1. Read `README.md`, `docs/proxmox-inventory.md`, and the relevant runbook. +2. Run `.\scripts\Test-ProxmoxConnection.ps1` before operational work. +3. For fresh state, run `.\scripts\Get-ProxmoxInventory.ps1`. +4. Prefer `.\scripts\Invoke-ProxmoxSsh.ps1 -Command ""` for remote commands. + +## Safety policy + +- Default to read-only diagnostics. +- Ask for explicit confirmation before any command that can stop, restart, delete, + resize, update, create privileged access, change firewall/network/storage, or edit + production configuration. +- Never place passwords, API token secrets, private keys, cookies, or tickets in docs. +- Do not run broad destructive commands from generated strings. +- For risky actions, gather current state first and state rollback options. + +## Safe read-only commands + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "hostname && pveversion" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct list && qm list" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pvesh get /cluster/resources" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker stats --no-stream" +``` + +## Common workflows + +- Host health: run inventory, then inspect disk, memory, load, failed services. +- LXC health: inspect `pct status `, config, resources, logs if relevant. +- Coolify/Docker: operate through `pct exec 102 -- docker ...`. +- API checks: use `Invoke-ProxmoxApi` from `scripts/ProxmoxAgent.ps1` after env token is loaded. diff --git a/agent/TOOLS.md b/agent/TOOLS.md new file mode 100644 index 0000000..8efa68e --- /dev/null +++ b/agent/TOOLS.md @@ -0,0 +1,48 @@ +# Tooling + +All commands assume PowerShell from the project root. + +## Environment + +```powershell +. .\.env.local.ps1 +``` + +If no private env file is loaded, SSH still uses the local defaults from +`scripts/ProxmoxAgent.ps1`. API calls require token env vars. + +## Smoke test + +```powershell +.\scripts\Test-ProxmoxConnection.ps1 +``` + +## Inventory + +```powershell +.\scripts\Get-ProxmoxInventory.ps1 +``` + +## SSH wrapper + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct list" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "qm list" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps -a" +``` + +## API from a PowerShell session + +```powershell +. .\scripts\ProxmoxAgent.ps1 +Invoke-ProxmoxApi -Path "/version" +Invoke-ProxmoxApi -Path "/nodes" +Invoke-ProxmoxApi -Path "/cluster/resources" +``` + +## Commands that require confirmation + +- `pct start`, `pct shutdown`, `pct reboot`, `pct stop`, `pct destroy` +- `qm start`, `qm shutdown`, `qm reboot`, `qm stop`, `qm destroy` +- `docker restart`, `docker stop`, `docker rm`, `docker compose up/down` +- package updates, firewall edits, network edits, storage edits diff --git a/coolify_skill/SKILL.md b/coolify_skill/SKILL.md new file mode 100644 index 0000000..1ea91ad --- /dev/null +++ b/coolify_skill/SKILL.md @@ -0,0 +1,87 @@ +--- +name: coolify-agent +description: Operate the local self-hosted Coolify stack for this Proxmox and Coolify Manager project. Use when Codex needs to inspect Coolify, Docker containers inside LXC 102, applications, services, databases, deployments, logs, environment variables, or Coolify API resources on the local infrastructure. +--- + +# Coolify Agent + +Use this project-local skill for Coolify work in this repository. Keep actions +grounded in the local Proxmox topology and prefer read-only diagnostics before +changing production state. + +## Startup Routine + +1. Read `README.md`, `docs/proxmox-inventory.md`, and + `docs/runbooks/coolify-docker.md`. +2. For app-specific work, also read the matching runbook, for example + `docs/runbooks/nextcloud.md`. +3. Run `.\scripts\Test-ProxmoxConnection.ps1` before operational work. +4. Discover current state before acting: + `.\coolify_skill\scripts\Get-CoolifyDockerStatus.ps1 -All`. +5. Use the Coolify API only when `COOLIFY_TOKEN` is loaded in the shell. + +## Local Context + +- Proxmox host: `192.168.0.200`. +- Docker host: LXC `102` named `coolify`. +- Docker is not managed directly on Proxmox; use + `pct exec 102 -- docker ...` through `.\scripts\Invoke-ProxmoxSsh.ps1`. +- Default Coolify API base URL: + `https://coolify.urieljareth.org/api/v1`. +- Secrets must live in local environment files or the OS secret store, never in + Markdown or skill references. + +## Safety Policy + +- Default to read-only commands: list, inspect, logs, status, health checks. +- Ask for explicit confirmation before `POST`, `PUT`, `PATCH`, `DELETE`, deploy, + restart, stop, remove, compose up/down, environment writes, key/token changes, + or edits to production config. +- Do not print tokens, passwords, private keys, cookies, or full env dumps. +- For database issues, verify connectivity without echoing credentials. +- For risky changes, capture current state and state the rollback path first. + +## Tooling + +- Read `TOOLS.md` for command patterns. +- Use `scripts/Invoke-CoolifyApi.ps1` for Coolify API calls from PowerShell. +- Use `scripts/Get-CoolifyDockerStatus.ps1` for container status through Proxmox. +- The original Bash API helper remains at `scripts/coolify.sh` for Linux/WSL + sessions, but PowerShell helpers are preferred in this repo. + +## API References + +Load detailed API docs only when needed: + +- `references/api-index.md`: how to find endpoint docs. +- `references/API.md`: compiled high-level API notes. +- `references/endpoints_compiled.json`: machine-readable endpoint index. +- `references/ops/*.md`: per-operation docs. + +Use `rg` to find the relevant operation instead of loading the whole reference +tree. + +## Common Workflows + +Health check: + +1. Run Proxmox smoke test. +2. Run Docker status snapshot. +3. If API token is loaded, call `/version`, `/projects`, `/servers`, and + relevant resource list endpoints. +4. Inspect container logs only for the affected service. + +Deployment investigation: + +1. Identify whether the target is an application, service, or database. +2. List resources through the API if possible. +3. Inspect Docker containers and recent deployment logs. +4. Recommend or perform deploy/restart only after confirmation. + +Database/connectivity issue: + +1. Confirm the database container is running and healthy. +2. Check service DNS from the app container with `getent hosts `. +3. Test TCP/auth using existing app config without printing passwords. +4. Fix hostnames to Docker service names, not `localhost`, when containers are + siblings on the same Docker network. diff --git a/coolify_skill/TOOLS.md b/coolify_skill/TOOLS.md new file mode 100644 index 0000000..e19c5dc --- /dev/null +++ b/coolify_skill/TOOLS.md @@ -0,0 +1,73 @@ +# Coolify Tooling + +All commands assume PowerShell from the project root. + +## Environment + +Load private values from an ignored local file: + +```powershell +. .\.env.local.ps1 +``` + +Expected variables: + +```powershell +$env:COOLIFY_API_URL = "https://coolify.urieljareth.org/api/v1" +$env:COOLIFY_TOKEN = "REPLACE_WITH_TOKEN" +``` + +## Read-Only Diagnostics + +```powershell +.\scripts\Test-ProxmoxConnection.ps1 +.\coolify_skill\scripts\Get-CoolifyDockerStatus.ps1 -All +.\coolify_skill\scripts\Get-CoolifyDockerStatus.ps1 -Filter "coolify|cloudflared|nextcloud|postgres|redis" +``` + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker stats --no-stream" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker network ls" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker volume ls" +``` + +## Logs And Inspect + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker logs --tail 100" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker inspect " +``` + +## Coolify API + +```powershell +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/version" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/projects" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/servers" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/applications" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/services" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/databases" +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Path "/deployments" +``` + +For write calls, prepare the JSON body first and ask for confirmation: + +```powershell +$body = @{ name = "example" } | ConvertTo-Json -Depth 20 +.\coolify_skill\scripts\Invoke-CoolifyApi.ps1 -Method POST -Path "/projects" -BodyJson $body +``` + +## API Reference Search + +```powershell +rg -n "applications|deploy|database|environment" .\coolify_skill\references +Get-Content .\coolify_skill\references\ops\list-applications.md +Get-Content .\coolify_skill\references\ops\deploy-by-tag-or-uuid.md +``` + +## Commands That Require Confirmation + +- Coolify deploys and API writes: `POST`, `PUT`, `PATCH`, `DELETE`. +- Docker lifecycle: `restart`, `stop`, `rm`, `compose up`, `compose down`. +- Environment variable writes or full env exports. +- Key, token, SSH, domain, proxy, server, network, or volume changes. diff --git a/coolify_skill/agents/openai.yaml b/coolify_skill/agents/openai.yaml new file mode 100644 index 0000000..ee1dcef --- /dev/null +++ b/coolify_skill/agents/openai.yaml @@ -0,0 +1,7 @@ +interface: + display_name: "Coolify Agent" + short_description: "Operate local Coolify through Proxmox" + default_prompt: "Use $coolify-agent to inspect the local Coolify stack and recommend the next safe action." + +policy: + allow_implicit_invocation: true diff --git a/coolify_skill/references/API.md b/coolify_skill/references/API.md new file mode 100644 index 0000000..cca0df6 --- /dev/null +++ b/coolify_skill/references/API.md @@ -0,0 +1,706 @@ +# Coolify API Reference + +> Generated from 107 operation pages + +## Table of Contents +- [Applications](#applications) +- [Databases](#databases) +- [Deployments](#deployments) +- [Environments](#environments) +- [GitHub](#github) +- [Other](#other) +- [Projects](#projects) +- [Security](#security) +- [Servers](#servers) +- [Services](#services) +- [Teams](#teams) + +--- + +## Applications + +### create-dockercompose-application +- **Method:** POST +- **Path:** `/api/v1/applications/dockercompose` +- **Description:** Deprecated: Use POST /api/v1/services instead. application/json +- **Category:** Applications + +### create-dockerfile-application +- **Method:** POST +- **Path:** `/api/v1/applications/dockerfile` +- **Description:** Create new application based on a simple Dockerfile (without git). application/json +- **Category:** Applications + +### create-dockerimage-application +- **Method:** POST +- **Path:** `/api/v1/applications/dockerimage` +- **Description:** Create new application based on a prebuilt docker image (without git). application/json +- **Category:** Applications + +### create-env-by-application-uuid +- **Method:** POST +- **Path:** `/api/v1/applications/{uuid}/envs` +- **Description:** Create env by application UUID. UUID of the application. +- **Category:** Applications + +### create-private-deploy-key-application +- **Method:** POST +- **Path:** `/api/v1/applications/private-deploy-key` +- **Description:** Create new application based on a private repository through a Deploy Key. application/json +- **Category:** Applications + +### create-private-github-app-application +- **Method:** POST +- **Path:** `/api/v1/applications/private-github-app` +- **Description:** Create new application based on a private repository through a Github App. application/json +- **Category:** Applications + +### create-public-application +- **Method:** POST +- **Path:** `/api/v1/applications/public` +- **Description:** Create new application based on a public git repository. application/json +- **Category:** Applications + +### delete-application-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/applications/{uuid}` +- **Description:** Delete application by UUID. UUID of the application. +- **Category:** Applications + +### delete-env-by-application-uuid +- **Method:** DELETE +- **Path:** `/api/v1/applications/{uuid}/envs/{env_uuid}` +- **Description:** Delete env by UUID. UUID of the application. +- **Category:** Applications + +### get-application-by-uuid +- **Method:** GET +- **Path:** `/api/v1/applications/{uuid}` +- **Description:** Get application by UUID. UUID of the application. +- **Category:** Applications + +### get-application-logs-by-uuid +- **Method:** GET +- **Path:** `/api/v1/applications/{uuid}/logs` +- **Description:** Get application logs by UUID. UUID of the application. +- **Category:** Applications + +### list-applications +- **Method:** GET +- **Path:** `/api/v1/applications` +- **Description:** List all applications. Filter applications by tag name. +- **Category:** Applications + +### list-deployments-by-app-uuid +- **Method:** GET +- **Path:** `/api/v1/deployments/applications/{uuid}` +- **Description:** List application deployments by using the app uuid UUID of the application. +- **Category:** Applications + +### list-envs-by-application-uuid +- **Method:** GET +- **Path:** `/api/v1/applications/{uuid}/envs` +- **Description:** List all envs by application UUID. UUID of the application. +- **Category:** Applications + +### restart-application-by-uuid +- **Method:** GET +- **Path:** `/api/v1/applications/{uuid}/restart` +- **Description:** Restart application. `Post` request is also accepted. UUID of the application. +- **Category:** Applications + +### start-application-by-uuid +- **Method:** GET +- **Path:** `/api/v1/applications/{uuid}/start` +- **Description:** Start application. `Post` request is also accepted. UUID of the application. +- **Category:** Applications + +### stop-application-by-uuid +- **Method:** GET +- **Path:** `/api/v1/applications/{uuid}/stop` +- **Description:** Stop application. `Post` request is also accepted. UUID of the application. +- **Category:** Applications + +### update-application-by-uuid +- **Method:** PATCH +- **Path:** `/api/v1/applications/{uuid}` +- **Description:** Update application by UUID. UUID of the application. +- **Category:** Applications + +### update-env-by-application-uuid +- **Method:** PATCH +- **Path:** `/api/v1/applications/{uuid}/envs` +- **Description:** Update env by application UUID. UUID of the application. +- **Category:** Applications + +### update-envs-by-application-uuid +- **Method:** PATCH +- **Path:** `/api/v1/applications/{uuid}/envs/bulk` +- **Description:** Update multiple envs by application UUID. UUID of the application. +- **Category:** Applications + +--- + +## Databases + +### create-database-backup +- **Method:** POST +- **Path:** `/api/v1/databases/{uuid}/backups` +- **Description:** Create a new scheduled backup configuration for a database UUID of the database. +- **Category:** Databases + +### create-database-clickhouse +- **Method:** POST +- **Path:** `/api/v1/databases/clickhouse` +- **Description:** Create a new Clickhouse database. application/json +- **Category:** Databases + +### create-database-dragonfly +- **Method:** POST +- **Path:** `/api/v1/databases/dragonfly` +- **Description:** Create a new DragonFly database. application/json +- **Category:** Databases + +### create-database-keydb +- **Method:** POST +- **Path:** `/api/v1/databases/keydb` +- **Description:** Create a new KeyDB database. application/json +- **Category:** Databases + +### create-database-mariadb +- **Method:** POST +- **Path:** `/api/v1/databases/mariadb` +- **Description:** Create a new MariaDB database. application/json +- **Category:** Databases + +### create-database-mongodb +- **Method:** POST +- **Path:** `/api/v1/databases/mongodb` +- **Description:** Create a new MongoDB database. application/json +- **Category:** Databases + +### create-database-mysql +- **Method:** POST +- **Path:** `/api/v1/databases/mysql` +- **Description:** Create a new MySQL database. application/json +- **Category:** Databases + +### create-database-postgresql +- **Method:** POST +- **Path:** `/api/v1/databases/postgresql` +- **Description:** Create a new PostgreSQL database. application/json +- **Category:** Databases + +### create-database-redis +- **Method:** POST +- **Path:** `/api/v1/databases/redis` +- **Description:** Create a new Redis database. application/json +- **Category:** Databases + +### delete-backup-configuration-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/databases/{uuid}/backups/{scheduled_backup_uuid}` +- **Description:** Deletes a backup configuration and all its executions. UUID of the database +- **Category:** Databases + +### delete-backup-execution-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}` +- **Description:** Deletes a specific backup execution. UUID of the database +- **Category:** Databases + +### delete-database-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/databases/{uuid}` +- **Description:** Delete database by UUID. UUID of the database. +- **Category:** Databases + +### get-database-backups-by-uuid +- **Method:** GET +- **Path:** `/api/v1/databases/{uuid}/backups` +- **Description:** Get backups details by database UUID. UUID of the database. +- **Category:** Databases + +### get-database-by-uuid +- **Method:** GET +- **Path:** `/api/v1/databases/{uuid}` +- **Description:** Get database by UUID. UUID of the database. +- **Category:** Databases + +### list-backup-executions +- **Method:** GET +- **Path:** `/api/v1/databases/{uuid}/backups/{scheduled_backup_uuid}/executions` +- **Description:** Get all executions for a specific backup configuration. UUID of the database +- **Category:** Databases + +### list-databases +- **Method:** GET +- **Path:** `/api/v1/databases` +- **Description:** List all databases. Get all databases +- **Category:** Databases + +### restart-database-by-uuid +- **Method:** GET +- **Path:** `/api/v1/databases/{uuid}/restart` +- **Description:** Restart database. `Post` request is also accepted. UUID of the database. +- **Category:** Databases + +### start-database-by-uuid +- **Method:** GET +- **Path:** `/api/v1/databases/{uuid}/start` +- **Description:** Start database. `Post` request is also accepted. UUID of the database. +- **Category:** Databases + +### stop-database-by-uuid +- **Method:** GET +- **Path:** `/api/v1/databases/{uuid}/stop` +- **Description:** Stop database. `Post` request is also accepted. UUID of the database. +- **Category:** Databases + +### update-database-backup +- **Method:** PATCH +- **Path:** `/api/v1/databases/{uuid}/backups/{scheduled_backup_uuid}` +- **Description:** Update a specific backup configuration for a given database, identified by its UUID and the backup ID UUID of the database. +- **Category:** Databases + +### update-database-by-uuid +- **Method:** PATCH +- **Path:** `/api/v1/databases/{uuid}` +- **Description:** Update database by UUID. UUID of the database. +- **Category:** Databases + +--- + +## Deployments + +### cancel-deployment-by-uuid +- **Method:** POST +- **Path:** `/api/v1/deployments/{uuid}/cancel` +- **Description:** Cancel a deployment by UUID. Deployment cancelled successfully. +- **Category:** Deployments + +### deploy-by-tag-or-uuid +- **Method:** GET +- **Path:** `/api/v1/deploy` +- **Description:** Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body. Tag name(s). Comma separated list is also accepted. +- **Category:** Deployments + +### get-deployment-by-uuid +- **Method:** GET +- **Path:** `/api/v1/deployments/{uuid}` +- **Description:** Get deployment by UUID. Get deployment by UUID. +- **Category:** Deployments + +### list-deployments +- **Method:** GET +- **Path:** `/api/v1/deployments` +- **Description:** List currently running deployments Get all currently running deployments. +- **Category:** Deployments + +--- + +## Environments + +### create-environment +- **Method:** POST +- **Path:** `/api/v1/projects/{uuid}/environments` +- **Description:** Create environment in project. application/json +- **Category:** Environments + +### delete-environment +- **Method:** DELETE +- **Path:** `/api/v1/projects/{uuid}/environments/{environment_name_or_uuid}` +- **Description:** Delete environment by name or UUID. Environment must be empty. environment_name_or_uuid* +- **Category:** Environments + +### get-environment-by-name-or-uuid +- **Method:** GET +- **Path:** `/api/v1/projects/{uuid}/{environment_name_or_uuid}` +- **Description:** Get environment by name or UUID. environment_name_or_uuid* +- **Category:** Environments + +### get-environments +- **Method:** GET +- **Path:** `/api/v1/projects/{uuid}/environments` +- **Description:** List all environments in a project. List of environments +- **Category:** Environments + +--- + +## GitHub + +### create-github-app +- **Method:** POST +- **Path:** `/api/v1/github-apps` +- **Description:** Create a new GitHub app. application/json +- **Category:** GitHub + +### deleteGithubApp +- **Method:** DELETE +- **Path:** `/api/v1/github-apps/{github_app_id}` +- **Description:** Delete a GitHub app if it's not being used by any applications. github_app_id* +- **Category:** GitHub + +### list-github-apps +- **Method:** GET +- **Path:** `/api/v1/github-apps` +- **Description:** List all GitHub apps. List of GitHub apps. +- **Category:** GitHub + +### load-branches +- **Method:** GET +- **Path:** `/api/v1/github-apps/{github_app_id}/repositories/{owner}/{repo}/branches` +- **Description:** Fetch branches from GitHub for a given repository. github_app_id* +- **Category:** GitHub + +### load-repositories +- **Method:** GET +- **Path:** `/api/v1/github-apps/{github_app_id}/repositories` +- **Description:** Fetch repositories from GitHub for a given GitHub app. github_app_id* +- **Category:** GitHub + +### updateGithubApp +- **Method:** PATCH +- **Path:** `/api/v1/github-apps/{github_app_id}` +- **Description:** Update an existing GitHub app. github_app_id* +- **Category:** GitHub + +--- + +## Other + +### healthcheck +- **Method:** GET +- **Path:** `/api/v1/health` +- **Description:** Healthcheck endpoint. Healthcheck endpoint. +- **Category:** Other + +### version +- **Method:** GET +- **Path:** `/api/v1/version` +- **Description:** Get Coolify version. Returns the version of the application +- **Category:** Other + +--- + +## Projects + +### create-project +- **Method:** POST +- **Path:** `/api/v1/projects` +- **Description:** application/json "name": "string", +- **Category:** Projects + +### delete-project-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/projects/{uuid}` +- **Description:** Delete project by UUID. UUID of the application. +- **Category:** Projects + +### get-project-by-uuid +- **Method:** GET +- **Path:** `/api/v1/projects/{uuid}` +- **Description:** Get project by UUID. application/json +- **Category:** Projects + +### list-projects +- **Method:** GET +- **Path:** `/api/v1/projects` +- **Description:** Get all projects. application/json +- **Category:** Projects + +### update-project-by-uuid +- **Method:** PATCH +- **Path:** `/api/v1/projects/{uuid}` +- **Description:** UUID of the project. application/json +- **Category:** Projects + +--- + +## Security + +### create-cloud-token +- **Method:** POST +- **Path:** `/api/v1/cloud-tokens` +- **Description:** Create a new cloud provider token. The token will be validated before being stored. application/json +- **Category:** Security + +### create-private-key +- **Method:** POST +- **Path:** `/api/v1/security/keys` +- **Description:** Create a new private key. application/json +- **Category:** Security + +### delete-cloud-token-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/cloud-tokens/{uuid}` +- **Description:** Delete cloud provider token by UUID. Cannot delete if token is used by any servers. UUID of the cloud provider token. +- **Category:** Security + +### delete-private-key-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/security/keys/{uuid}` +- **Description:** Delete a private key. Private Key UUID +- **Category:** Security + +### disable-api +- **Method:** GET +- **Path:** `/api/v1/disable` +- **Description:** Disable API (only with root permissions). application/json +- **Category:** Security + +### enable-api +- **Method:** GET +- **Path:** `/api/v1/enable` +- **Description:** Enable API (only with root permissions). application/json +- **Category:** Security + +### get-cloud-token-by-uuid +- **Method:** GET +- **Path:** `/api/v1/cloud-tokens/{uuid}` +- **Description:** Get cloud provider token by UUID. Get cloud provider token by UUID +- **Category:** Security + +### get-private-key-by-uuid +- **Method:** GET +- **Path:** `/api/v1/security/keys/{uuid}` +- **Description:** Get key by UUID. Private Key UUID +- **Category:** Security + +### list-cloud-tokens +- **Method:** GET +- **Path:** `/api/v1/cloud-tokens` +- **Description:** List all cloud provider tokens for the authenticated team. Get all cloud provider tokens. +- **Category:** Security + +### list-private-keys +- **Method:** GET +- **Path:** `/api/v1/security/keys` +- **Description:** List all private keys. Get all private keys. +- **Category:** Security + +### update-cloud-token-by-uuid +- **Method:** PATCH +- **Path:** `/api/v1/cloud-tokens/{uuid}` +- **Description:** Update cloud provider token name. application/json +- **Category:** Security + +### update-private-key +- **Method:** PATCH +- **Path:** `/api/v1/security/keys` +- **Description:** Update a private key. application/json +- **Category:** Security + +### validate-cloud-token-by-uuid +- **Method:** POST +- **Path:** `/api/v1/cloud-tokens/{uuid}/validate` +- **Description:** Validate a cloud provider token against the provider API. Token validation result. +- **Category:** Security + +--- + +## Servers + +### create-hetzner-server +- **Method:** POST +- **Path:** `/api/v1/servers/hetzner` +- **Description:** Create a new server on Hetzner and register it in Coolify. application/json +- **Category:** Servers + +### create-server +- **Method:** POST +- **Path:** `/api/v1/servers` +- **Description:** application/json "name": "My Server", +- **Category:** Servers + +### delete-server-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/servers/{uuid}` +- **Description:** Delete server by UUID. UUID of the server. +- **Category:** Servers + +### get-domains-by-server-uuid +- **Method:** GET +- **Path:** `/api/v1/servers/{uuid}/domains` +- **Description:** Get domains by server. Get domains by server +- **Category:** Servers + +### get-hetzner-images +- **Method:** GET +- **Path:** `/api/v1/hetzner/images` +- **Description:** Get all available Hetzner system images (operating systems). cloud_provider_token_uuid +- **Category:** Servers + +### get-hetzner-locations +- **Method:** GET +- **Path:** `/api/v1/hetzner/locations` +- **Description:** Get all available Hetzner datacenter locations. cloud_provider_token_uuid +- **Category:** Servers + +### get-hetzner-server-types +- **Method:** GET +- **Path:** `/api/v1/hetzner/server-types` +- **Description:** Get all available Hetzner server types (instance sizes). cloud_provider_token_uuid +- **Category:** Servers + +### get-hetzner-ssh-keys +- **Method:** GET +- **Path:** `/api/v1/hetzner/ssh-keys` +- **Description:** Get all SSH keys stored in the Hetzner account. cloud_provider_token_uuid +- **Category:** Servers + +### get-resources-by-server-uuid +- **Method:** GET +- **Path:** `/api/v1/servers/{uuid}/resources` +- **Description:** Get resources by server. Get resources by server +- **Category:** Servers + +### get-server-by-uuid +- **Method:** GET +- **Path:** `/api/v1/servers/{uuid}` +- **Description:** Get server by UUID. Get server by UUID +- **Category:** Servers + +### list-resources +- **Method:** GET +- **Path:** `/api/v1/resources` +- **Description:** Get all resources. Get all resources +- **Category:** Servers + +### list-servers +- **Method:** GET +- **Path:** `/api/v1/servers` +- **Description:** List all servers. Get all servers. +- **Category:** Servers + +### update-server-by-uuid +- **Method:** PATCH +- **Path:** `/api/v1/servers/{uuid}` +- **Description:** application/json "name": "string", +- **Category:** Servers + +### validate-server-by-uuid +- **Method:** GET +- **Path:** `/api/v1/servers/{uuid}/validate` +- **Description:** Validate server by UUID. Server validation started. +- **Category:** Servers + +--- + +## Services + +### create-env-by-service-uuid +- **Method:** POST +- **Path:** `/api/v1/services/{uuid}/envs` +- **Description:** Create env by service UUID. UUID of the service. +- **Category:** Services + +### create-service +- **Method:** POST +- **Path:** `/api/v1/services` +- **Description:** Create a one-click / custom service application/json +- **Category:** Services + +### delete-env-by-service-uuid +- **Method:** DELETE +- **Path:** `/api/v1/services/{uuid}/envs/{env_uuid}` +- **Description:** Delete env by UUID. UUID of the service. +- **Category:** Services + +### delete-service-by-uuid +- **Method:** DELETE +- **Path:** `/api/v1/services/{uuid}` +- **Description:** Delete service by UUID. delete_configurations +- **Category:** Services + +### get-service-by-uuid +- **Method:** GET +- **Path:** `/api/v1/services/{uuid}` +- **Description:** Get service by UUID. Get a service by UUID. +- **Category:** Services + +### list-envs-by-service-uuid +- **Method:** GET +- **Path:** `/api/v1/services/{uuid}/envs` +- **Description:** List all envs by service UUID. UUID of the service. +- **Category:** Services + +### list-services +- **Method:** GET +- **Path:** `/api/v1/services` +- **Description:** List all services. Get all services +- **Category:** Services + +### restart-service-by-uuid +- **Method:** GET +- **Path:** `/api/v1/services/{uuid}/restart` +- **Description:** Restart service. `Post` request is also accepted. UUID of the service. +- **Category:** Services + +### start-service-by-uuid +- **Method:** GET +- **Path:** `/api/v1/services/{uuid}/start` +- **Description:** Start service. `Post` request is also accepted. UUID of the service. +- **Category:** Services + +### stop-service-by-uuid +- **Method:** GET +- **Path:** `/api/v1/services/{uuid}/stop` +- **Description:** Stop service. `Post` request is also accepted. UUID of the service. +- **Category:** Services + +### update-env-by-service-uuid +- **Method:** PATCH +- **Path:** `/api/v1/services/{uuid}/envs` +- **Description:** Update env by service UUID. UUID of the service. +- **Category:** Services + +### update-envs-by-service-uuid +- **Method:** PATCH +- **Path:** `/api/v1/services/{uuid}/envs/bulk` +- **Description:** Update multiple envs by service UUID. UUID of the service. +- **Category:** Services + +### update-service-by-uuid +- **Method:** PATCH +- **Path:** `/api/v1/services/{uuid}` +- **Description:** Update service by UUID. UUID of the service. +- **Category:** Services + +--- + +## Teams + +### get-current-team +- **Method:** GET +- **Path:** `/api/v1/teams/current` +- **Description:** Get currently authenticated team. application/json +- **Category:** Teams + +### get-current-team-members +- **Method:** GET +- **Path:** `/api/v1/teams/current/members` +- **Description:** Get currently authenticated team members. Currently authenticated team members. +- **Category:** Teams + +### get-members-by-team-id +- **Method:** GET +- **Path:** `/api/v1/teams/{id}/members` +- **Description:** Get members by TeamId. List of members. +- **Category:** Teams + +### get-team-by-id +- **Method:** GET +- **Path:** `/api/v1/teams/{id}` +- **Description:** Get team by TeamId. application/json +- **Category:** Teams + +### list-teams +- **Method:** GET +- **Path:** `/api/v1/teams` +- **Description:** application/json "name": "string", +- **Category:** Teams + +--- + +*Generated: 2026-04-15T21:32:31.984Z | Total: 107 endpoints | 11 categories* diff --git a/coolify_skill/references/api-index.md b/coolify_skill/references/api-index.md new file mode 100644 index 0000000..d9e4017 --- /dev/null +++ b/coolify_skill/references/api-index.md @@ -0,0 +1,41 @@ +# Coolify API Index + +Use this file to find detailed API references without loading the full API +corpus. + +## Main Files + +- `API.md`: compiled overview from the Coolify API docs. +- `endpoints_compiled.json`: machine-readable endpoint inventory. +- `ops/*.md`: one Markdown file per operation. + +## Search Patterns + +```powershell +rg -n '"method"|"path"|applications|services|databases|deployments' .\coolify_skill\references\endpoints_compiled.json +rg -n "List|Create|Update|Delete|Deploy|Start|Stop|Restart" .\coolify_skill\references\ops +``` + +## Common Operation Files + +- `ops/version.md` +- `ops/healthcheck.md` +- `ops/list-applications.md` +- `ops/get-application-by-uuid.md` +- `ops/get-application-logs-by-uuid.md` +- `ops/deploy-by-tag-or-uuid.md` +- `ops/list-services.md` +- `ops/get-service-by-uuid.md` +- `ops/list-databases.md` +- `ops/get-database-by-uuid.md` +- `ops/list-deployments.md` +- `ops/list-deployments-by-app-uuid.md` +- `ops/list-projects.md` +- `ops/list-servers.md` +- `ops/list-envs-by-application-uuid.md` +- `ops/update-env-by-application-uuid.md` + +## Rule + +For write operations, read the specific `ops/*.md` file before sending the API +request and ask the user for confirmation. diff --git a/coolify_skill/references/endpoints_compiled.json b/coolify_skill/references/endpoints_compiled.json new file mode 100644 index 0000000..a51d966 --- /dev/null +++ b/coolify_skill/references/endpoints_compiled.json @@ -0,0 +1,1528 @@ +{ + "generated_at": "2026-04-15T21:32:31.984Z", + "total_endpoints": 107, + "categories": { + "Applications": [ + { + "id": "create-dockercompose-application", + "method": "POST", + "path": "/applications/dockercompose", + "description": "Deprecated: Use POST /api/v1/services instead. application/json", + "category": "Applications" + }, + { + "id": "create-dockerfile-application", + "method": "POST", + "path": "/applications/dockerfile", + "description": "Create new application based on a simple Dockerfile (without git). application/json", + "category": "Applications" + }, + { + "id": "create-dockerimage-application", + "method": "POST", + "path": "/applications/dockerimage", + "description": "Create new application based on a prebuilt docker image (without git). application/json", + "category": "Applications" + }, + { + "id": "create-env-by-application-uuid", + "method": "POST", + "path": "/applications/{uuid}/envs", + "description": "Create env by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "create-private-deploy-key-application", + "method": "POST", + "path": "/applications/private-deploy-key", + "description": "Create new application based on a private repository through a Deploy Key. application/json", + "category": "Applications" + }, + { + "id": "create-private-github-app-application", + "method": "POST", + "path": "/applications/private-github-app", + "description": "Create new application based on a private repository through a Github App. application/json", + "category": "Applications" + }, + { + "id": "create-public-application", + "method": "POST", + "path": "/applications/public", + "description": "Create new application based on a public git repository. application/json", + "category": "Applications" + }, + { + "id": "delete-application-by-uuid", + "method": "DELETE", + "path": "/applications/{uuid}", + "description": "Delete application by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "delete-env-by-application-uuid", + "method": "DELETE", + "path": "/applications/{uuid}/envs/{env\\_uuid}", + "description": "Delete env by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "get-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}", + "description": "Get application by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "get-application-logs-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/logs", + "description": "Get application logs by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "list-applications", + "method": "GET", + "path": "/applications", + "description": "List all applications. Filter applications by tag name.", + "category": "Applications" + }, + { + "id": "list-deployments-by-app-uuid", + "method": "GET", + "path": "/deployments/applications/{uuid}", + "description": "List application deployments by using the app uuid UUID of the application.", + "category": "Applications" + }, + { + "id": "list-envs-by-application-uuid", + "method": "GET", + "path": "/applications/{uuid}/envs", + "description": "List all envs by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "restart-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/restart", + "description": "Restart application. `Post` request is also accepted. UUID of the application.", + "category": "Applications" + }, + { + "id": "start-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/start", + "description": "Start application. `Post` request is also accepted. UUID of the application.", + "category": "Applications" + }, + { + "id": "stop-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/stop", + "description": "Stop application. `Post` request is also accepted. UUID of the application.", + "category": "Applications" + }, + { + "id": "update-application-by-uuid", + "method": "PATCH", + "path": "/applications/{uuid}", + "description": "Update application by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "update-env-by-application-uuid", + "method": "PATCH", + "path": "/applications/{uuid}/envs", + "description": "Update env by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "update-envs-by-application-uuid", + "method": "PATCH", + "path": "/applications/{uuid}/envs/bulk", + "description": "Update multiple envs by application UUID. UUID of the application.", + "category": "Applications" + } + ], + "Databases": [ + { + "id": "create-database-backup", + "method": "POST", + "path": "/databases/{uuid}/backups", + "description": "Create a new scheduled backup configuration for a database UUID of the database.", + "category": "Databases" + }, + { + "id": "create-database-clickhouse", + "method": "POST", + "path": "/databases/clickhouse", + "description": "Create a new Clickhouse database. application/json", + "category": "Databases" + }, + { + "id": "create-database-dragonfly", + "method": "POST", + "path": "/databases/dragonfly", + "description": "Create a new DragonFly database. application/json", + "category": "Databases" + }, + { + "id": "create-database-keydb", + "method": "POST", + "path": "/databases/keydb", + "description": "Create a new KeyDB database. application/json", + "category": "Databases" + }, + { + "id": "create-database-mariadb", + "method": "POST", + "path": "/databases/mariadb", + "description": "Create a new MariaDB database. application/json", + "category": "Databases" + }, + { + "id": "create-database-mongodb", + "method": "POST", + "path": "/databases/mongodb", + "description": "Create a new MongoDB database. application/json", + "category": "Databases" + }, + { + "id": "create-database-mysql", + "method": "POST", + "path": "/databases/mysql", + "description": "Create a new MySQL database. application/json", + "category": "Databases" + }, + { + "id": "create-database-postgresql", + "method": "POST", + "path": "/databases/postgresql", + "description": "Create a new PostgreSQL database. application/json", + "category": "Databases" + }, + { + "id": "create-database-redis", + "method": "POST", + "path": "/databases/redis", + "description": "Create a new Redis database. application/json", + "category": "Databases" + }, + { + "id": "delete-backup-configuration-by-uuid", + "method": "DELETE", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}", + "description": "Deletes a backup configuration and all its executions. UUID of the database", + "category": "Databases" + }, + { + "id": "delete-backup-execution-by-uuid", + "method": "DELETE", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}/executions/{execution\\_uuid}", + "description": "Deletes a specific backup execution. UUID of the database", + "category": "Databases" + }, + { + "id": "delete-database-by-uuid", + "method": "DELETE", + "path": "/databases/{uuid}", + "description": "Delete database by UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "get-database-backups-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/backups", + "description": "Get backups details by database UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "get-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}", + "description": "Get database by UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "list-backup-executions", + "method": "GET", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}/executions", + "description": "Get all executions for a specific backup configuration. UUID of the database", + "category": "Databases" + }, + { + "id": "list-databases", + "method": "GET", + "path": "/databases", + "description": "List all databases. Get all databases", + "category": "Databases" + }, + { + "id": "restart-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/restart", + "description": "Restart database. `Post` request is also accepted. UUID of the database.", + "category": "Databases" + }, + { + "id": "start-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/start", + "description": "Start database. `Post` request is also accepted. UUID of the database.", + "category": "Databases" + }, + { + "id": "stop-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/stop", + "description": "Stop database. `Post` request is also accepted. UUID of the database.", + "category": "Databases" + }, + { + "id": "update-database-backup", + "method": "PATCH", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}", + "description": "Update a specific backup configuration for a given database, identified by its UUID and the backup ID UUID of the database.", + "category": "Databases" + }, + { + "id": "update-database-by-uuid", + "method": "PATCH", + "path": "/databases/{uuid}", + "description": "Update database by UUID. UUID of the database.", + "category": "Databases" + } + ], + "Deployments": [ + { + "id": "cancel-deployment-by-uuid", + "method": "POST", + "path": "/deployments/{uuid}/cancel", + "description": "Cancel a deployment by UUID. Deployment cancelled successfully.", + "category": "Deployments" + }, + { + "id": "deploy-by-tag-or-uuid", + "method": "GET", + "path": "/deploy", + "description": "Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body. Tag name(s). Comma separated list is also accepted.", + "category": "Deployments" + }, + { + "id": "get-deployment-by-uuid", + "method": "GET", + "path": "/deployments/{uuid}", + "description": "Get deployment by UUID. Get deployment by UUID.", + "category": "Deployments" + }, + { + "id": "list-deployments", + "method": "GET", + "path": "/deployments", + "description": "List currently running deployments Get all currently running deployments.", + "category": "Deployments" + } + ], + "Environments": [ + { + "id": "create-environment", + "method": "POST", + "path": "/projects/{uuid}/environments", + "description": "Create environment in project. application/json", + "category": "Environments" + }, + { + "id": "delete-environment", + "method": "DELETE", + "path": "/projects/{uuid}/environments/{environment\\_name\\_or\\_uuid}", + "description": "Delete environment by name or UUID. Environment must be empty. environment\\_name\\_or\\_uuid\\*", + "category": "Environments" + }, + { + "id": "get-environment-by-name-or-uuid", + "method": "GET", + "path": "/projects/{uuid}/{environment\\_name\\_or\\_uuid}", + "description": "Get environment by name or UUID. environment\\_name\\_or\\_uuid\\*", + "category": "Environments" + }, + { + "id": "get-environments", + "method": "GET", + "path": "/projects/{uuid}/environments", + "description": "List all environments in a project. List of environments", + "category": "Environments" + } + ], + "GitHub": [ + { + "id": "create-github-app", + "method": "POST", + "path": "/github-apps", + "description": "Create a new GitHub app. application/json", + "category": "GitHub" + }, + { + "id": "deleteGithubApp", + "method": "DELETE", + "path": "/github-apps/{github\\_app\\_id}", + "description": "Delete a GitHub app if it's not being used by any applications. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "list-github-apps", + "method": "GET", + "path": "/github-apps", + "description": "List all GitHub apps. List of GitHub apps.", + "category": "GitHub" + }, + { + "id": "load-branches", + "method": "GET", + "path": "/github-apps/{github\\_app\\_id}/repositories/{owner}/{repo}/branches", + "description": "Fetch branches from GitHub for a given repository. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "load-repositories", + "method": "GET", + "path": "/github-apps/{github\\_app\\_id}/repositories", + "description": "Fetch repositories from GitHub for a given GitHub app. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "updateGithubApp", + "method": "PATCH", + "path": "/github-apps/{github\\_app\\_id}", + "description": "Update an existing GitHub app. github\\_app\\_id\\*", + "category": "GitHub" + } + ], + "Other": [ + { + "id": "healthcheck", + "method": "GET", + "path": "/health", + "description": "Healthcheck endpoint. Healthcheck endpoint.", + "category": "Other" + }, + { + "id": "version", + "method": "GET", + "path": "/version", + "description": "Get Coolify version. Returns the version of the application", + "category": "Other" + } + ], + "Projects": [ + { + "id": "create-project", + "method": "POST", + "path": "/projects", + "description": "application/json \"name\": \"string\",", + "category": "Projects" + }, + { + "id": "delete-project-by-uuid", + "method": "DELETE", + "path": "/projects/{uuid}", + "description": "Delete project by UUID. UUID of the application.", + "category": "Projects" + }, + { + "id": "get-project-by-uuid", + "method": "GET", + "path": "/projects/{uuid}", + "description": "Get project by UUID. application/json", + "category": "Projects" + }, + { + "id": "list-projects", + "method": "GET", + "path": "/projects", + "description": "Get all projects. application/json", + "category": "Projects" + }, + { + "id": "update-project-by-uuid", + "method": "PATCH", + "path": "/projects/{uuid}", + "description": "UUID of the project. application/json", + "category": "Projects" + } + ], + "Security": [ + { + "id": "create-cloud-token", + "method": "POST", + "path": "/cloud-tokens", + "description": "Create a new cloud provider token. The token will be validated before being stored. application/json", + "category": "Security" + }, + { + "id": "create-private-key", + "method": "POST", + "path": "/security/keys", + "description": "Create a new private key. application/json", + "category": "Security" + }, + { + "id": "delete-cloud-token-by-uuid", + "method": "DELETE", + "path": "/cloud-tokens/{uuid}", + "description": "Delete cloud provider token by UUID. Cannot delete if token is used by any servers. UUID of the cloud provider token.", + "category": "Security" + }, + { + "id": "delete-private-key-by-uuid", + "method": "DELETE", + "path": "/security/keys/{uuid}", + "description": "Delete a private key. Private Key UUID", + "category": "Security" + }, + { + "id": "disable-api", + "method": "GET", + "path": "/disable", + "description": "Disable API (only with root permissions). application/json", + "category": "Security" + }, + { + "id": "enable-api", + "method": "GET", + "path": "/enable", + "description": "Enable API (only with root permissions). application/json", + "category": "Security" + }, + { + "id": "get-cloud-token-by-uuid", + "method": "GET", + "path": "/cloud-tokens/{uuid}", + "description": "Get cloud provider token by UUID. Get cloud provider token by UUID", + "category": "Security" + }, + { + "id": "get-private-key-by-uuid", + "method": "GET", + "path": "/security/keys/{uuid}", + "description": "Get key by UUID. Private Key UUID", + "category": "Security" + }, + { + "id": "list-cloud-tokens", + "method": "GET", + "path": "/cloud-tokens", + "description": "List all cloud provider tokens for the authenticated team. Get all cloud provider tokens.", + "category": "Security" + }, + { + "id": "list-private-keys", + "method": "GET", + "path": "/security/keys", + "description": "List all private keys. Get all private keys.", + "category": "Security" + }, + { + "id": "update-cloud-token-by-uuid", + "method": "PATCH", + "path": "/cloud-tokens/{uuid}", + "description": "Update cloud provider token name. application/json", + "category": "Security" + }, + { + "id": "update-private-key", + "method": "PATCH", + "path": "/security/keys", + "description": "Update a private key. application/json", + "category": "Security" + }, + { + "id": "validate-cloud-token-by-uuid", + "method": "POST", + "path": "/cloud-tokens/{uuid}/validate", + "description": "Validate a cloud provider token against the provider API. Token validation result.", + "category": "Security" + } + ], + "Servers": [ + { + "id": "create-hetzner-server", + "method": "POST", + "path": "/servers/hetzner", + "description": "Create a new server on Hetzner and register it in Coolify. application/json", + "category": "Servers" + }, + { + "id": "create-server", + "method": "POST", + "path": "/servers", + "description": "application/json \"name\": \"My Server\",", + "category": "Servers" + }, + { + "id": "delete-server-by-uuid", + "method": "DELETE", + "path": "/servers/{uuid}", + "description": "Delete server by UUID. UUID of the server.", + "category": "Servers" + }, + { + "id": "get-domains-by-server-uuid", + "method": "GET", + "path": "/servers/{uuid}/domains", + "description": "Get domains by server. Get domains by server", + "category": "Servers" + }, + { + "id": "get-hetzner-images", + "method": "GET", + "path": "/hetzner/images", + "description": "Get all available Hetzner system images (operating systems). cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-hetzner-locations", + "method": "GET", + "path": "/hetzner/locations", + "description": "Get all available Hetzner datacenter locations. cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-hetzner-server-types", + "method": "GET", + "path": "/hetzner/server-types", + "description": "Get all available Hetzner server types (instance sizes). cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-hetzner-ssh-keys", + "method": "GET", + "path": "/hetzner/ssh-keys", + "description": "Get all SSH keys stored in the Hetzner account. cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-resources-by-server-uuid", + "method": "GET", + "path": "/servers/{uuid}/resources", + "description": "Get resources by server. Get resources by server", + "category": "Servers" + }, + { + "id": "get-server-by-uuid", + "method": "GET", + "path": "/servers/{uuid}", + "description": "Get server by UUID. Get server by UUID", + "category": "Servers" + }, + { + "id": "list-resources", + "method": "GET", + "path": "/resources", + "description": "Get all resources. Get all resources", + "category": "Servers" + }, + { + "id": "list-servers", + "method": "GET", + "path": "/servers", + "description": "List all servers. Get all servers.", + "category": "Servers" + }, + { + "id": "update-server-by-uuid", + "method": "PATCH", + "path": "/servers/{uuid}", + "description": "application/json \"name\": \"string\",", + "category": "Servers" + }, + { + "id": "validate-server-by-uuid", + "method": "GET", + "path": "/servers/{uuid}/validate", + "description": "Validate server by UUID. Server validation started.", + "category": "Servers" + } + ], + "Services": [ + { + "id": "create-env-by-service-uuid", + "method": "POST", + "path": "/services/{uuid}/envs", + "description": "Create env by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "create-service", + "method": "POST", + "path": "/services", + "description": "Create a one-click / custom service application/json", + "category": "Services" + }, + { + "id": "delete-env-by-service-uuid", + "method": "DELETE", + "path": "/services/{uuid}/envs/{env\\_uuid}", + "description": "Delete env by UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "delete-service-by-uuid", + "method": "DELETE", + "path": "/services/{uuid}", + "description": "Delete service by UUID. delete\\_configurations", + "category": "Services" + }, + { + "id": "get-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}", + "description": "Get service by UUID. Get a service by UUID.", + "category": "Services" + }, + { + "id": "list-envs-by-service-uuid", + "method": "GET", + "path": "/services/{uuid}/envs", + "description": "List all envs by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "list-services", + "method": "GET", + "path": "/services", + "description": "List all services. Get all services", + "category": "Services" + }, + { + "id": "restart-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}/restart", + "description": "Restart service. `Post` request is also accepted. UUID of the service.", + "category": "Services" + }, + { + "id": "start-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}/start", + "description": "Start service. `Post` request is also accepted. UUID of the service.", + "category": "Services" + }, + { + "id": "stop-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}/stop", + "description": "Stop service. `Post` request is also accepted. UUID of the service.", + "category": "Services" + }, + { + "id": "update-env-by-service-uuid", + "method": "PATCH", + "path": "/services/{uuid}/envs", + "description": "Update env by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "update-envs-by-service-uuid", + "method": "PATCH", + "path": "/services/{uuid}/envs/bulk", + "description": "Update multiple envs by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "update-service-by-uuid", + "method": "PATCH", + "path": "/services/{uuid}", + "description": "Update service by UUID. UUID of the service.", + "category": "Services" + } + ], + "Teams": [ + { + "id": "get-current-team-members", + "method": "GET", + "path": "/teams/current/members", + "description": "Get currently authenticated team members. Currently authenticated team members.", + "category": "Teams" + }, + { + "id": "get-current-team", + "method": "GET", + "path": "/teams/current", + "description": "Get currently authenticated team. application/json", + "category": "Teams" + }, + { + "id": "get-members-by-team-id", + "method": "GET", + "path": "/teams/{id}/members", + "description": "Get members by TeamId. List of members.", + "category": "Teams" + }, + { + "id": "get-team-by-id", + "method": "GET", + "path": "/teams/{id}", + "description": "Get team by TeamId. application/json", + "category": "Teams" + }, + { + "id": "list-teams", + "method": "GET", + "path": "/teams", + "description": "application/json \"name\": \"string\",\\", + "category": "Teams" + } + ] + }, + "endpoints": [ + { + "id": "cancel-deployment-by-uuid", + "method": "POST", + "path": "/deployments/{uuid}/cancel", + "description": "Cancel a deployment by UUID. Deployment cancelled successfully.", + "category": "Deployments" + }, + { + "id": "create-cloud-token", + "method": "POST", + "path": "/cloud-tokens", + "description": "Create a new cloud provider token. The token will be validated before being stored. application/json", + "category": "Security" + }, + { + "id": "create-database-backup", + "method": "POST", + "path": "/databases/{uuid}/backups", + "description": "Create a new scheduled backup configuration for a database UUID of the database.", + "category": "Databases" + }, + { + "id": "create-database-clickhouse", + "method": "POST", + "path": "/databases/clickhouse", + "description": "Create a new Clickhouse database. application/json", + "category": "Databases" + }, + { + "id": "create-database-dragonfly", + "method": "POST", + "path": "/databases/dragonfly", + "description": "Create a new DragonFly database. application/json", + "category": "Databases" + }, + { + "id": "create-database-keydb", + "method": "POST", + "path": "/databases/keydb", + "description": "Create a new KeyDB database. application/json", + "category": "Databases" + }, + { + "id": "create-database-mariadb", + "method": "POST", + "path": "/databases/mariadb", + "description": "Create a new MariaDB database. application/json", + "category": "Databases" + }, + { + "id": "create-database-mongodb", + "method": "POST", + "path": "/databases/mongodb", + "description": "Create a new MongoDB database. application/json", + "category": "Databases" + }, + { + "id": "create-database-mysql", + "method": "POST", + "path": "/databases/mysql", + "description": "Create a new MySQL database. application/json", + "category": "Databases" + }, + { + "id": "create-database-postgresql", + "method": "POST", + "path": "/databases/postgresql", + "description": "Create a new PostgreSQL database. application/json", + "category": "Databases" + }, + { + "id": "create-database-redis", + "method": "POST", + "path": "/databases/redis", + "description": "Create a new Redis database. application/json", + "category": "Databases" + }, + { + "id": "create-dockercompose-application", + "method": "POST", + "path": "/applications/dockercompose", + "description": "Deprecated: Use POST /api/v1/services instead. application/json", + "category": "Applications" + }, + { + "id": "create-dockerfile-application", + "method": "POST", + "path": "/applications/dockerfile", + "description": "Create new application based on a simple Dockerfile (without git). application/json", + "category": "Applications" + }, + { + "id": "create-dockerimage-application", + "method": "POST", + "path": "/applications/dockerimage", + "description": "Create new application based on a prebuilt docker image (without git). application/json", + "category": "Applications" + }, + { + "id": "create-env-by-application-uuid", + "method": "POST", + "path": "/applications/{uuid}/envs", + "description": "Create env by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "create-env-by-service-uuid", + "method": "POST", + "path": "/services/{uuid}/envs", + "description": "Create env by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "create-environment", + "method": "POST", + "path": "/projects/{uuid}/environments", + "description": "Create environment in project. application/json", + "category": "Environments" + }, + { + "id": "create-github-app", + "method": "POST", + "path": "/github-apps", + "description": "Create a new GitHub app. application/json", + "category": "GitHub" + }, + { + "id": "create-hetzner-server", + "method": "POST", + "path": "/servers/hetzner", + "description": "Create a new server on Hetzner and register it in Coolify. application/json", + "category": "Servers" + }, + { + "id": "create-private-deploy-key-application", + "method": "POST", + "path": "/applications/private-deploy-key", + "description": "Create new application based on a private repository through a Deploy Key. application/json", + "category": "Applications" + }, + { + "id": "create-private-github-app-application", + "method": "POST", + "path": "/applications/private-github-app", + "description": "Create new application based on a private repository through a Github App. application/json", + "category": "Applications" + }, + { + "id": "create-private-key", + "method": "POST", + "path": "/security/keys", + "description": "Create a new private key. application/json", + "category": "Security" + }, + { + "id": "create-project", + "method": "POST", + "path": "/projects", + "description": "application/json \"name\": \"string\",", + "category": "Projects" + }, + { + "id": "create-public-application", + "method": "POST", + "path": "/applications/public", + "description": "Create new application based on a public git repository. application/json", + "category": "Applications" + }, + { + "id": "create-server", + "method": "POST", + "path": "/servers", + "description": "application/json \"name\": \"My Server\",", + "category": "Servers" + }, + { + "id": "create-service", + "method": "POST", + "path": "/services", + "description": "Create a one-click / custom service application/json", + "category": "Services" + }, + { + "id": "delete-application-by-uuid", + "method": "DELETE", + "path": "/applications/{uuid}", + "description": "Delete application by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "delete-backup-configuration-by-uuid", + "method": "DELETE", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}", + "description": "Deletes a backup configuration and all its executions. UUID of the database", + "category": "Databases" + }, + { + "id": "delete-backup-execution-by-uuid", + "method": "DELETE", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}/executions/{execution\\_uuid}", + "description": "Deletes a specific backup execution. UUID of the database", + "category": "Databases" + }, + { + "id": "delete-cloud-token-by-uuid", + "method": "DELETE", + "path": "/cloud-tokens/{uuid}", + "description": "Delete cloud provider token by UUID. Cannot delete if token is used by any servers. UUID of the cloud provider token.", + "category": "Security" + }, + { + "id": "delete-database-by-uuid", + "method": "DELETE", + "path": "/databases/{uuid}", + "description": "Delete database by UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "delete-env-by-application-uuid", + "method": "DELETE", + "path": "/applications/{uuid}/envs/{env\\_uuid}", + "description": "Delete env by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "delete-env-by-service-uuid", + "method": "DELETE", + "path": "/services/{uuid}/envs/{env\\_uuid}", + "description": "Delete env by UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "delete-environment", + "method": "DELETE", + "path": "/projects/{uuid}/environments/{environment\\_name\\_or\\_uuid}", + "description": "Delete environment by name or UUID. Environment must be empty. environment\\_name\\_or\\_uuid\\*", + "category": "Environments" + }, + { + "id": "delete-private-key-by-uuid", + "method": "DELETE", + "path": "/security/keys/{uuid}", + "description": "Delete a private key. Private Key UUID", + "category": "Security" + }, + { + "id": "delete-project-by-uuid", + "method": "DELETE", + "path": "/projects/{uuid}", + "description": "Delete project by UUID. UUID of the application.", + "category": "Projects" + }, + { + "id": "delete-server-by-uuid", + "method": "DELETE", + "path": "/servers/{uuid}", + "description": "Delete server by UUID. UUID of the server.", + "category": "Servers" + }, + { + "id": "delete-service-by-uuid", + "method": "DELETE", + "path": "/services/{uuid}", + "description": "Delete service by UUID. delete\\_configurations", + "category": "Services" + }, + { + "id": "deleteGithubApp", + "method": "DELETE", + "path": "/github-apps/{github\\_app\\_id}", + "description": "Delete a GitHub app if it's not being used by any applications. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "deploy-by-tag-or-uuid", + "method": "GET", + "path": "/deploy", + "description": "Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body. Tag name(s). Comma separated list is also accepted.", + "category": "Deployments" + }, + { + "id": "disable-api", + "method": "GET", + "path": "/disable", + "description": "Disable API (only with root permissions). application/json", + "category": "Security" + }, + { + "id": "enable-api", + "method": "GET", + "path": "/enable", + "description": "Enable API (only with root permissions). application/json", + "category": "Security" + }, + { + "id": "get-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}", + "description": "Get application by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "get-application-logs-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/logs", + "description": "Get application logs by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "get-cloud-token-by-uuid", + "method": "GET", + "path": "/cloud-tokens/{uuid}", + "description": "Get cloud provider token by UUID. Get cloud provider token by UUID", + "category": "Security" + }, + { + "id": "get-current-team-members", + "method": "GET", + "path": "/teams/current/members", + "description": "Get currently authenticated team members. Currently authenticated team members.", + "category": "Teams" + }, + { + "id": "get-current-team", + "method": "GET", + "path": "/teams/current", + "description": "Get currently authenticated team. application/json", + "category": "Teams" + }, + { + "id": "get-database-backups-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/backups", + "description": "Get backups details by database UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "get-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}", + "description": "Get database by UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "get-deployment-by-uuid", + "method": "GET", + "path": "/deployments/{uuid}", + "description": "Get deployment by UUID. Get deployment by UUID.", + "category": "Deployments" + }, + { + "id": "get-domains-by-server-uuid", + "method": "GET", + "path": "/servers/{uuid}/domains", + "description": "Get domains by server. Get domains by server", + "category": "Servers" + }, + { + "id": "get-environment-by-name-or-uuid", + "method": "GET", + "path": "/projects/{uuid}/{environment\\_name\\_or\\_uuid}", + "description": "Get environment by name or UUID. environment\\_name\\_or\\_uuid\\*", + "category": "Environments" + }, + { + "id": "get-environments", + "method": "GET", + "path": "/projects/{uuid}/environments", + "description": "List all environments in a project. List of environments", + "category": "Environments" + }, + { + "id": "get-hetzner-images", + "method": "GET", + "path": "/hetzner/images", + "description": "Get all available Hetzner system images (operating systems). cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-hetzner-locations", + "method": "GET", + "path": "/hetzner/locations", + "description": "Get all available Hetzner datacenter locations. cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-hetzner-server-types", + "method": "GET", + "path": "/hetzner/server-types", + "description": "Get all available Hetzner server types (instance sizes). cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-hetzner-ssh-keys", + "method": "GET", + "path": "/hetzner/ssh-keys", + "description": "Get all SSH keys stored in the Hetzner account. cloud\\_provider\\_token\\_uuid", + "category": "Servers" + }, + { + "id": "get-members-by-team-id", + "method": "GET", + "path": "/teams/{id}/members", + "description": "Get members by TeamId. List of members.", + "category": "Teams" + }, + { + "id": "get-private-key-by-uuid", + "method": "GET", + "path": "/security/keys/{uuid}", + "description": "Get key by UUID. Private Key UUID", + "category": "Security" + }, + { + "id": "get-project-by-uuid", + "method": "GET", + "path": "/projects/{uuid}", + "description": "Get project by UUID. application/json", + "category": "Projects" + }, + { + "id": "get-resources-by-server-uuid", + "method": "GET", + "path": "/servers/{uuid}/resources", + "description": "Get resources by server. Get resources by server", + "category": "Servers" + }, + { + "id": "get-server-by-uuid", + "method": "GET", + "path": "/servers/{uuid}", + "description": "Get server by UUID. Get server by UUID", + "category": "Servers" + }, + { + "id": "get-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}", + "description": "Get service by UUID. Get a service by UUID.", + "category": "Services" + }, + { + "id": "get-team-by-id", + "method": "GET", + "path": "/teams/{id}", + "description": "Get team by TeamId. application/json", + "category": "Teams" + }, + { + "id": "healthcheck", + "method": "GET", + "path": "/health", + "description": "Healthcheck endpoint. Healthcheck endpoint.", + "category": "Other" + }, + { + "id": "list-applications", + "method": "GET", + "path": "/applications", + "description": "List all applications. Filter applications by tag name.", + "category": "Applications" + }, + { + "id": "list-backup-executions", + "method": "GET", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}/executions", + "description": "Get all executions for a specific backup configuration. UUID of the database", + "category": "Databases" + }, + { + "id": "list-cloud-tokens", + "method": "GET", + "path": "/cloud-tokens", + "description": "List all cloud provider tokens for the authenticated team. Get all cloud provider tokens.", + "category": "Security" + }, + { + "id": "list-databases", + "method": "GET", + "path": "/databases", + "description": "List all databases. Get all databases", + "category": "Databases" + }, + { + "id": "list-deployments-by-app-uuid", + "method": "GET", + "path": "/deployments/applications/{uuid}", + "description": "List application deployments by using the app uuid UUID of the application.", + "category": "Applications" + }, + { + "id": "list-deployments", + "method": "GET", + "path": "/deployments", + "description": "List currently running deployments Get all currently running deployments.", + "category": "Deployments" + }, + { + "id": "list-envs-by-application-uuid", + "method": "GET", + "path": "/applications/{uuid}/envs", + "description": "List all envs by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "list-envs-by-service-uuid", + "method": "GET", + "path": "/services/{uuid}/envs", + "description": "List all envs by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "list-github-apps", + "method": "GET", + "path": "/github-apps", + "description": "List all GitHub apps. List of GitHub apps.", + "category": "GitHub" + }, + { + "id": "list-private-keys", + "method": "GET", + "path": "/security/keys", + "description": "List all private keys. Get all private keys.", + "category": "Security" + }, + { + "id": "list-projects", + "method": "GET", + "path": "/projects", + "description": "Get all projects. application/json", + "category": "Projects" + }, + { + "id": "list-resources", + "method": "GET", + "path": "/resources", + "description": "Get all resources. Get all resources", + "category": "Servers" + }, + { + "id": "list-servers", + "method": "GET", + "path": "/servers", + "description": "List all servers. Get all servers.", + "category": "Servers" + }, + { + "id": "list-services", + "method": "GET", + "path": "/services", + "description": "List all services. Get all services", + "category": "Services" + }, + { + "id": "list-teams", + "method": "GET", + "path": "/teams", + "description": "application/json \"name\": \"string\",\\", + "category": "Teams" + }, + { + "id": "load-branches", + "method": "GET", + "path": "/github-apps/{github\\_app\\_id}/repositories/{owner}/{repo}/branches", + "description": "Fetch branches from GitHub for a given repository. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "load-repositories", + "method": "GET", + "path": "/github-apps/{github\\_app\\_id}/repositories", + "description": "Fetch repositories from GitHub for a given GitHub app. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "restart-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/restart", + "description": "Restart application. `Post` request is also accepted. UUID of the application.", + "category": "Applications" + }, + { + "id": "restart-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/restart", + "description": "Restart database. `Post` request is also accepted. UUID of the database.", + "category": "Databases" + }, + { + "id": "restart-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}/restart", + "description": "Restart service. `Post` request is also accepted. UUID of the service.", + "category": "Services" + }, + { + "id": "start-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/start", + "description": "Start application. `Post` request is also accepted. UUID of the application.", + "category": "Applications" + }, + { + "id": "start-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/start", + "description": "Start database. `Post` request is also accepted. UUID of the database.", + "category": "Databases" + }, + { + "id": "start-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}/start", + "description": "Start service. `Post` request is also accepted. UUID of the service.", + "category": "Services" + }, + { + "id": "stop-application-by-uuid", + "method": "GET", + "path": "/applications/{uuid}/stop", + "description": "Stop application. `Post` request is also accepted. UUID of the application.", + "category": "Applications" + }, + { + "id": "stop-database-by-uuid", + "method": "GET", + "path": "/databases/{uuid}/stop", + "description": "Stop database. `Post` request is also accepted. UUID of the database.", + "category": "Databases" + }, + { + "id": "stop-service-by-uuid", + "method": "GET", + "path": "/services/{uuid}/stop", + "description": "Stop service. `Post` request is also accepted. UUID of the service.", + "category": "Services" + }, + { + "id": "update-application-by-uuid", + "method": "PATCH", + "path": "/applications/{uuid}", + "description": "Update application by UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "update-cloud-token-by-uuid", + "method": "PATCH", + "path": "/cloud-tokens/{uuid}", + "description": "Update cloud provider token name. application/json", + "category": "Security" + }, + { + "id": "update-database-backup", + "method": "PATCH", + "path": "/databases/{uuid}/backups/{scheduled\\_backup\\_uuid}", + "description": "Update a specific backup configuration for a given database, identified by its UUID and the backup ID UUID of the database.", + "category": "Databases" + }, + { + "id": "update-database-by-uuid", + "method": "PATCH", + "path": "/databases/{uuid}", + "description": "Update database by UUID. UUID of the database.", + "category": "Databases" + }, + { + "id": "update-env-by-application-uuid", + "method": "PATCH", + "path": "/applications/{uuid}/envs", + "description": "Update env by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "update-env-by-service-uuid", + "method": "PATCH", + "path": "/services/{uuid}/envs", + "description": "Update env by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "update-envs-by-application-uuid", + "method": "PATCH", + "path": "/applications/{uuid}/envs/bulk", + "description": "Update multiple envs by application UUID. UUID of the application.", + "category": "Applications" + }, + { + "id": "update-envs-by-service-uuid", + "method": "PATCH", + "path": "/services/{uuid}/envs/bulk", + "description": "Update multiple envs by service UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "update-private-key", + "method": "PATCH", + "path": "/security/keys", + "description": "Update a private key. application/json", + "category": "Security" + }, + { + "id": "update-project-by-uuid", + "method": "PATCH", + "path": "/projects/{uuid}", + "description": "UUID of the project. application/json", + "category": "Projects" + }, + { + "id": "update-server-by-uuid", + "method": "PATCH", + "path": "/servers/{uuid}", + "description": "application/json \"name\": \"string\",", + "category": "Servers" + }, + { + "id": "update-service-by-uuid", + "method": "PATCH", + "path": "/services/{uuid}", + "description": "Update service by UUID. UUID of the service.", + "category": "Services" + }, + { + "id": "updateGithubApp", + "method": "PATCH", + "path": "/github-apps/{github\\_app\\_id}", + "description": "Update an existing GitHub app. github\\_app\\_id\\*", + "category": "GitHub" + }, + { + "id": "validate-cloud-token-by-uuid", + "method": "POST", + "path": "/cloud-tokens/{uuid}/validate", + "description": "Validate a cloud provider token against the provider API. Token validation result.", + "category": "Security" + }, + { + "id": "validate-server-by-uuid", + "method": "GET", + "path": "/servers/{uuid}/validate", + "description": "Validate server by UUID. Server validation started.", + "category": "Servers" + }, + { + "id": "version", + "method": "GET", + "path": "/version", + "description": "Get Coolify version. Returns the version of the application", + "category": "Other" + } + ] +} \ No newline at end of file diff --git a/coolify_skill/references/ops/cancel-deployment-by-uuid.md b/coolify_skill/references/ops/cancel-deployment-by-uuid.md new file mode 100644 index 0000000..5505499 --- /dev/null +++ b/coolify_skill/references/ops/cancel-deployment-by-uuid.md @@ -0,0 +1,95 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#VPContent) + +Return to top + +Cancel[​](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#cancel) + +================================================================================================= + +POST + +/deployments/{uuid}/cancel + +Cancel a deployment by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#parameters) + +--------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Deployment UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#responses) + +------------------------------------------------------------------------------------------------------- + +200400401403404 + +Deployment cancelled successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Deployment cancelled successfully.", + +"deployment\_uuid": "cm37r6cqj000008jm0veg5tkm", + +"status": "cancelled-by-user" + +} + +POST + +/deployments/{uuid}/cancel + +Playground[​](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#playground) + +--------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/cancel-deployment-by-uuid#samples) + +--------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-cloud-token.md b/coolify_skill/references/ops/create-cloud-token.md new file mode 100644 index 0000000..c2b83e2 --- /dev/null +++ b/coolify_skill/references/ops/create-cloud-token.md @@ -0,0 +1,89 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#VPContent) + +Return to top + +Create Cloud Provider Token[​](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#create-cloud-provider-token) + +==================================================================================================================================== + +POST + +/cloud-tokens + +Create a new cloud provider token. The token will be validated before being stored. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#request-body) + +------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"provider": "hetzner", + +"token": "your-api-token-here", + +"name": "My Hetzner Token" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#responses) + +------------------------------------------------------------------------------------------------ + +201400401422 + +Cloud provider token created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "og888os" + +} + +POST + +/cloud-tokens + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-cloud-token#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-backup.md b/coolify_skill/references/ops/create-database-backup.md new file mode 100644 index 0000000..1e8b363 --- /dev/null +++ b/coolify_skill/references/ops/create-database-backup.md @@ -0,0 +1,137 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-backup#VPContent) + +Return to top + +Create Backup[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#create-backup) + +============================================================================================================ + +POST + +/databases/{uuid}/backups + +Create a new scheduled backup configuration for a database + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#request-body) + +---------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"frequency": "string", + +"enabled": true, + +"save\_s3": false, + +"s3\_storage\_uuid": "string", + +"databases\_to\_backup": "string", + +"dump\_all": false, + +"backup\_now": true, + +"database\_backup\_retention\_amount\_locally": 0, + +"database\_backup\_retention\_days\_locally": 0, + +"database\_backup\_retention\_max\_storage\_locally": 0, + +"database\_backup\_retention\_amount\_s3": 0, + +"database\_backup\_retention\_days\_s3": 0, + +"database\_backup\_retention\_max\_storage\_s3": 0, + +"timeout": 3600 + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#responses) + +---------------------------------------------------------------------------------------------------- + +201400401404422 + +Backup configuration created successfully + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "550e8400-e29b-41d4-a716-446655440000", + +"message": "Backup configuration created successfully." + +} + +POST + +/databases/{uuid}/backups + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-backup#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-clickhouse.md b/coolify_skill/references/ops/create-database-clickhouse.md new file mode 100644 index 0000000..187e0bb --- /dev/null +++ b/coolify_skill/references/ops/create-database-clickhouse.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#VPContent) + +Return to top + +Create (Clickhouse)[​](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#create-clickhouse) + +========================================================================================================================== + +POST + +/databases/clickhouse + +Create a new Clickhouse database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#request-body) + +-------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"clickhouse\_admin\_user": "string", + +"clickhouse\_admin\_password": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/clickhouse + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-clickhouse#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-dragonfly.md b/coolify_skill/references/ops/create-database-dragonfly.md new file mode 100644 index 0000000..0d25d6e --- /dev/null +++ b/coolify_skill/references/ops/create-database-dragonfly.md @@ -0,0 +1,109 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#VPContent) + +Return to top + +Create (DragonFly)[​](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#create-dragonfly) + +======================================================================================================================= + +POST + +/databases/dragonfly + +Create a new DragonFly database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#authorizations) + +----------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#request-body) + +------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"dragonfly\_password": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#responses) + +------------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/dragonfly + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#playground) + +--------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-dragonfly#samples) + +--------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-keydb.md b/coolify_skill/references/ops/create-database-keydb.md new file mode 100644 index 0000000..c5dbdab --- /dev/null +++ b/coolify_skill/references/ops/create-database-keydb.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#VPContent) + +Return to top + +Create (KeyDB)[​](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#create-keydb) + +=========================================================================================================== + +POST + +/databases/keydb + +Create a new KeyDB database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#request-body) + +--------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"keydb\_password": "string", + +"keydb\_conf": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#responses) + +--------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/keydb + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-keydb#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-mariadb.md b/coolify_skill/references/ops/create-database-mariadb.md new file mode 100644 index 0000000..64700d3 --- /dev/null +++ b/coolify_skill/references/ops/create-database-mariadb.md @@ -0,0 +1,117 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#VPContent) + +Return to top + +Create (MariaDB)[​](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#create-mariadb) + +================================================================================================================= + +POST + +/databases/mariadb + +Create a new MariaDB database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#request-body) + +----------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"mariadb\_conf": "string", + +"mariadb\_root\_password": "string", + +"mariadb\_user": "string", + +"mariadb\_password": "string", + +"mariadb\_database": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#responses) + +----------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/mariadb + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-mariadb#samples) + +------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-mongodb.md b/coolify_skill/references/ops/create-database-mongodb.md new file mode 100644 index 0000000..1839d2d --- /dev/null +++ b/coolify_skill/references/ops/create-database-mongodb.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#VPContent) + +Return to top + +Create (MongoDB)[​](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#create-mongodb) + +================================================================================================================= + +POST + +/databases/mongodb + +Create a new MongoDB database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#request-body) + +----------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"mongo\_conf": "string", + +"mongo\_initdb\_root\_username": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#responses) + +----------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/mongodb + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-mongodb#samples) + +------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-mysql.md b/coolify_skill/references/ops/create-database-mysql.md new file mode 100644 index 0000000..37348b0 --- /dev/null +++ b/coolify_skill/references/ops/create-database-mysql.md @@ -0,0 +1,117 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#VPContent) + +Return to top + +Create (MySQL)[​](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#create-mysql) + +=========================================================================================================== + +POST + +/databases/mysql + +Create a new MySQL database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#request-body) + +--------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"mysql\_root\_password": "string", + +"mysql\_password": "string", + +"mysql\_user": "string", + +"mysql\_database": "string", + +"mysql\_conf": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#responses) + +--------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/mysql + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-mysql#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-postgresql.md b/coolify_skill/references/ops/create-database-postgresql.md new file mode 100644 index 0000000..fdc8908 --- /dev/null +++ b/coolify_skill/references/ops/create-database-postgresql.md @@ -0,0 +1,119 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#VPContent) + +Return to top + +Create (PostgreSQL)[​](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#create-postgresql) + +========================================================================================================================== + +POST + +/databases/postgresql + +Create a new PostgreSQL database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#request-body) + +-------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"postgres\_user": "string", + +"postgres\_password": "string", + +"postgres\_db": "string", + +"postgres\_initdb\_args": "string", + +"postgres\_host\_auth\_method": "string", + +"postgres\_conf": "string", + +"destination\_uuid": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/postgresql + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-postgresql#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-database-redis.md b/coolify_skill/references/ops/create-database-redis.md new file mode 100644 index 0000000..c5aba3e --- /dev/null +++ b/coolify_skill/references/ops/create-database-redis.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-database-redis#VPContent) + +Return to top + +Create (Redis)[​](https://coolify.io/docs/api-reference/api/operations/create-database-redis#create-redis) + +=========================================================================================================== + +POST + +/databases/redis + +Create a new Redis database. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-database-redis#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-database-redis#request-body) + +--------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"server\_uuid": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"destination\_uuid": "string", + +"redis\_password": "string", + +"redis\_conf": "string", + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"instant\_deploy": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-database-redis#responses) + +--------------------------------------------------------------------------------------------------- + +200400401422 + +Database updated + +POST + +/databases/redis + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-database-redis#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-database-redis#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-dockercompose-application.md b/coolify_skill/references/ops/create-dockercompose-application.md new file mode 100644 index 0000000..9672044 --- /dev/null +++ b/coolify_skill/references/ops/create-dockercompose-application.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#VPContent) + +Return to top + +Deprecated + +Create (Docker Compose)[​](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#create-docker-compose) + +======================================================================================================================================== + +POST + +/applications/dockercompose + +Deprecated: Use POST /api/v1/services instead. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#authorizations) + +------------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#request-body) + +-------------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"docker\_compose\_raw": "string", + +"destination\_uuid": "string", + +"name": "string", + +"description": "string", + +"instant\_deploy": true, + +"use\_build\_server": true, + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"is\_container\_label\_escape\_enabled": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#responses) + +-------------------------------------------------------------------------------------------------------------- + +201400401409 + +Application created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/applications/dockercompose + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#playground) + +---------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-dockercompose-application#samples) + +---------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-dockerfile-application.md b/coolify_skill/references/ops/create-dockerfile-application.md new file mode 100644 index 0000000..734ba99 --- /dev/null +++ b/coolify_skill/references/ops/create-dockerfile-application.md @@ -0,0 +1,193 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#VPContent) + +Return to top + +Create (Dockerfile without git)[​](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#create-dockerfile-without-git) + +===================================================================================================================================================== + +POST + +/applications/dockerfile + +Create new application based on a simple Dockerfile (without git). + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#authorizations) + +--------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#request-body) + +----------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"dockerfile": "string", + +"build\_pack": "string", + +"ports\_exposes": "string", + +"destination\_uuid": "string", + +"name": "string", + +"description": "string", + +"domains": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"ports\_mappings": "string", + +"base\_directory": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"custom\_labels": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"redirect": "string", + +"instant\_deploy": true, + +"is\_force\_https\_enabled": true, + +"use\_build\_server": true, + +"is\_http\_basic\_auth\_enabled": true, + +"http\_basic\_auth\_username": "string", + +"http\_basic\_auth\_password": "string", + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"autogenerate\_domain": true, + +"is\_container\_label\_escape\_enabled": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#responses) + +----------------------------------------------------------------------------------------------------------- + +201400401409 + +Application created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/applications/dockerfile + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#playground) + +------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-dockerfile-application#samples) + +------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-dockerimage-application.md b/coolify_skill/references/ops/create-dockerimage-application.md new file mode 100644 index 0000000..4ab4bb0 --- /dev/null +++ b/coolify_skill/references/ops/create-dockerimage-application.md @@ -0,0 +1,187 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#VPContent) + +Return to top + +Create (Docker Image without git)[​](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#create-docker-image-without-git) + +========================================================================================================================================================== + +POST + +/applications/dockerimage + +Create new application based on a prebuilt docker image (without git). + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#authorizations) + +---------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#request-body) + +------------------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"ports\_exposes": "string", + +"destination\_uuid": "string", + +"name": "string", + +"description": "string", + +"domains": "string", + +"ports\_mappings": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"custom\_labels": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"redirect": "string", + +"instant\_deploy": true, + +"is\_force\_https\_enabled": true, + +"use\_build\_server": true, + +"is\_http\_basic\_auth\_enabled": true, + +"http\_basic\_auth\_username": "string", + +"http\_basic\_auth\_password": "string", + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"autogenerate\_domain": true, + +"is\_container\_label\_escape\_enabled": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#responses) + +------------------------------------------------------------------------------------------------------------ + +201400401409 + +Application created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/applications/dockerimage + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#playground) + +-------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-dockerimage-application#samples) + +-------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-env-by-application-uuid.md b/coolify_skill/references/ops/create-env-by-application-uuid.md new file mode 100644 index 0000000..198d0c8 --- /dev/null +++ b/coolify_skill/references/ops/create-env-by-application-uuid.md @@ -0,0 +1,119 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#VPContent) + +Return to top + +Create Env[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#create-env) + +============================================================================================================== + +POST + +/applications/{uuid}/envs + +Create env by application UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#authorizations) + +---------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#parameters) + +-------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#request-body) + +------------------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"key": "string", + +"value": "string", + +"is\_preview": true, + +"is\_literal": true, + +"is\_multiline": true, + +"is\_shown\_once": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#responses) + +------------------------------------------------------------------------------------------------------------ + +201400401404 + +Environment variable created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "nc0k04gk8g0cgsk440g0koko" + +} + +POST + +/applications/{uuid}/envs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#playground) + +-------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-application-uuid#samples) + +-------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-env-by-service-uuid.md b/coolify_skill/references/ops/create-env-by-service-uuid.md new file mode 100644 index 0000000..ca939cd --- /dev/null +++ b/coolify_skill/references/ops/create-env-by-service-uuid.md @@ -0,0 +1,119 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#VPContent) + +Return to top + +Create Env[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#create-env) + +========================================================================================================== + +POST + +/services/{uuid}/envs + +Create env by service UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#request-body) + +-------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"key": "string", + +"value": "string", + +"is\_preview": true, + +"is\_literal": true, + +"is\_multiline": true, + +"is\_shown\_once": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +201400401404422 + +Environment variable created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "nc0k04gk8g0cgsk440g0koko" + +} + +POST + +/services/{uuid}/envs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-env-by-service-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-environment.md b/coolify_skill/references/ops/create-environment.md new file mode 100644 index 0000000..0c47a03 --- /dev/null +++ b/coolify_skill/references/ops/create-environment.md @@ -0,0 +1,109 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-environment#VPContent) + +Return to top + +Create Environment[​](https://coolify.io/docs/api-reference/api/operations/create-environment#create-environment) + +================================================================================================================== + +POST + +/projects/{uuid}/environments + +Create environment in project. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-environment#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/create-environment#parameters) + +-------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Project UUID + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-environment#request-body) + +------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-environment#responses) + +------------------------------------------------------------------------------------------------ + +201 + +Environment created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "env123" + +} + +POST + +/projects/{uuid}/environments + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-environment#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-environment#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-github-app.md b/coolify_skill/references/ops/create-github-app.md new file mode 100644 index 0000000..8bb3eec --- /dev/null +++ b/coolify_skill/references/ops/create-github-app.md @@ -0,0 +1,135 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-github-app#VPContent) + +Return to top + +Create GitHub App[​](https://coolify.io/docs/api-reference/api/operations/create-github-app#create-github-app) + +=============================================================================================================== + +POST + +/github-apps + +Create a new GitHub app. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-github-app#authorizations) + +--------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-github-app#request-body) + +----------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"organization": "string", + +"api\_url": "string", + +"html\_url": "string", + +"custom\_user": "string", + +"custom\_port": 0, + +"app\_id": 0, + +"installation\_id": 0, + +"client\_id": "string", + +"client\_secret": "string", + +"webhook\_secret": "string", + +"private\_key\_uuid": "string", + +"is\_system\_wide": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-github-app#responses) + +----------------------------------------------------------------------------------------------- + +201400401422 + +GitHub app created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"name": "string", + +"organization": "string", + +"api\_url": "string", + +"html\_url": "string", + +"custom\_user": "string", + +"custom\_port": 0, + +"app\_id": 0, + +"installation\_id": 0, + +"client\_id": "string", + +"private\_key\_id": 0, + +"is\_system\_wide": true, + +"team\_id": 0 + +} + +POST + +/github-apps + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-github-app#playground) + +------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-github-app#samples) + +------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-hetzner-server.md b/coolify_skill/references/ops/create-hetzner-server.md new file mode 100644 index 0000000..9bdd9ce --- /dev/null +++ b/coolify_skill/references/ops/create-hetzner-server.md @@ -0,0 +1,331 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#VPContent) + +Return to top + +Create Hetzner Server[​](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#create-hetzner-server) + +=========================================================================================================================== + +POST + +/servers/hetzner + +Create a new server on Hetzner and register it in Coolify. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#request-body) + +--------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"cloud\_provider\_token\_uuid": "abc123", + +"cloud\_provider\_token\_id": "abc123", + +"location": "nbg1", + +"server\_type": "cx11", + +"image": 15512617, + +"name": "my-server", + +"private\_key\_uuid": "xyz789", + +"enable\_ipv4": true, + +"enable\_ipv6": true, + +"hetzner\_ssh\_key\_ids": \[\ +\ +0\ +\ +\], + +"cloud\_init\_script": "string", + +"instant\_validate": false + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#responses) + +--------------------------------------------------------------------------------------------------- + +201 + +Hetzner server created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "og888os", + +"hetzner\_server\_id": 0, + +"ip": "string" + +} + +POST + +/servers/hetzner + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +JSON + +{ + +cloud\_provider\_token\_uuid + +: + +abc123 + +cloud\_provider\_token\_id + +: + +abc123 + +location + +: + +nbg1 + +server\_type + +: + +cx11 + +image + +: + +15512617 + +name + +: + +my-server + +private\_key\_uuid + +: + +xyz789 + +enable\_ipv4 + +: + +true + +enable\_ipv6 + +: + +true + +hetzner\_ssh\_key\_ids + +: + +\[\ +\ +1 item  \ +\ +0\ +\ +:\ +\ +0\ +\ +\] + +cloud\_init\_script + +: + +string + +instant\_validate + +: + +false + +} + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-hetzner-server#samples) + +----------------------------------------------------------------------------------------------- + +BrunocURLJavaScriptPHPPython + +Bruno + + POST https://app.coolify.io/api/v1/servers/hetzner + + Headers + authorization: Token + content-type: application/json + + Body + { + "cloud_provider_token_uuid": "abc123", + "cloud_provider_token_id": "abc123", + "location": "nbg1", + "server_type": "cx11", + "image": 15512617, + "name": "my-server", + "private_key_uuid": "xyz789", + "enable_ipv4": true, + "enable_ipv6": true, + "hetzner_ssh_key_ids": [\ + 0\ + ], + "cloud_init_script": "string", + "instant_validate": false + } + +cURL + + curl https://app.coolify.io/api/v1/servers/hetzner \ + --request POST \ + --header 'Authorization: Token' \ + --header 'Content-Type: application/json' \ + --data '{ + "cloud_provider_token_uuid": "abc123", + "cloud_provider_token_id": "abc123", + "location": "nbg1", + "server_type": "cx11", + "image": 15512617, + "name": "my-server", + "private_key_uuid": "xyz789", + "enable_ipv4": true, + "enable_ipv6": true, + "hetzner_ssh_key_ids": [\ + 0\ + ], + "cloud_init_script": "string", + "instant_validate": false + }' + +JavaScript + + fetch('https://app.coolify.io/api/v1/servers/hetzner', { + method: 'POST', + headers: { + Authorization: 'Token', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + cloud_provider_token_uuid: 'abc123', + cloud_provider_token_id: 'abc123', + location: 'nbg1', + server_type: 'cx11', + image: 15512617, + name: 'my-server', + private_key_uuid: 'xyz789', + enable_ipv4: true, + enable_ipv6: true, + hetzner_ssh_key_ids: [0], + cloud_init_script: 'string', + instant_validate: false + }) + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/servers/hetzner"); + + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token', 'Content-Type: application/json']); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([\ + 'cloud_provider_token_uuid' => 'abc123',\ + 'cloud_provider_token_id' => 'abc123',\ + 'location' => 'nbg1',\ + 'server_type' => 'cx11',\ + 'image' => 15512617,\ + 'name' => 'my-server',\ + 'private_key_uuid' => 'xyz789',\ + 'enable_ipv4' => true,\ + 'enable_ipv6' => true,\ + 'hetzner_ssh_key_ids' => [\ + 0\ + ],\ + 'cloud_init_script' => 'string',\ + 'instant_validate' => false\ + ])); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.post( + "https://app.coolify.io/api/v1/servers/hetzner", + headers={ + "Authorization": "Token", + "Content-Type": "application/json" + }, + json={ + "cloud_provider_token_uuid": "abc123", + "cloud_provider_token_id": "abc123", + "location": "nbg1", + "server_type": "cx11", + "image": 15512617, + "name": "my-server", + "private_key_uuid": "xyz789", + "enable_ipv4": true, + "enable_ipv6": true, + "hetzner_ssh_key_ids": [\ + 0\ + ], + "cloud_init_script": "string", + "instant_validate": false + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-private-deploy-key-application.md b/coolify_skill/references/ops/create-private-deploy-key-application.md new file mode 100644 index 0000000..c05ec04 --- /dev/null +++ b/coolify_skill/references/ops/create-private-deploy-key-application.md @@ -0,0 +1,241 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#VPContent) + +Return to top + +Create (Private - Deploy Key)[​](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#create-private-deploy-key) + +======================================================================================================================================================= + +POST + +/applications/private-deploy-key + +Create new application based on a private repository through a Deploy Key. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#authorizations) + +----------------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#request-body) + +------------------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"private\_key\_uuid": "string", + +"git\_repository": "string", + +"git\_branch": "string", + +"ports\_exposes": "string", + +"destination\_uuid": "string", + +"build\_pack": "string", + +"name": "string", + +"description": "string", + +"domains": "string", + +"git\_commit\_sha": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"is\_static": true, + +"is\_spa": true, + +"is\_auto\_deploy\_enabled": true, + +"is\_force\_https\_enabled": true, + +"static\_image": "string", + +"install\_command": "string", + +"build\_command": "string", + +"start\_command": "string", + +"ports\_mappings": "string", + +"base\_directory": "string", + +"publish\_directory": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"custom\_labels": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"redirect": "string", + +"instant\_deploy": true, + +"dockerfile": "string", + +"dockerfile\_location": "string", + +"docker\_compose\_location": "string", + +"docker\_compose\_custom\_start\_command": "string", + +"docker\_compose\_custom\_build\_command": "string", + +"docker\_compose\_domains": \[\ +\ +{\ +\ +"name": "string",\ +\ +"domain": "string"\ +\ +}\ +\ +\], + +"watch\_paths": "string", + +"use\_build\_server": true, + +"is\_http\_basic\_auth\_enabled": true, + +"http\_basic\_auth\_username": "string", + +"http\_basic\_auth\_password": "string", + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"autogenerate\_domain": true, + +"is\_container\_label\_escape\_enabled": true, + +"is\_preserve\_repository\_enabled": false + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#responses) + +------------------------------------------------------------------------------------------------------------------- + +201400401409 + +Application created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/applications/private-deploy-key + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#playground) + +--------------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-private-deploy-key-application#samples) + +--------------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-private-github-app-application.md b/coolify_skill/references/ops/create-private-github-app-application.md new file mode 100644 index 0000000..94540c4 --- /dev/null +++ b/coolify_skill/references/ops/create-private-github-app-application.md @@ -0,0 +1,241 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#VPContent) + +Return to top + +Create (Private - GH App)[​](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#create-private-gh-app) + +=============================================================================================================================================== + +POST + +/applications/private-github-app + +Create new application based on a private repository through a Github App. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#authorizations) + +----------------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#request-body) + +------------------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"github\_app\_uuid": "string", + +"git\_repository": "string", + +"git\_branch": "string", + +"ports\_exposes": "string", + +"destination\_uuid": "string", + +"build\_pack": "string", + +"name": "string", + +"description": "string", + +"domains": "string", + +"git\_commit\_sha": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"is\_static": true, + +"is\_spa": true, + +"is\_auto\_deploy\_enabled": true, + +"is\_force\_https\_enabled": true, + +"static\_image": "string", + +"install\_command": "string", + +"build\_command": "string", + +"start\_command": "string", + +"ports\_mappings": "string", + +"base\_directory": "string", + +"publish\_directory": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"custom\_labels": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"redirect": "string", + +"instant\_deploy": true, + +"dockerfile": "string", + +"dockerfile\_location": "string", + +"docker\_compose\_location": "string", + +"docker\_compose\_custom\_start\_command": "string", + +"docker\_compose\_custom\_build\_command": "string", + +"docker\_compose\_domains": \[\ +\ +{\ +\ +"name": "string",\ +\ +"domain": "string"\ +\ +}\ +\ +\], + +"watch\_paths": "string", + +"use\_build\_server": true, + +"is\_http\_basic\_auth\_enabled": true, + +"http\_basic\_auth\_username": "string", + +"http\_basic\_auth\_password": "string", + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"autogenerate\_domain": true, + +"is\_container\_label\_escape\_enabled": true, + +"is\_preserve\_repository\_enabled": false + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#responses) + +------------------------------------------------------------------------------------------------------------------- + +201400401409 + +Application created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/applications/private-github-app + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#playground) + +--------------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-private-github-app-application#samples) + +--------------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-private-key.md b/coolify_skill/references/ops/create-private-key.md new file mode 100644 index 0000000..0af8162 --- /dev/null +++ b/coolify_skill/references/ops/create-private-key.md @@ -0,0 +1,89 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-private-key#VPContent) + +Return to top + +Create[​](https://coolify.io/docs/api-reference/api/operations/create-private-key#create) + +========================================================================================== + +POST + +/security/keys + +Create a new private key. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-private-key#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-private-key#request-body) + +------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string", + +"private\_key": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-private-key#responses) + +------------------------------------------------------------------------------------------------ + +201400401422 + +The created private key's UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/security/keys + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-private-key#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-private-key#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-project.md b/coolify_skill/references/ops/create-project.md new file mode 100644 index 0000000..500eeb9 --- /dev/null +++ b/coolify_skill/references/ops/create-project.md @@ -0,0 +1,87 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-project#VPContent) + +Return to top + +Create[​](https://coolify.io/docs/api-reference/api/operations/create-project#create) + +====================================================================================== + +POST + +/projects + +Create Project. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-project#authorizations) + +------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-project#request-body) + +-------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-project#responses) + +-------------------------------------------------------------------------------------------- + +201400401404422 + +Project created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "og888os" + +} + +POST + +/projects + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-project#playground) + +---------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-project#samples) + +---------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-public-application.md b/coolify_skill/references/ops/create-public-application.md new file mode 100644 index 0000000..a72e5c0 --- /dev/null +++ b/coolify_skill/references/ops/create-public-application.md @@ -0,0 +1,239 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-public-application#VPContent) + +Return to top + +Create (Public)[​](https://coolify.io/docs/api-reference/api/operations/create-public-application#create-public) + +================================================================================================================= + +POST + +/applications/public + +Create new application based on a public git repository. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-public-application#authorizations) + +----------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-public-application#request-body) + +------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"git\_repository": "string", + +"git\_branch": "string", + +"build\_pack": "string", + +"ports\_exposes": "string", + +"destination\_uuid": "string", + +"name": "string", + +"description": "string", + +"domains": "string", + +"git\_commit\_sha": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"is\_static": true, + +"is\_spa": true, + +"is\_auto\_deploy\_enabled": true, + +"is\_force\_https\_enabled": true, + +"static\_image": "string", + +"install\_command": "string", + +"build\_command": "string", + +"start\_command": "string", + +"ports\_mappings": "string", + +"base\_directory": "string", + +"publish\_directory": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"custom\_labels": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"redirect": "string", + +"instant\_deploy": true, + +"dockerfile": "string", + +"dockerfile\_location": "string", + +"docker\_compose\_location": "string", + +"docker\_compose\_custom\_start\_command": "string", + +"docker\_compose\_custom\_build\_command": "string", + +"docker\_compose\_domains": \[\ +\ +{\ +\ +"name": "string",\ +\ +"domain": "string"\ +\ +}\ +\ +\], + +"watch\_paths": "string", + +"use\_build\_server": true, + +"is\_http\_basic\_auth\_enabled": true, + +"http\_basic\_auth\_username": "string", + +"http\_basic\_auth\_password": "string", + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"autogenerate\_domain": true, + +"is\_container\_label\_escape\_enabled": true, + +"is\_preserve\_repository\_enabled": false + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-public-application#responses) + +------------------------------------------------------------------------------------------------------- + +201400401409 + +Application created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +POST + +/applications/public + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-public-application#playground) + +--------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-public-application#samples) + +--------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-server.md b/coolify_skill/references/ops/create-server.md new file mode 100644 index 0000000..862baaf --- /dev/null +++ b/coolify_skill/references/ops/create-server.md @@ -0,0 +1,101 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-server#VPContent) + +Return to top + +Create[​](https://coolify.io/docs/api-reference/api/operations/create-server#create) + +===================================================================================== + +POST + +/servers + +Create Server. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-server#authorizations) + +----------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-server#request-body) + +------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "My Server", + +"description": "My Server Description", + +"ip": "127.0.0.1", + +"port": 22, + +"user": "root", + +"private\_key\_uuid": "og888os", + +"is\_build\_server": false, + +"instant\_validate": false, + +"proxy\_type": "traefik" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-server#responses) + +------------------------------------------------------------------------------------------- + +201400401404422 + +Server created. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "og888os" + +} + +POST + +/servers + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-server#playground) + +--------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-server#samples) + +--------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/create-service.md b/coolify_skill/references/ops/create-service.md new file mode 100644 index 0000000..308f178 --- /dev/null +++ b/coolify_skill/references/ops/create-service.md @@ -0,0 +1,125 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/create-service#VPContent) + +Return to top + +Create service[​](https://coolify.io/docs/api-reference/api/operations/create-service#create-service) + +====================================================================================================== + +POST + +/services + +Create a one-click / custom service + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/create-service#authorizations) + +------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/create-service#request-body) + +-------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"type": "string", + +"name": "string", + +"description": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"server\_uuid": "string", + +"destination\_uuid": "string", + +"instant\_deploy": false, + +"docker\_compose\_raw": "string", + +"urls": \[\ +\ +{\ +\ +"name": "string",\ +\ +"url": "string"\ +\ +}\ +\ +\], + +"force\_domain\_override": false, + +"is\_container\_label\_escape\_enabled": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/create-service#responses) + +-------------------------------------------------------------------------------------------- + +201400401409422 + +Service created successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string", + +"domains": \[\ +\ +"string"\ +\ +\] + +} + +POST + +/services + +Playground[​](https://coolify.io/docs/api-reference/api/operations/create-service#playground) + +---------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/create-service#samples) + +---------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-application-by-uuid.md b/coolify_skill/references/ops/delete-application-by-uuid.md new file mode 100644 index 0000000..50e86a2 --- /dev/null +++ b/coolify_skill/references/ops/delete-application-by-uuid.md @@ -0,0 +1,149 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#VPContent) + +Return to top + +Delete[​](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#delete) + +================================================================================================== + +DELETE + +/applications/{uuid} + +Delete application by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +### Query Parameters + +delete\_configurations + +Delete configurations. + +Type + +boolean + +Default + +`true` + +delete\_volumes + +Delete volumes. + +Type + +boolean + +Default + +`true` + +docker\_cleanup + +Run docker cleanup. + +Type + +boolean + +Default + +`true` + +delete\_connected\_networks + +Delete connected networks. + +Type + +boolean + +Default + +`true` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401404 + +Application deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Application deleted." + +} + +DELETE + +/applications/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +delete\_configurations + +delete\_volumes + +docker\_cleanup + +delete\_connected\_networks + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-application-by-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-backup-configuration-by-uuid.md b/coolify_skill/references/ops/delete-backup-configuration-by-uuid.md new file mode 100644 index 0000000..4bedefa --- /dev/null +++ b/coolify_skill/references/ops/delete-backup-configuration-by-uuid.md @@ -0,0 +1,119 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#VPContent) + +Return to top + +Delete backup configuration[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#delete-backup-configuration) + +===================================================================================================================================================== + +DELETE + +/databases/{uuid}/backups/{scheduled\_backup\_uuid} + +Deletes a backup configuration and all its executions. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database + +Type + +string + +Required + +scheduled\_backup\_uuid\* + +UUID of the backup configuration to delete + +Type + +string + +Required + +### Query Parameters + +delete\_s3 + +Whether to delete all backup files from S3 + +Type + +boolean + +Default + +`false` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#responses) + +----------------------------------------------------------------------------------------------------------------- + +200404 + +Backup configuration deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Backup configuration and all executions deleted." + +} + +DELETE + +/databases/{uuid}/backups/{scheduled\_backup\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#playground) + +------------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +scheduled\_backup\_uuid\* + +delete\_s3 + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-configuration-by-uuid#samples) + +------------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-backup-execution-by-uuid.md b/coolify_skill/references/ops/delete-backup-execution-by-uuid.md new file mode 100644 index 0000000..bcde837 --- /dev/null +++ b/coolify_skill/references/ops/delete-backup-execution-by-uuid.md @@ -0,0 +1,131 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#VPContent) + +Return to top + +Delete backup execution[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#delete-backup-execution) + +========================================================================================================================================= + +DELETE + +/databases/{uuid}/backups/{scheduled\_backup\_uuid}/executions/{execution\_uuid} + +Deletes a specific backup execution. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#parameters) + +--------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database + +Type + +string + +Required + +scheduled\_backup\_uuid\* + +UUID of the backup configuration + +Type + +string + +Required + +execution\_uuid\* + +UUID of the backup execution to delete + +Type + +string + +Required + +### Query Parameters + +delete\_s3 + +Whether to delete the backup from S3 + +Type + +boolean + +Default + +`false` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#responses) + +------------------------------------------------------------------------------------------------------------- + +200404 + +Backup execution deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Backup execution deleted." + +} + +DELETE + +/databases/{uuid}/backups/{scheduled\_backup\_uuid}/executions/{execution\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#playground) + +--------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +scheduled\_backup\_uuid\* + +execution\_uuid\* + +delete\_s3 + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-backup-execution-by-uuid#samples) + +--------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-cloud-token-by-uuid.md b/coolify_skill/references/ops/delete-cloud-token-by-uuid.md new file mode 100644 index 0000000..b56aaa2 --- /dev/null +++ b/coolify_skill/references/ops/delete-cloud-token-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#VPContent) + +Return to top + +Delete Cloud Provider Token[​](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#delete-cloud-provider-token) + +============================================================================================================================================ + +DELETE + +/cloud-tokens/{uuid} + +Delete cloud provider token by UUID. Cannot delete if token is used by any servers. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the cloud provider token. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401404 + +Cloud provider token deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Cloud provider token deleted." + +} + +DELETE + +/cloud-tokens/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-cloud-token-by-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-database-by-uuid.md b/coolify_skill/references/ops/delete-database-by-uuid.md new file mode 100644 index 0000000..515267e --- /dev/null +++ b/coolify_skill/references/ops/delete-database-by-uuid.md @@ -0,0 +1,149 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#VPContent) + +Return to top + +Delete[​](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#delete) + +=============================================================================================== + +DELETE + +/databases/{uuid} + +Delete database by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +### Query Parameters + +delete\_configurations + +Delete configurations. + +Type + +boolean + +Default + +`true` + +delete\_volumes + +Delete volumes. + +Type + +boolean + +Default + +`true` + +docker\_cleanup + +Run docker cleanup. + +Type + +boolean + +Default + +`true` + +delete\_connected\_networks + +Delete connected networks. + +Type + +boolean + +Default + +`true` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +200400401404 + +Database deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Database deleted." + +} + +DELETE + +/databases/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +delete\_configurations + +delete\_volumes + +docker\_cleanup + +delete\_connected\_networks + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-database-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-env-by-application-uuid.md b/coolify_skill/references/ops/delete-env-by-application-uuid.md new file mode 100644 index 0000000..1d0f4ef --- /dev/null +++ b/coolify_skill/references/ops/delete-env-by-application-uuid.md @@ -0,0 +1,103 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#VPContent) + +Return to top + +Delete Env[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#delete-env) + +============================================================================================================== + +DELETE + +/applications/{uuid}/envs/{env\_uuid} + +Delete env by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#authorizations) + +---------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#parameters) + +-------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +env\_uuid\* + +UUID of the environment variable. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#responses) + +------------------------------------------------------------------------------------------------------------ + +200400401404 + +Environment variable deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Environment variable deleted." + +} + +DELETE + +/applications/{uuid}/envs/{env\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#playground) + +-------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +env\_uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-application-uuid#samples) + +-------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-env-by-service-uuid.md b/coolify_skill/references/ops/delete-env-by-service-uuid.md new file mode 100644 index 0000000..bfa7fe8 --- /dev/null +++ b/coolify_skill/references/ops/delete-env-by-service-uuid.md @@ -0,0 +1,103 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#VPContent) + +Return to top + +Delete Env[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#delete-env) + +========================================================================================================== + +DELETE + +/services/{uuid}/envs/{env\_uuid} + +Delete env by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +env\_uuid\* + +UUID of the environment variable. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401404 + +Environment variable deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Environment variable deleted." + +} + +DELETE + +/services/{uuid}/envs/{env\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +env\_uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-env-by-service-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-environment.md b/coolify_skill/references/ops/delete-environment.md new file mode 100644 index 0000000..c1e4d8c --- /dev/null +++ b/coolify_skill/references/ops/delete-environment.md @@ -0,0 +1,103 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-environment#VPContent) + +Return to top + +Delete Environment[​](https://coolify.io/docs/api-reference/api/operations/delete-environment#delete-environment) + +================================================================================================================== + +DELETE + +/projects/{uuid}/environments/{environment\_name\_or\_uuid} + +Delete environment by name or UUID. Environment must be empty. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-environment#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-environment#parameters) + +-------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Project UUID + +Type + +string + +Required + +environment\_name\_or\_uuid\* + +Environment name or UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-environment#responses) + +------------------------------------------------------------------------------------------------ + +200400401404422 + +Environment deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Environment deleted." + +} + +DELETE + +/projects/{uuid}/environments/{environment\_name\_or\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-environment#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +environment\_name\_or\_uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-environment#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-private-key-by-uuid.md b/coolify_skill/references/ops/delete-private-key-by-uuid.md new file mode 100644 index 0000000..82120b5 --- /dev/null +++ b/coolify_skill/references/ops/delete-private-key-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#VPContent) + +Return to top + +Delete[​](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#delete) + +================================================================================================== + +DELETE + +/security/keys/{uuid} + +Delete a private key. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Private Key UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401404422 + +Private Key deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Private Key deleted." + +} + +DELETE + +/security/keys/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-private-key-by-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-project-by-uuid.md b/coolify_skill/references/ops/delete-project-by-uuid.md new file mode 100644 index 0000000..912bc28 --- /dev/null +++ b/coolify_skill/references/ops/delete-project-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#VPContent) + +Return to top + +Delete[​](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#delete) + +============================================================================================== + +DELETE + +/projects/{uuid} + +Delete project by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#responses) + +---------------------------------------------------------------------------------------------------- + +200400401404422 + +Project deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Project deleted." + +} + +DELETE + +/projects/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-project-by-uuid#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-server-by-uuid.md b/coolify_skill/references/ops/delete-server-by-uuid.md new file mode 100644 index 0000000..d75e266 --- /dev/null +++ b/coolify_skill/references/ops/delete-server-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#VPContent) + +Return to top + +Delete[​](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#delete) + +============================================================================================= + +DELETE + +/servers/{uuid} + +Delete server by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#parameters) + +----------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the server. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#responses) + +--------------------------------------------------------------------------------------------------- + +200400401404422 + +Server deleted. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Server deleted." + +} + +DELETE + +/servers/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-server-by-uuid#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/delete-service-by-uuid.md b/coolify_skill/references/ops/delete-service-by-uuid.md new file mode 100644 index 0000000..5d1d0d6 --- /dev/null +++ b/coolify_skill/references/ops/delete-service-by-uuid.md @@ -0,0 +1,149 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#VPContent) + +Return to top + +Delete[​](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#delete) + +============================================================================================== + +DELETE + +/services/{uuid} + +Delete service by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +Service UUID + +Type + +string + +Required + +### Query Parameters + +delete\_configurations + +Delete configurations. + +Type + +boolean + +Default + +`true` + +delete\_volumes + +Delete volumes. + +Type + +boolean + +Default + +`true` + +docker\_cleanup + +Run docker cleanup. + +Type + +boolean + +Default + +`true` + +delete\_connected\_networks + +Delete connected networks. + +Type + +boolean + +Default + +`true` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#responses) + +---------------------------------------------------------------------------------------------------- + +200400401404 + +Delete a service by UUID + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Service deletion request queued." + +} + +DELETE + +/services/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +delete\_configurations + +delete\_volumes + +docker\_cleanup + +delete\_connected\_networks + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/delete-service-by-uuid#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/deleteGithubApp.md b/coolify_skill/references/ops/deleteGithubApp.md new file mode 100644 index 0000000..68d9002 --- /dev/null +++ b/coolify_skill/references/ops/deleteGithubApp.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#VPContent) + +Return to top + +Delete GitHub App[​](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#delete-github-app) + +============================================================================================================= + +DELETE + +/github-apps/{github\_app\_id} + +Delete a GitHub app if it's not being used by any applications. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#authorizations) + +------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#parameters) + +----------------------------------------------------------------------------------------------- + +### Path Parameters + +github\_app\_id\* + +GitHub App ID + +Type + +integer + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#responses) + +--------------------------------------------------------------------------------------------- + +200401404409 + +GitHub app deleted successfully + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "GitHub app deleted successfully" + +} + +DELETE + +/github-apps/{github\_app\_id} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#playground) + +----------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +github\_app\_id\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/deleteGithubApp#samples) + +----------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/deploy-by-tag-or-uuid.md b/coolify_skill/references/ops/deploy-by-tag-or-uuid.md new file mode 100644 index 0000000..feba5ab --- /dev/null +++ b/coolify_skill/references/ops/deploy-by-tag-or-uuid.md @@ -0,0 +1,151 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#VPContent) + +Return to top + +Deploy[​](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#deploy) + +============================================================================================= + +GET + +/deploy + +Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#parameters) + +----------------------------------------------------------------------------------------------------- + +### Query Parameters + +tag + +Tag name(s). Comma separated list is also accepted. + +Type + +string + +uuid + +Resource UUID(s). Comma separated list is also accepted. + +Type + +string + +force + +Force rebuild (without cache) + +Type + +boolean + +pr + +Pull Request Id for deploying specific PR builds. Cannot be used with tag parameter. + +Type + +integer + +pull\_request\_id + +Preview deployment identifier. Alias of pr. + +Type + +integer + +docker\_tag + +Docker image tag for Docker Image preview deployments. Requires pull\_request\_id. + +Type + +string + +Responses[​](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#responses) + +--------------------------------------------------------------------------------------------------- + +200400401 + +Get deployment(s) UUID's + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"deployments": \[\ +\ +{\ +\ +"message": "string",\ +\ +"resource\_uuid": "string",\ +\ +"deployment\_uuid": "string"\ +\ +}\ +\ +\] + +} + +GET + +/deploy + +Playground[​](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +tag + +uuid + +force + +pr + +pull\_request\_id + +docker\_tag + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/disable-api.md b/coolify_skill/references/ops/disable-api.md new file mode 100644 index 0000000..90c56a0 --- /dev/null +++ b/coolify_skill/references/ops/disable-api.md @@ -0,0 +1,67 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/disable-api#VPContent) + +Return to top + +Disable API[​](https://coolify.io/docs/api-reference/api/operations/disable-api#disable-api) + +============================================================================================= + +GET + +/disable + +Disable API (only with root permissions). + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/disable-api#authorizations) + +--------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/disable-api#responses) + +----------------------------------------------------------------------------------------- + +200400401403 + +Disable API. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "API disabled." + +} + +GET + +/disable + +Playground[​](https://coolify.io/docs/api-reference/api/operations/disable-api#playground) + +------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/disable-api#samples) + +------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/enable-api.md b/coolify_skill/references/ops/enable-api.md new file mode 100644 index 0000000..550dbc8 --- /dev/null +++ b/coolify_skill/references/ops/enable-api.md @@ -0,0 +1,108 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/enable-api#VPContent) + +Return to top + +Enable API[​](https://coolify.io/docs/api-reference/api/operations/enable-api#enable-api) + +========================================================================================== + +GET + +/enable + +Enable API (only with root permissions). + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/enable-api#authorizations) + +-------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/enable-api#responses) + +---------------------------------------------------------------------------------------- + +200400401403 + +Enable API. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "API enabled." + +} + +GET + +/enable + +Playground[​](https://coolify.io/docs/api-reference/api/operations/enable-api#playground) + +------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/enable-api#samples) + +------------------------------------------------------------------------------------ + +BrunocURLJavaScriptPHPPython + +Bruno + + GET https://app.coolify.io/api/v1/enable + + Headers + authorization: Token + + +cURL + + curl https://app.coolify.io/api/v1/enable \ + --header 'Authorization: Token' + +JavaScript + + fetch('https://app.coolify.io/api/v1/enable', { + headers: { + Authorization: 'Token' + } + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/enable"); + + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token']); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.get("https://app.coolify.io/api/v1/enable", + headers={ + "Authorization": "Token" + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-application-by-uuid.md b/coolify_skill/references/ops/get-application-by-uuid.md new file mode 100644 index 0000000..d4262ae --- /dev/null +++ b/coolify_skill/references/ops/get-application-by-uuid.md @@ -0,0 +1,297 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#get) + +========================================================================================= + +GET + +/applications/{uuid} + +Get application by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +200400401404 + +Get application by UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"description": "string", + +"repository\_project\_id": 0, + +"uuid": "string", + +"name": "string", + +"fqdn": "string", + +"config\_hash": "string", + +"git\_repository": "string", + +"git\_branch": "string", + +"git\_commit\_sha": "string", + +"git\_full\_url": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"build\_pack": "string", + +"static\_image": "string", + +"install\_command": "string", + +"build\_command": "string", + +"start\_command": "string", + +"ports\_exposes": "string", + +"ports\_mappings": "string", + +"custom\_network\_aliases": "string", + +"base\_directory": "string", + +"publish\_directory": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"health\_check\_type": "string", + +"health\_check\_command": "string", + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"status": "string", + +"preview\_url\_template": "string", + +"destination\_type": "string", + +"destination\_id": 0, + +"source\_id": 0, + +"private\_key\_id": 0, + +"environment\_id": 0, + +"dockerfile": "string", + +"dockerfile\_location": "string", + +"custom\_labels": "string", + +"dockerfile\_target\_build": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"docker\_compose\_location": "string", + +"docker\_compose": "string", + +"docker\_compose\_raw": "string", + +"docker\_compose\_domains": "string", + +"docker\_compose\_custom\_start\_command": "string", + +"docker\_compose\_custom\_build\_command": "string", + +"swarm\_replicas": 0, + +"swarm\_placement\_constraints": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"watch\_paths": "string", + +"custom\_healthcheck\_found": true, + +"redirect": "string", + +"created\_at": "string", + +"updated\_at": "string", + +"deleted\_at": "string", + +"compose\_parsing\_version": "string", + +"custom\_nginx\_configuration": "string", + +"is\_http\_basic\_auth\_enabled": true, + +"http\_basic\_auth\_username": "string", + +"http\_basic\_auth\_password": "string" + +} + +GET + +/applications/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-application-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +BrunocURLJavaScriptPHPPython + +Bruno + + GET https://app.coolify.io/api/v1/applications/%7Buuid%7D + + Headers + authorization: Token + + +cURL + + curl 'https://app.coolify.io/api/v1/applications/{uuid}' \ + --header 'Authorization: Token' + +JavaScript + + fetch('https://app.coolify.io/api/v1/applications/{uuid}', { + headers: { + Authorization: 'Token' + } + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/applications/{uuid}"); + + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token']); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.get( + "https://app.coolify.io/api/v1/applications/{uuid}", + headers={ + "Authorization": "Token" + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-application-logs-by-uuid.md b/coolify_skill/references/ops/get-application-logs-by-uuid.md new file mode 100644 index 0000000..791d80d --- /dev/null +++ b/coolify_skill/references/ops/get-application-logs-by-uuid.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#VPContent) + +Return to top + +Get application logs.[​](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#get-application-logs) + +================================================================================================================================= + +GET + +/applications/{uuid}/logs + +Get application logs by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +### Query Parameters + +lines + +Number of lines to show from the end of the logs. + +Type + +integer + +Format + +`"int32"` + +Default + +`100` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#responses) + +---------------------------------------------------------------------------------------------------------- + +200400401404 + +Get application logs by UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"logs": "string" + +} + +GET + +/applications/{uuid}/logs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#playground) + +------------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +lines + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-application-logs-by-uuid#samples) + +------------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-cloud-token-by-uuid.md b/coolify_skill/references/ops/get-cloud-token-by-uuid.md new file mode 100644 index 0000000..4136e83 --- /dev/null +++ b/coolify_skill/references/ops/get-cloud-token-by-uuid.md @@ -0,0 +1,103 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#VPContent) + +Return to top + +Get Cloud Provider Token[​](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#get-cloud-provider-token) + +=================================================================================================================================== + +GET + +/cloud-tokens/{uuid} + +Get cloud provider token by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Token UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +200401404 + +Get cloud provider token by UUID + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string", + +"name": "string", + +"provider": "string", + +"team\_id": 0, + +"servers\_count": 0, + +"created\_at": "string", + +"updated\_at": "string" + +} + +GET + +/cloud-tokens/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-cloud-token-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-current-team-members.md b/coolify_skill/references/ops/get-current-team-members.md new file mode 100644 index 0000000..2fad93e --- /dev/null +++ b/coolify_skill/references/ops/get-current-team-members.md @@ -0,0 +1,87 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-current-team-members#VPContent) + +Return to top + +Authenticated Team Members[​](https://coolify.io/docs/api-reference/api/operations/get-current-team-members#authenticated-team-members) + +======================================================================================================================================== + +GET + +/teams/current/members + +Get currently authenticated team members. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-current-team-members#authorizations) + +---------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-current-team-members#responses) + +------------------------------------------------------------------------------------------------------ + +200400401 + +Currently authenticated team members. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"email": "string",\ +\ +"email\_verified\_at": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"two\_factor\_confirmed\_at": "string",\ +\ +"force\_password\_reset": true,\ +\ +"marketing\_emails": true\ +\ +}\ +\ +\] + +GET + +/teams/current/members + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-current-team-members#playground) + +-------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-current-team-members#samples) + +-------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-current-team.md b/coolify_skill/references/ops/get-current-team.md new file mode 100644 index 0000000..39c0492 --- /dev/null +++ b/coolify_skill/references/ops/get-current-team.md @@ -0,0 +1,107 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-current-team#VPContent) + +Return to top + +Authenticated Team[​](https://coolify.io/docs/api-reference/api/operations/get-current-team#authenticated-team) + +================================================================================================================ + +GET + +/teams/current + +Get currently authenticated team. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-current-team#authorizations) + +-------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-current-team#responses) + +---------------------------------------------------------------------------------------------- + +200400401 + +Current Team. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"name": "string", + +"description": "string", + +"personal\_team": true, + +"created\_at": "string", + +"updated\_at": "string", + +"show\_boarding": true, + +"custom\_server\_limit": "string", + +"members": \[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"email": "string",\ +\ +"email\_verified\_at": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"two\_factor\_confirmed\_at": "string",\ +\ +"force\_password\_reset": true,\ +\ +"marketing\_emails": true\ +\ +}\ +\ +\] + +} + +GET + +/teams/current + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-current-team#playground) + +------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-current-team#samples) + +------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-database-backups-by-uuid.md b/coolify_skill/references/ops/get-database-backups-by-uuid.md new file mode 100644 index 0000000..c431d13 --- /dev/null +++ b/coolify_skill/references/ops/get-database-backups-by-uuid.md @@ -0,0 +1,87 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#get) + +============================================================================================== + +GET + +/databases/{uuid}/backups + +Get backups details by database UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#responses) + +---------------------------------------------------------------------------------------------------------- + +200400401404 + +Get all backups for a database + +Content-Type + +application/json + +SchemaJSON + +JSON + +"string" + +GET + +/databases/{uuid}/backups + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#playground) + +------------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-database-backups-by-uuid#samples) + +------------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-database-by-uuid.md b/coolify_skill/references/ops/get-database-by-uuid.md new file mode 100644 index 0000000..9b02850 --- /dev/null +++ b/coolify_skill/references/ops/get-database-by-uuid.md @@ -0,0 +1,87 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#get) + +====================================================================================== + +GET + +/databases/{uuid} + +Get database by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#responses) + +-------------------------------------------------------------------------------------------------- + +200400401404 + +Get all databases + +Content-Type + +application/json + +SchemaJSON + +JSON + +"string" + +GET + +/databases/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#playground) + +---------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-database-by-uuid#samples) + +---------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-deployment-by-uuid.md b/coolify_skill/references/ops/get-deployment-by-uuid.md new file mode 100644 index 0000000..3ad8617 --- /dev/null +++ b/coolify_skill/references/ops/get-deployment-by-uuid.md @@ -0,0 +1,137 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#get) + +======================================================================================== + +GET + +/deployments/{uuid} + +Get deployment by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +Deployment UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#responses) + +---------------------------------------------------------------------------------------------------- + +200400401404 + +Get deployment by UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"application\_id": "string", + +"deployment\_uuid": "string", + +"pull\_request\_id": 0, + +"docker\_registry\_image\_tag": "string", + +"force\_rebuild": true, + +"commit": "string", + +"status": "string", + +"is\_webhook": true, + +"is\_api": true, + +"created\_at": "string", + +"updated\_at": "string", + +"logs": "string", + +"current\_process\_id": "string", + +"restart\_only": true, + +"git\_type": "string", + +"server\_id": 0, + +"application\_name": "string", + +"server\_name": "string", + +"deployment\_url": "string", + +"destination\_id": "string", + +"only\_this\_server": true, + +"rollback": true, + +"commit\_message": "string" + +} + +GET + +/deployments/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-deployment-by-uuid#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-domains-by-server-uuid.md b/coolify_skill/references/ops/get-domains-by-server-uuid.md new file mode 100644 index 0000000..06b6ea6 --- /dev/null +++ b/coolify_skill/references/ops/get-domains-by-server-uuid.md @@ -0,0 +1,101 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#VPContent) + +Return to top + +Domains[​](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#domains) + +==================================================================================================== + +GET + +/servers/{uuid}/domains + +Get domains by server. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Server's UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401 + +Get domains by server + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"ip": "string",\ +\ +"domains": \[\ +\ +"string"\ +\ +\]\ +\ +}\ +\ +\] + +GET + +/servers/{uuid}/domains + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-domains-by-server-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-environment-by-name-or-uuid.md b/coolify_skill/references/ops/get-environment-by-name-or-uuid.md new file mode 100644 index 0000000..9a4b128 --- /dev/null +++ b/coolify_skill/references/ops/get-environment-by-name-or-uuid.md @@ -0,0 +1,113 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#VPContent) + +Return to top + +Environment[​](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#environment) + +================================================================================================================= + +GET + +/projects/{uuid}/{environment\_name\_or\_uuid} + +Get environment by name or UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#parameters) + +--------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Project UUID + +Type + +string + +Required + +environment\_name\_or\_uuid\* + +Environment name or UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#responses) + +------------------------------------------------------------------------------------------------------------- + +200400401404422 + +Environment details + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"name": "string", + +"project\_id": 0, + +"created\_at": "string", + +"updated\_at": "string", + +"description": "string" + +} + +GET + +/projects/{uuid}/{environment\_name\_or\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#playground) + +--------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +environment\_name\_or\_uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-environment-by-name-or-uuid#samples) + +--------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-environments.md b/coolify_skill/references/ops/get-environments.md new file mode 100644 index 0000000..2153af2 --- /dev/null +++ b/coolify_skill/references/ops/get-environments.md @@ -0,0 +1,105 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-environments#VPContent) + +Return to top + +List Environments[​](https://coolify.io/docs/api-reference/api/operations/get-environments#list-environments) + +============================================================================================================== + +GET + +/projects/{uuid}/environments + +List all environments in a project. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-environments#authorizations) + +-------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-environments#parameters) + +------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +Project UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-environments#responses) + +---------------------------------------------------------------------------------------------- + +200400401404422 + +List of environments + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"project\_id": 0,\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"description": "string"\ +\ +}\ +\ +\] + +GET + +/projects/{uuid}/environments + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-environments#playground) + +------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-environments#samples) + +------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-hetzner-images.md b/coolify_skill/references/ops/get-hetzner-images.md new file mode 100644 index 0000000..4712f20 --- /dev/null +++ b/coolify_skill/references/ops/get-hetzner-images.md @@ -0,0 +1,115 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#VPContent) + +Return to top + +Get Hetzner Images[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#get-hetzner-images) + +================================================================================================================== + +GET + +/hetzner/images + +Get all available Hetzner system images (operating systems). + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#parameters) + +-------------------------------------------------------------------------------------------------- + +### Query Parameters + +cloud\_provider\_token\_uuid + +Cloud provider token UUID. Required if cloud\_provider\_token\_id is not provided. + +Type + +string + +cloud\_provider\_token\_id + +Deprecated: Use cloud\_provider\_token\_uuid instead. Cloud provider token UUID. + +Type + +string + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#responses) + +------------------------------------------------------------------------------------------------ + +200401404 + +List of Hetzner images. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"description": "string",\ +\ +"type": "string",\ +\ +"os\_flavor": "string",\ +\ +"os\_version": "string",\ +\ +"architecture": "string"\ +\ +}\ +\ +\] + +GET + +/hetzner/images + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +cloud\_provider\_token\_uuid + +cloud\_provider\_token\_id + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-images#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-hetzner-locations.md b/coolify_skill/references/ops/get-hetzner-locations.md new file mode 100644 index 0000000..8e98323 --- /dev/null +++ b/coolify_skill/references/ops/get-hetzner-locations.md @@ -0,0 +1,115 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#VPContent) + +Return to top + +Get Hetzner Locations[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#get-hetzner-locations) + +=========================================================================================================================== + +GET + +/hetzner/locations + +Get all available Hetzner datacenter locations. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#parameters) + +----------------------------------------------------------------------------------------------------- + +### Query Parameters + +cloud\_provider\_token\_uuid + +Cloud provider token UUID. Required if cloud\_provider\_token\_id is not provided. + +Type + +string + +cloud\_provider\_token\_id + +Deprecated: Use cloud\_provider\_token\_uuid instead. Cloud provider token UUID. + +Type + +string + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#responses) + +--------------------------------------------------------------------------------------------------- + +200401404 + +List of Hetzner locations. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"description": "string",\ +\ +"country": "string",\ +\ +"city": "string",\ +\ +"latitude": 0,\ +\ +"longitude": 0\ +\ +}\ +\ +\] + +GET + +/hetzner/locations + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +cloud\_provider\_token\_uuid + +cloud\_provider\_token\_id + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-locations#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-hetzner-server-types.md b/coolify_skill/references/ops/get-hetzner-server-types.md new file mode 100644 index 0000000..0a82b24 --- /dev/null +++ b/coolify_skill/references/ops/get-hetzner-server-types.md @@ -0,0 +1,139 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#VPContent) + +Return to top + +Get Hetzner Server Types[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#get-hetzner-server-types) + +==================================================================================================================================== + +GET + +/hetzner/server-types + +Get all available Hetzner server types (instance sizes). + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#authorizations) + +---------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#parameters) + +-------------------------------------------------------------------------------------------------------- + +### Query Parameters + +cloud\_provider\_token\_uuid + +Cloud provider token UUID. Required if cloud\_provider\_token\_id is not provided. + +Type + +string + +cloud\_provider\_token\_id + +Deprecated: Use cloud\_provider\_token\_uuid instead. Cloud provider token UUID. + +Type + +string + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#responses) + +------------------------------------------------------------------------------------------------------ + +200401404 + +List of Hetzner server types. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"description": "string",\ +\ +"cores": 0,\ +\ +"memory": 0,\ +\ +"disk": 0,\ +\ +"prices": \[\ +\ +{\ +\ +"location": "string",\ +\ +"price\_hourly": {\ +\ +"net": "string",\ +\ +"gross": "string"\ +\ +},\ +\ +"price\_monthly": {\ +\ +"net": "string",\ +\ +"gross": "string"\ +\ +}\ +\ +}\ +\ +\]\ +\ +}\ +\ +\] + +GET + +/hetzner/server-types + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#playground) + +-------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +cloud\_provider\_token\_uuid + +cloud\_provider\_token\_id + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-server-types#samples) + +-------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-hetzner-ssh-keys.md b/coolify_skill/references/ops/get-hetzner-ssh-keys.md new file mode 100644 index 0000000..3367a9b --- /dev/null +++ b/coolify_skill/references/ops/get-hetzner-ssh-keys.md @@ -0,0 +1,109 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#VPContent) + +Return to top + +Get Hetzner SSH Keys[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#get-hetzner-ssh-keys) + +======================================================================================================================== + +GET + +/hetzner/ssh-keys + +Get all SSH keys stored in the Hetzner account. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#authorizations) + +------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#parameters) + +---------------------------------------------------------------------------------------------------- + +### Query Parameters + +cloud\_provider\_token\_uuid + +Cloud provider token UUID. Required if cloud\_provider\_token\_id is not provided. + +Type + +string + +cloud\_provider\_token\_id + +Deprecated: Use cloud\_provider\_token\_uuid instead. Cloud provider token UUID. + +Type + +string + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#responses) + +-------------------------------------------------------------------------------------------------- + +200401404 + +List of Hetzner SSH keys. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"fingerprint": "string",\ +\ +"public\_key": "string"\ +\ +}\ +\ +\] + +GET + +/hetzner/ssh-keys + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#playground) + +---------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +cloud\_provider\_token\_uuid + +cloud\_provider\_token\_id + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-hetzner-ssh-keys#samples) + +---------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-members-by-team-id.md b/coolify_skill/references/ops/get-members-by-team-id.md new file mode 100644 index 0000000..7e7359d --- /dev/null +++ b/coolify_skill/references/ops/get-members-by-team-id.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#VPContent) + +Return to top + +Members[​](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#members) + +================================================================================================ + +GET + +/teams/{id}/members + +Get members by TeamId. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +id\* + +Team ID + +Type + +integer + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#responses) + +---------------------------------------------------------------------------------------------------- + +200400401404 + +List of members. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"email": "string",\ +\ +"email\_verified\_at": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"two\_factor\_confirmed\_at": "string",\ +\ +"force\_password\_reset": true,\ +\ +"marketing\_emails": true\ +\ +}\ +\ +\] + +GET + +/teams/{id}/members + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +id\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-members-by-team-id#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-private-key-by-uuid.md b/coolify_skill/references/ops/get-private-key-by-uuid.md new file mode 100644 index 0000000..befd778 --- /dev/null +++ b/coolify_skill/references/ops/get-private-key-by-uuid.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#get) + +========================================================================================= + +GET + +/security/keys/{uuid} + +Get key by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Private Key UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +200400401404 + +Get all private keys. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"name": "string", + +"description": "string", + +"private\_key": "string", + +"public\_key": "string", + +"fingerprint": "string", + +"is\_git\_related": true, + +"team\_id": 0, + +"created\_at": "string", + +"updated\_at": "string" + +} + +GET + +/security/keys/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-private-key-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-project-by-uuid.md b/coolify_skill/references/ops/get-project-by-uuid.md new file mode 100644 index 0000000..b5aab0a --- /dev/null +++ b/coolify_skill/references/ops/get-project-by-uuid.md @@ -0,0 +1,97 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#get) + +===================================================================================== + +GET + +/projects/{uuid} + +Get project by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#parameters) + +--------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Project UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#responses) + +------------------------------------------------------------------------------------------------- + +200400401404 + +Project details + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"name": "string", + +"description": "string" + +} + +GET + +/projects/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#playground) + +--------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-project-by-uuid#samples) + +--------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-resources-by-server-uuid.md b/coolify_skill/references/ops/get-resources-by-server-uuid.md new file mode 100644 index 0000000..00724a8 --- /dev/null +++ b/coolify_skill/references/ops/get-resources-by-server-uuid.md @@ -0,0 +1,107 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#VPContent) + +Return to top + +Resources[​](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#resources) + +========================================================================================================== + +GET + +/servers/{uuid}/resources + +Get resources by server. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#parameters) + +------------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +Server's UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#responses) + +---------------------------------------------------------------------------------------------------------- + +200400401 + +Get resources by server + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"type": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"status": "string"\ +\ +}\ +\ +\] + +GET + +/servers/{uuid}/resources + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#playground) + +------------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-resources-by-server-uuid#samples) + +------------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-server-by-uuid.md b/coolify_skill/references/ops/get-server-by-uuid.md new file mode 100644 index 0000000..6521bee --- /dev/null +++ b/coolify_skill/references/ops/get-server-by-uuid.md @@ -0,0 +1,201 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#get) + +==================================================================================== + +GET + +/servers/{uuid} + +Get server by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#parameters) + +-------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Server's UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#responses) + +------------------------------------------------------------------------------------------------ + +200400401404 + +Get server by UUID + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"name": "string", + +"description": "string", + +"ip": "string", + +"user": "string", + +"port": 0, + +"proxy": { + +}, + +"proxy\_type": "string", + +"high\_disk\_usage\_notification\_sent": true, + +"unreachable\_notification\_sent": true, + +"unreachable\_count": 0, + +"validation\_logs": "string", + +"log\_drain\_notification\_sent": true, + +"swarm\_cluster": "string", + +"settings": { + +"id": 0, + +"concurrent\_builds": 0, + +"deployment\_queue\_limit": 0, + +"dynamic\_timeout": 0, + +"force\_disabled": true, + +"force\_server\_cleanup": true, + +"is\_build\_server": true, + +"is\_cloudflare\_tunnel": true, + +"is\_jump\_server": true, + +"is\_logdrain\_axiom\_enabled": true, + +"is\_logdrain\_custom\_enabled": true, + +"is\_logdrain\_highlight\_enabled": true, + +"is\_logdrain\_newrelic\_enabled": true, + +"is\_metrics\_enabled": true, + +"is\_reachable": true, + +"is\_sentinel\_enabled": true, + +"is\_swarm\_manager": true, + +"is\_swarm\_worker": true, + +"is\_terminal\_enabled": true, + +"is\_usable": true, + +"logdrain\_axiom\_api\_key": "string", + +"logdrain\_axiom\_dataset\_name": "string", + +"logdrain\_custom\_config": "string", + +"logdrain\_custom\_config\_parser": "string", + +"logdrain\_highlight\_project\_id": "string", + +"logdrain\_newrelic\_base\_uri": "string", + +"logdrain\_newrelic\_license\_key": "string", + +"sentinel\_metrics\_history\_days": 0, + +"sentinel\_metrics\_refresh\_rate\_seconds": 0, + +"sentinel\_token": "string", + +"docker\_cleanup\_frequency": "string", + +"docker\_cleanup\_threshold": 0, + +"server\_id": 0, + +"wildcard\_domain": "string", + +"created\_at": "string", + +"updated\_at": "string", + +"delete\_unused\_volumes": true, + +"delete\_unused\_networks": true + +} + +} + +GET + +/servers/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-server-by-uuid#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-service-by-uuid.md b/coolify_skill/references/ops/get-service-by-uuid.md new file mode 100644 index 0000000..3d9ebf5 --- /dev/null +++ b/coolify_skill/references/ops/get-service-by-uuid.md @@ -0,0 +1,125 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#get) + +===================================================================================== + +GET + +/services/{uuid} + +Get service by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#parameters) + +--------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Service UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#responses) + +------------------------------------------------------------------------------------------------- + +200400401404 + +Get a service by UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"name": "string", + +"environment\_id": 0, + +"server\_id": 0, + +"description": "string", + +"docker\_compose\_raw": "string", + +"docker\_compose": "string", + +"destination\_type": "string", + +"destination\_id": 0, + +"connect\_to\_docker\_network": true, + +"is\_container\_label\_escape\_enabled": true, + +"is\_container\_label\_readonly\_enabled": true, + +"config\_hash": "string", + +"service\_type": "string", + +"created\_at": "string", + +"updated\_at": "string", + +"deleted\_at": "string" + +} + +GET + +/services/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#playground) + +--------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-service-by-uuid#samples) + +--------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/get-team-by-id.md b/coolify_skill/references/ops/get-team-by-id.md new file mode 100644 index 0000000..d009b44 --- /dev/null +++ b/coolify_skill/references/ops/get-team-by-id.md @@ -0,0 +1,131 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#VPContent) + +Return to top + +Get[​](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#get) + +================================================================================ + +GET + +/teams/{id} + +Get team by TeamId. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#authorizations) + +------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#parameters) + +---------------------------------------------------------------------------------------------- + +### Path Parameters + +id\* + +Team ID + +Type + +integer + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#responses) + +-------------------------------------------------------------------------------------------- + +200400401404 + +List of teams. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"name": "string", + +"description": "string", + +"personal\_team": true, + +"created\_at": "string", + +"updated\_at": "string", + +"show\_boarding": true, + +"custom\_server\_limit": "string", + +"members": \[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"email": "string",\ +\ +"email\_verified\_at": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"two\_factor\_confirmed\_at": "string",\ +\ +"force\_password\_reset": true,\ +\ +"marketing\_emails": true\ +\ +}\ +\ +\] + +} + +GET + +/teams/{id} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#playground) + +---------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +id\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/get-team-by-id#samples) + +---------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/healthcheck.md b/coolify_skill/references/ops/healthcheck.md new file mode 100644 index 0000000..140f0e1 --- /dev/null +++ b/coolify_skill/references/ops/healthcheck.md @@ -0,0 +1,47 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/healthcheck#VPContent) + +Return to top + +Healthcheck[​](https://coolify.io/docs/api-reference/api/operations/healthcheck#healthcheck) + +============================================================================================= + +GET + +/health + +Healthcheck endpoint. + +Responses[​](https://coolify.io/docs/api-reference/api/operations/healthcheck#responses) + +----------------------------------------------------------------------------------------- + +200400401 + +Healthcheck endpoint. + +Content-Type + +text/html + +SchemaJSON + +JSON + +"string" + +GET + +/health + +Playground[​](https://coolify.io/docs/api-reference/api/operations/healthcheck#playground) + +------------------------------------------------------------------------------------------- + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/healthcheck#samples) + +------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-applications.md b/coolify_skill/references/ops/list-applications.md new file mode 100644 index 0000000..3564eb5 --- /dev/null +++ b/coolify_skill/references/ops/list-applications.md @@ -0,0 +1,257 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-applications#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-applications#list) + +===================================================================================== + +GET + +/applications + +List all applications. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-applications#authorizations) + +--------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/list-applications#parameters) + +------------------------------------------------------------------------------------------------- + +### Query Parameters + +tag + +Filter applications by tag name. + +Type + +string + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-applications#responses) + +----------------------------------------------------------------------------------------------- + +200400401 + +Get all applications. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"description": "string",\ +\ +"repository\_project\_id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"fqdn": "string",\ +\ +"config\_hash": "string",\ +\ +"git\_repository": "string",\ +\ +"git\_branch": "string",\ +\ +"git\_commit\_sha": "string",\ +\ +"git\_full\_url": "string",\ +\ +"docker\_registry\_image\_name": "string",\ +\ +"docker\_registry\_image\_tag": "string",\ +\ +"build\_pack": "string",\ +\ +"static\_image": "string",\ +\ +"install\_command": "string",\ +\ +"build\_command": "string",\ +\ +"start\_command": "string",\ +\ +"ports\_exposes": "string",\ +\ +"ports\_mappings": "string",\ +\ +"custom\_network\_aliases": "string",\ +\ +"base\_directory": "string",\ +\ +"publish\_directory": "string",\ +\ +"health\_check\_enabled": true,\ +\ +"health\_check\_path": "string",\ +\ +"health\_check\_port": "string",\ +\ +"health\_check\_host": "string",\ +\ +"health\_check\_method": "string",\ +\ +"health\_check\_return\_code": 0,\ +\ +"health\_check\_scheme": "string",\ +\ +"health\_check\_response\_text": "string",\ +\ +"health\_check\_interval": 0,\ +\ +"health\_check\_timeout": 0,\ +\ +"health\_check\_retries": 0,\ +\ +"health\_check\_start\_period": 0,\ +\ +"health\_check\_type": "string",\ +\ +"health\_check\_command": "string",\ +\ +"limits\_memory": "string",\ +\ +"limits\_memory\_swap": "string",\ +\ +"limits\_memory\_swappiness": 0,\ +\ +"limits\_memory\_reservation": "string",\ +\ +"limits\_cpus": "string",\ +\ +"limits\_cpuset": "string",\ +\ +"limits\_cpu\_shares": 0,\ +\ +"status": "string",\ +\ +"preview\_url\_template": "string",\ +\ +"destination\_type": "string",\ +\ +"destination\_id": 0,\ +\ +"source\_id": 0,\ +\ +"private\_key\_id": 0,\ +\ +"environment\_id": 0,\ +\ +"dockerfile": "string",\ +\ +"dockerfile\_location": "string",\ +\ +"custom\_labels": "string",\ +\ +"dockerfile\_target\_build": "string",\ +\ +"manual\_webhook\_secret\_github": "string",\ +\ +"manual\_webhook\_secret\_gitlab": "string",\ +\ +"manual\_webhook\_secret\_bitbucket": "string",\ +\ +"manual\_webhook\_secret\_gitea": "string",\ +\ +"docker\_compose\_location": "string",\ +\ +"docker\_compose": "string",\ +\ +"docker\_compose\_raw": "string",\ +\ +"docker\_compose\_domains": "string",\ +\ +"docker\_compose\_custom\_start\_command": "string",\ +\ +"docker\_compose\_custom\_build\_command": "string",\ +\ +"swarm\_replicas": 0,\ +\ +"swarm\_placement\_constraints": "string",\ +\ +"custom\_docker\_run\_options": "string",\ +\ +"post\_deployment\_command": "string",\ +\ +"post\_deployment\_command\_container": "string",\ +\ +"pre\_deployment\_command": "string",\ +\ +"pre\_deployment\_command\_container": "string",\ +\ +"watch\_paths": "string",\ +\ +"custom\_healthcheck\_found": true,\ +\ +"redirect": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"deleted\_at": "string",\ +\ +"compose\_parsing\_version": "string",\ +\ +"custom\_nginx\_configuration": "string",\ +\ +"is\_http\_basic\_auth\_enabled": true,\ +\ +"http\_basic\_auth\_username": "string",\ +\ +"http\_basic\_auth\_password": "string"\ +\ +}\ +\ +\] + +GET + +/applications + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-applications#playground) + +------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +tag + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-applications#samples) + +------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-backup-executions.md b/coolify_skill/references/ops/list-backup-executions.md new file mode 100644 index 0000000..731a625 --- /dev/null +++ b/coolify_skill/references/ops/list-backup-executions.md @@ -0,0 +1,121 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#VPContent) + +Return to top + +List backup executions[​](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#list-backup-executions) + +============================================================================================================================== + +GET + +/databases/{uuid}/backups/{scheduled\_backup\_uuid}/executions + +Get all executions for a specific backup configuration. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the database + +Type + +string + +Required + +scheduled\_backup\_uuid\* + +UUID of the backup configuration + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#responses) + +---------------------------------------------------------------------------------------------------- + +200404 + +List of backup executions + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"executions": \[\ +\ +{\ +\ +"uuid": "string",\ +\ +"filename": "string",\ +\ +"size": 0,\ +\ +"created\_at": "string",\ +\ +"message": "string",\ +\ +"status": "string"\ +\ +}\ +\ +\] + +} + +GET + +/databases/{uuid}/backups/{scheduled\_backup\_uuid}/executions + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +scheduled\_backup\_uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-backup-executions#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-cloud-tokens.md b/coolify_skill/references/ops/list-cloud-tokens.md new file mode 100644 index 0000000..93cfdd1 --- /dev/null +++ b/coolify_skill/references/ops/list-cloud-tokens.md @@ -0,0 +1,125 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-cloud-tokens#VPContent) + +Return to top + +List Cloud Provider Tokens[​](https://coolify.io/docs/api-reference/api/operations/list-cloud-tokens#list-cloud-provider-tokens) + +================================================================================================================================= + +GET + +/cloud-tokens + +List all cloud provider tokens for the authenticated team. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-cloud-tokens#authorizations) + +--------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-cloud-tokens#responses) + +----------------------------------------------------------------------------------------------- + +200400401 + +Get all cloud provider tokens. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"provider": "string",\ +\ +"team\_id": 0,\ +\ +"servers\_count": 0,\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string"\ +\ +}\ +\ +\] + +GET + +/cloud-tokens + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-cloud-tokens#playground) + +------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-cloud-tokens#samples) + +------------------------------------------------------------------------------------------- + +BrunocURLJavaScriptPHPPython + +Bruno + + GET https://app.coolify.io/api/v1/cloud-tokens + + Headers + authorization: Token + + +cURL + + curl https://app.coolify.io/api/v1/cloud-tokens \ + --header 'Authorization: Token' + +JavaScript + + fetch('https://app.coolify.io/api/v1/cloud-tokens', { + headers: { + Authorization: 'Token' + } + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/cloud-tokens"); + + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token']); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.get( + "https://app.coolify.io/api/v1/cloud-tokens", + headers={ + "Authorization": "Token" + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-databases.md b/coolify_skill/references/ops/list-databases.md new file mode 100644 index 0000000..fb5c8c4 --- /dev/null +++ b/coolify_skill/references/ops/list-databases.md @@ -0,0 +1,63 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-databases#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-databases#list) + +================================================================================== + +GET + +/databases + +List all databases. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-databases#authorizations) + +------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-databases#responses) + +-------------------------------------------------------------------------------------------- + +200400401 + +Get all databases + +Content-Type + +application/json + +SchemaJSON + +JSON + +"string" + +GET + +/databases + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-databases#playground) + +---------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-databases#samples) + +---------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-deployments-by-app-uuid.md b/coolify_skill/references/ops/list-deployments-by-app-uuid.md new file mode 100644 index 0000000..d2cc978 --- /dev/null +++ b/coolify_skill/references/ops/list-deployments-by-app-uuid.md @@ -0,0 +1,297 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#VPContent) + +Return to top + +List application deployments[​](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#list-application-deployments) + +================================================================================================================================================ + +GET + +/deployments/applications/{uuid} + +List application deployments by using the app uuid + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#parameters) + +------------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +### Query Parameters + +skip + +Number of records to skip. + +Type + +integer + +Default + +`0` + +Minimum + +`0` + +take + +Number of records to take. + +Type + +integer + +Default + +`10` + +Minimum + +`1` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#responses) + +---------------------------------------------------------------------------------------------------------- + +200400401 + +List application deployments by using the app uuid. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"description": "string",\ +\ +"repository\_project\_id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"fqdn": "string",\ +\ +"config\_hash": "string",\ +\ +"git\_repository": "string",\ +\ +"git\_branch": "string",\ +\ +"git\_commit\_sha": "string",\ +\ +"git\_full\_url": "string",\ +\ +"docker\_registry\_image\_name": "string",\ +\ +"docker\_registry\_image\_tag": "string",\ +\ +"build\_pack": "string",\ +\ +"static\_image": "string",\ +\ +"install\_command": "string",\ +\ +"build\_command": "string",\ +\ +"start\_command": "string",\ +\ +"ports\_exposes": "string",\ +\ +"ports\_mappings": "string",\ +\ +"custom\_network\_aliases": "string",\ +\ +"base\_directory": "string",\ +\ +"publish\_directory": "string",\ +\ +"health\_check\_enabled": true,\ +\ +"health\_check\_path": "string",\ +\ +"health\_check\_port": "string",\ +\ +"health\_check\_host": "string",\ +\ +"health\_check\_method": "string",\ +\ +"health\_check\_return\_code": 0,\ +\ +"health\_check\_scheme": "string",\ +\ +"health\_check\_response\_text": "string",\ +\ +"health\_check\_interval": 0,\ +\ +"health\_check\_timeout": 0,\ +\ +"health\_check\_retries": 0,\ +\ +"health\_check\_start\_period": 0,\ +\ +"health\_check\_type": "string",\ +\ +"health\_check\_command": "string",\ +\ +"limits\_memory": "string",\ +\ +"limits\_memory\_swap": "string",\ +\ +"limits\_memory\_swappiness": 0,\ +\ +"limits\_memory\_reservation": "string",\ +\ +"limits\_cpus": "string",\ +\ +"limits\_cpuset": "string",\ +\ +"limits\_cpu\_shares": 0,\ +\ +"status": "string",\ +\ +"preview\_url\_template": "string",\ +\ +"destination\_type": "string",\ +\ +"destination\_id": 0,\ +\ +"source\_id": 0,\ +\ +"private\_key\_id": 0,\ +\ +"environment\_id": 0,\ +\ +"dockerfile": "string",\ +\ +"dockerfile\_location": "string",\ +\ +"custom\_labels": "string",\ +\ +"dockerfile\_target\_build": "string",\ +\ +"manual\_webhook\_secret\_github": "string",\ +\ +"manual\_webhook\_secret\_gitlab": "string",\ +\ +"manual\_webhook\_secret\_bitbucket": "string",\ +\ +"manual\_webhook\_secret\_gitea": "string",\ +\ +"docker\_compose\_location": "string",\ +\ +"docker\_compose": "string",\ +\ +"docker\_compose\_raw": "string",\ +\ +"docker\_compose\_domains": "string",\ +\ +"docker\_compose\_custom\_start\_command": "string",\ +\ +"docker\_compose\_custom\_build\_command": "string",\ +\ +"swarm\_replicas": 0,\ +\ +"swarm\_placement\_constraints": "string",\ +\ +"custom\_docker\_run\_options": "string",\ +\ +"post\_deployment\_command": "string",\ +\ +"post\_deployment\_command\_container": "string",\ +\ +"pre\_deployment\_command": "string",\ +\ +"pre\_deployment\_command\_container": "string",\ +\ +"watch\_paths": "string",\ +\ +"custom\_healthcheck\_found": true,\ +\ +"redirect": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"deleted\_at": "string",\ +\ +"compose\_parsing\_version": "string",\ +\ +"custom\_nginx\_configuration": "string",\ +\ +"is\_http\_basic\_auth\_enabled": true,\ +\ +"http\_basic\_auth\_username": "string",\ +\ +"http\_basic\_auth\_password": "string"\ +\ +}\ +\ +\] + +GET + +/deployments/applications/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#playground) + +------------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +skip + +take + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-deployments-by-app-uuid#samples) + +------------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-deployments.md b/coolify_skill/references/ops/list-deployments.md new file mode 100644 index 0000000..3b19771 --- /dev/null +++ b/coolify_skill/references/ops/list-deployments.md @@ -0,0 +1,117 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-deployments#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-deployments#list) + +==================================================================================== + +GET + +/deployments + +List currently running deployments + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-deployments#authorizations) + +-------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-deployments#responses) + +---------------------------------------------------------------------------------------------- + +200400401 + +Get all currently running deployments. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"application\_id": "string",\ +\ +"deployment\_uuid": "string",\ +\ +"pull\_request\_id": 0,\ +\ +"docker\_registry\_image\_tag": "string",\ +\ +"force\_rebuild": true,\ +\ +"commit": "string",\ +\ +"status": "string",\ +\ +"is\_webhook": true,\ +\ +"is\_api": true,\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"logs": "string",\ +\ +"current\_process\_id": "string",\ +\ +"restart\_only": true,\ +\ +"git\_type": "string",\ +\ +"server\_id": 0,\ +\ +"application\_name": "string",\ +\ +"server\_name": "string",\ +\ +"deployment\_url": "string",\ +\ +"destination\_id": "string",\ +\ +"only\_this\_server": true,\ +\ +"rollback": true,\ +\ +"commit\_message": "string"\ +\ +}\ +\ +\] + +GET + +/deployments + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-deployments#playground) + +------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-deployments#samples) + +------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-envs-by-application-uuid.md b/coolify_skill/references/ops/list-envs-by-application-uuid.md new file mode 100644 index 0000000..1303a85 --- /dev/null +++ b/coolify_skill/references/ops/list-envs-by-application-uuid.md @@ -0,0 +1,129 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#VPContent) + +Return to top + +List Envs[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#list-envs) + +=========================================================================================================== + +GET + +/applications/{uuid}/envs + +List all envs by application UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#parameters) + +------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#responses) + +----------------------------------------------------------------------------------------------------------- + +200400401404 + +All environment variables by application UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"resourceable\_type": "string",\ +\ +"resourceable\_id": 0,\ +\ +"is\_literal": true,\ +\ +"is\_multiline": true,\ +\ +"is\_preview": true,\ +\ +"is\_runtime": true,\ +\ +"is\_buildtime": true,\ +\ +"is\_shared": true,\ +\ +"is\_shown\_once": true,\ +\ +"key": "string",\ +\ +"value": "string",\ +\ +"real\_value": "string",\ +\ +"comment": "string",\ +\ +"version": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string"\ +\ +}\ +\ +\] + +GET + +/applications/{uuid}/envs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#playground) + +------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-application-uuid#samples) + +------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-envs-by-service-uuid.md b/coolify_skill/references/ops/list-envs-by-service-uuid.md new file mode 100644 index 0000000..386165f --- /dev/null +++ b/coolify_skill/references/ops/list-envs-by-service-uuid.md @@ -0,0 +1,171 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#VPContent) + +Return to top + +List Envs[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#list-envs) + +======================================================================================================= + +GET + +/services/{uuid}/envs + +List all envs by service UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#parameters) + +--------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#responses) + +------------------------------------------------------------------------------------------------------- + +200400401404 + +All environment variables by service UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"resourceable\_type": "string",\ +\ +"resourceable\_id": 0,\ +\ +"is\_literal": true,\ +\ +"is\_multiline": true,\ +\ +"is\_preview": true,\ +\ +"is\_runtime": true,\ +\ +"is\_buildtime": true,\ +\ +"is\_shared": true,\ +\ +"is\_shown\_once": true,\ +\ +"key": "string",\ +\ +"value": "string",\ +\ +"real\_value": "string",\ +\ +"comment": "string",\ +\ +"version": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string"\ +\ +}\ +\ +\] + +GET + +/services/{uuid}/envs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#playground) + +--------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-envs-by-service-uuid#samples) + +--------------------------------------------------------------------------------------------------- + +BrunocURLJavaScriptPHPPython + +Bruno + + GET https://app.coolify.io/api/v1/services/%7Buuid%7D/envs + + Headers + authorization: Token + + +cURL + + curl 'https://app.coolify.io/api/v1/services/{uuid}/envs' \ + --header 'Authorization: Token' + +JavaScript + + fetch('https://app.coolify.io/api/v1/services/{uuid}/envs', { + headers: { + Authorization: 'Token' + } + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/services/{uuid}/envs"); + + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token']); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.get( + "https://app.coolify.io/api/v1/services/{uuid}/envs", + headers={ + "Authorization": "Token" + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-github-apps.md b/coolify_skill/references/ops/list-github-apps.md new file mode 100644 index 0000000..f608d76 --- /dev/null +++ b/coolify_skill/references/ops/list-github-apps.md @@ -0,0 +1,101 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-github-apps#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-github-apps#list) + +==================================================================================== + +GET + +/github-apps + +List all GitHub apps. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-github-apps#authorizations) + +-------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-github-apps#responses) + +---------------------------------------------------------------------------------------------- + +200400401 + +List of GitHub apps. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"organization": "string",\ +\ +"api\_url": "string",\ +\ +"html\_url": "string",\ +\ +"custom\_user": "string",\ +\ +"custom\_port": 0,\ +\ +"app\_id": 0,\ +\ +"installation\_id": 0,\ +\ +"client\_id": "string",\ +\ +"private\_key\_id": 0,\ +\ +"is\_system\_wide": true,\ +\ +"is\_public": true,\ +\ +"team\_id": 0,\ +\ +"type": "string"\ +\ +}\ +\ +\] + +GET + +/github-apps + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-github-apps#playground) + +------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-github-apps#samples) + +------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-private-keys.md b/coolify_skill/references/ops/list-private-keys.md new file mode 100644 index 0000000..5637df1 --- /dev/null +++ b/coolify_skill/references/ops/list-private-keys.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-private-keys#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-private-keys#list) + +===================================================================================== + +GET + +/security/keys + +List all private keys. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-private-keys#authorizations) + +--------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-private-keys#responses) + +----------------------------------------------------------------------------------------------- + +200400401 + +Get all private keys. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"description": "string",\ +\ +"private\_key": "string",\ +\ +"public\_key": "string",\ +\ +"fingerprint": "string",\ +\ +"is\_git\_related": true,\ +\ +"team\_id": 0,\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string"\ +\ +}\ +\ +\] + +GET + +/security/keys + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-private-keys#playground) + +------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-private-keys#samples) + +------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-projects.md b/coolify_skill/references/ops/list-projects.md new file mode 100644 index 0000000..2805fdd --- /dev/null +++ b/coolify_skill/references/ops/list-projects.md @@ -0,0 +1,77 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-projects#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-projects#list) + +================================================================================= + +GET + +/projects + +List projects. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-projects#authorizations) + +----------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-projects#responses) + +------------------------------------------------------------------------------------------- + +200400401 + +Get all projects. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"description": "string"\ +\ +}\ +\ +\] + +GET + +/projects + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-projects#playground) + +--------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-projects#samples) + +--------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-resources.md b/coolify_skill/references/ops/list-resources.md new file mode 100644 index 0000000..badd0a5 --- /dev/null +++ b/coolify_skill/references/ops/list-resources.md @@ -0,0 +1,63 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-resources#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-resources#list) + +================================================================================== + +GET + +/resources + +Get all resources. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-resources#authorizations) + +------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-resources#responses) + +-------------------------------------------------------------------------------------------- + +200400401 + +Get all resources + +Content-Type + +application/json + +SchemaJSON + +JSON + +"string" + +GET + +/resources + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-resources#playground) + +---------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-resources#samples) + +---------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-servers.md b/coolify_skill/references/ops/list-servers.md new file mode 100644 index 0000000..041bed0 --- /dev/null +++ b/coolify_skill/references/ops/list-servers.md @@ -0,0 +1,181 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-servers#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-servers#list) + +================================================================================ + +GET + +/servers + +List all servers. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-servers#authorizations) + +---------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-servers#responses) + +------------------------------------------------------------------------------------------ + +200400401 + +Get all servers. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"description": "string",\ +\ +"ip": "string",\ +\ +"user": "string",\ +\ +"port": 0,\ +\ +"proxy": {\ +\ +},\ +\ +"proxy\_type": "string",\ +\ +"high\_disk\_usage\_notification\_sent": true,\ +\ +"unreachable\_notification\_sent": true,\ +\ +"unreachable\_count": 0,\ +\ +"validation\_logs": "string",\ +\ +"log\_drain\_notification\_sent": true,\ +\ +"swarm\_cluster": "string",\ +\ +"settings": {\ +\ +"id": 0,\ +\ +"concurrent\_builds": 0,\ +\ +"deployment\_queue\_limit": 0,\ +\ +"dynamic\_timeout": 0,\ +\ +"force\_disabled": true,\ +\ +"force\_server\_cleanup": true,\ +\ +"is\_build\_server": true,\ +\ +"is\_cloudflare\_tunnel": true,\ +\ +"is\_jump\_server": true,\ +\ +"is\_logdrain\_axiom\_enabled": true,\ +\ +"is\_logdrain\_custom\_enabled": true,\ +\ +"is\_logdrain\_highlight\_enabled": true,\ +\ +"is\_logdrain\_newrelic\_enabled": true,\ +\ +"is\_metrics\_enabled": true,\ +\ +"is\_reachable": true,\ +\ +"is\_sentinel\_enabled": true,\ +\ +"is\_swarm\_manager": true,\ +\ +"is\_swarm\_worker": true,\ +\ +"is\_terminal\_enabled": true,\ +\ +"is\_usable": true,\ +\ +"logdrain\_axiom\_api\_key": "string",\ +\ +"logdrain\_axiom\_dataset\_name": "string",\ +\ +"logdrain\_custom\_config": "string",\ +\ +"logdrain\_custom\_config\_parser": "string",\ +\ +"logdrain\_highlight\_project\_id": "string",\ +\ +"logdrain\_newrelic\_base\_uri": "string",\ +\ +"logdrain\_newrelic\_license\_key": "string",\ +\ +"sentinel\_metrics\_history\_days": 0,\ +\ +"sentinel\_metrics\_refresh\_rate\_seconds": 0,\ +\ +"sentinel\_token": "string",\ +\ +"docker\_cleanup\_frequency": "string",\ +\ +"docker\_cleanup\_threshold": 0,\ +\ +"server\_id": 0,\ +\ +"wildcard\_domain": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"delete\_unused\_volumes": true,\ +\ +"delete\_unused\_networks": true\ +\ +}\ +\ +}\ +\ +\] + +GET + +/servers + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-servers#playground) + +-------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-servers#samples) + +-------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-services.md b/coolify_skill/references/ops/list-services.md new file mode 100644 index 0000000..c58fcb5 --- /dev/null +++ b/coolify_skill/references/ops/list-services.md @@ -0,0 +1,105 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-services#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-services#list) + +================================================================================= + +GET + +/services + +List all services. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-services#authorizations) + +----------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-services#responses) + +------------------------------------------------------------------------------------------- + +200400401 + +Get all services + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"name": "string",\ +\ +"environment\_id": 0,\ +\ +"server\_id": 0,\ +\ +"description": "string",\ +\ +"docker\_compose\_raw": "string",\ +\ +"docker\_compose": "string",\ +\ +"destination\_type": "string",\ +\ +"destination\_id": 0,\ +\ +"connect\_to\_docker\_network": true,\ +\ +"is\_container\_label\_escape\_enabled": true,\ +\ +"is\_container\_label\_readonly\_enabled": true,\ +\ +"config\_hash": "string",\ +\ +"service\_type": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"deleted\_at": "string"\ +\ +}\ +\ +\] + +GET + +/services + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-services#playground) + +--------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-services#samples) + +--------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/list-teams.md b/coolify_skill/references/ops/list-teams.md new file mode 100644 index 0000000..7e02415 --- /dev/null +++ b/coolify_skill/references/ops/list-teams.md @@ -0,0 +1,111 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/list-teams#VPContent) + +Return to top + +List[​](https://coolify.io/docs/api-reference/api/operations/list-teams#list) + +============================================================================== + +GET + +/teams + +Get all teams. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/list-teams#authorizations) + +-------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/list-teams#responses) + +---------------------------------------------------------------------------------------- + +200400401 + +List of teams. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"description": "string",\ +\ +"personal\_team": true,\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"show\_boarding": true,\ +\ +"custom\_server\_limit": "string",\ +\ +"members": \[\ +\ +{\ +\ +"id": 0,\ +\ +"name": "string",\ +\ +"email": "string",\ +\ +"email\_verified\_at": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string",\ +\ +"two\_factor\_confirmed\_at": "string",\ +\ +"force\_password\_reset": true,\ +\ +"marketing\_emails": true\ +\ +}\ +\ +\]\ +\ +}\ +\ +\] + +GET + +/teams + +Playground[​](https://coolify.io/docs/api-reference/api/operations/list-teams#playground) + +------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/list-teams#samples) + +------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/load-branches.md b/coolify_skill/references/ops/load-branches.md new file mode 100644 index 0000000..8675787 --- /dev/null +++ b/coolify_skill/references/ops/load-branches.md @@ -0,0 +1,121 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/load-branches#VPContent) + +Return to top + +Load Branches for a GitHub Repository[​](https://coolify.io/docs/api-reference/api/operations/load-branches#load-branches-for-a-github-repository) + +=================================================================================================================================================== + +GET + +/github-apps/{github\_app\_id}/repositories/{owner}/{repo}/branches + +Fetch branches from GitHub for a given repository. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/load-branches#authorizations) + +----------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/load-branches#parameters) + +--------------------------------------------------------------------------------------------- + +### Path Parameters + +github\_app\_id\* + +GitHub App ID + +Type + +integer + +Required + +owner\* + +Repository owner + +Type + +string + +Required + +repo\* + +Repository name + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/load-branches#responses) + +------------------------------------------------------------------------------------------- + +200400401404 + +Branches loaded successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"branches": \[\ +\ +{\ +\ +}\ +\ +\] + +} + +GET + +/github-apps/{github\_app\_id}/repositories/{owner}/{repo}/branches + +Playground[​](https://coolify.io/docs/api-reference/api/operations/load-branches#playground) + +--------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +github\_app\_id\* + +owner\* + +repo\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/load-branches#samples) + +--------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/load-repositories.md b/coolify_skill/references/ops/load-repositories.md new file mode 100644 index 0000000..2b8067e --- /dev/null +++ b/coolify_skill/references/ops/load-repositories.md @@ -0,0 +1,97 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/load-repositories#VPContent) + +Return to top + +Load Repositories for a GitHub App[​](https://coolify.io/docs/api-reference/api/operations/load-repositories#load-repositories-for-a-github-app) + +================================================================================================================================================= + +GET + +/github-apps/{github\_app\_id}/repositories + +Fetch repositories from GitHub for a given GitHub app. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/load-repositories#authorizations) + +--------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/load-repositories#parameters) + +------------------------------------------------------------------------------------------------- + +### Path Parameters + +github\_app\_id\* + +GitHub App ID + +Type + +integer + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/load-repositories#responses) + +----------------------------------------------------------------------------------------------- + +200400401404 + +Repositories loaded successfully. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"repositories": \[\ +\ +{\ +\ +}\ +\ +\] + +} + +GET + +/github-apps/{github\_app\_id}/repositories + +Playground[​](https://coolify.io/docs/api-reference/api/operations/load-repositories#playground) + +------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +github\_app\_id\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/load-repositories#samples) + +------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/restart-application-by-uuid.md b/coolify_skill/references/ops/restart-application-by-uuid.md new file mode 100644 index 0000000..08dac42 --- /dev/null +++ b/coolify_skill/references/ops/restart-application-by-uuid.md @@ -0,0 +1,93 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#VPContent) + +Return to top + +Restart[​](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#restart) + +===================================================================================================== + +GET + +/applications/{uuid}/restart + +Restart application. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#parameters) + +----------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#responses) + +--------------------------------------------------------------------------------------------------------- + +200400401404 + +Restart application. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Restart request queued.", + +"deployment\_uuid": "doogksw" + +} + +GET + +/applications/{uuid}/restart + +Playground[​](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#playground) + +----------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/restart-application-by-uuid#samples) + +----------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/restart-database-by-uuid.md b/coolify_skill/references/ops/restart-database-by-uuid.md new file mode 100644 index 0000000..8aa516a --- /dev/null +++ b/coolify_skill/references/ops/restart-database-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#VPContent) + +Return to top + +Restart[​](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#restart) + +================================================================================================== + +GET + +/databases/{uuid}/restart + +Restart database. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#authorizations) + +---------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#parameters) + +-------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#responses) + +------------------------------------------------------------------------------------------------------ + +200400401404 + +Restart database. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Database restaring request queued." + +} + +GET + +/databases/{uuid}/restart + +Playground[​](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#playground) + +-------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/restart-database-by-uuid#samples) + +-------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/restart-service-by-uuid.md b/coolify_skill/references/ops/restart-service-by-uuid.md new file mode 100644 index 0000000..f03bae3 --- /dev/null +++ b/coolify_skill/references/ops/restart-service-by-uuid.md @@ -0,0 +1,149 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#VPContent) + +Return to top + +Restart[​](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#restart) + +================================================================================================= + +GET + +/services/{uuid}/restart + +Restart service. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +### Query Parameters + +latest + +Pull latest images. + +Type + +boolean + +Default + +`false` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +200400401404 + +Restart service. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Service restaring request queued." + +} + +GET + +/services/{uuid}/restart + +Playground[​](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +latest + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/restart-service-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +BrunocURLJavaScriptPHPPython + +Bruno + + GET https://app.coolify.io/api/v1/services/%7Buuid%7D/restart + + Headers + authorization: Token + + +cURL + + curl 'https://app.coolify.io/api/v1/services/{uuid}/restart' \ + --header 'Authorization: Token' + +JavaScript + + fetch('https://app.coolify.io/api/v1/services/{uuid}/restart', { + headers: { + Authorization: 'Token' + } + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/services/{uuid}/restart"); + + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token']); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.get( + "https://app.coolify.io/api/v1/services/{uuid}/restart", + headers={ + "Authorization": "Token" + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/start-application-by-uuid.md b/coolify_skill/references/ops/start-application-by-uuid.md new file mode 100644 index 0000000..c2862a9 --- /dev/null +++ b/coolify_skill/references/ops/start-application-by-uuid.md @@ -0,0 +1,123 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#VPContent) + +Return to top + +Start[​](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#start) + +=============================================================================================== + +GET + +/applications/{uuid}/start + +Start application. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#parameters) + +--------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +### Query Parameters + +force + +Force rebuild. + +Type + +boolean + +Default + +`false` + +instant\_deploy + +Instant deploy (skip queuing). + +Type + +boolean + +Default + +`false` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#responses) + +------------------------------------------------------------------------------------------------------- + +200400401404 + +Start application. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Deployment request queued.", + +"deployment\_uuid": "doogksw" + +} + +GET + +/applications/{uuid}/start + +Playground[​](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#playground) + +--------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +force + +instant\_deploy + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/start-application-by-uuid#samples) + +--------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/start-database-by-uuid.md b/coolify_skill/references/ops/start-database-by-uuid.md new file mode 100644 index 0000000..48a08f6 --- /dev/null +++ b/coolify_skill/references/ops/start-database-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#VPContent) + +Return to top + +Start[​](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#start) + +============================================================================================ + +GET + +/databases/{uuid}/start + +Start database. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#responses) + +---------------------------------------------------------------------------------------------------- + +200400401404 + +Start database. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Database starting request queued." + +} + +GET + +/databases/{uuid}/start + +Playground[​](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/start-database-by-uuid#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/start-service-by-uuid.md b/coolify_skill/references/ops/start-service-by-uuid.md new file mode 100644 index 0000000..7061cdc --- /dev/null +++ b/coolify_skill/references/ops/start-service-by-uuid.md @@ -0,0 +1,91 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#VPContent) + +Return to top + +Start[​](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#start) + +=========================================================================================== + +GET + +/services/{uuid}/start + +Start service. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#parameters) + +----------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#responses) + +--------------------------------------------------------------------------------------------------- + +200400401404 + +Start service. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Service starting request queued." + +} + +GET + +/services/{uuid}/start + +Playground[​](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/start-service-by-uuid#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/stop-application-by-uuid.md b/coolify_skill/references/ops/stop-application-by-uuid.md new file mode 100644 index 0000000..49ff024 --- /dev/null +++ b/coolify_skill/references/ops/stop-application-by-uuid.md @@ -0,0 +1,107 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#VPContent) + +Return to top + +Stop[​](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#stop) + +============================================================================================ + +GET + +/applications/{uuid}/stop + +Stop application. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#authorizations) + +---------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#parameters) + +-------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +### Query Parameters + +docker\_cleanup + +Perform docker cleanup (prune networks, volumes, etc.). + +Type + +boolean + +Default + +`true` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#responses) + +------------------------------------------------------------------------------------------------------ + +200400401404 + +Stop application. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Application stopping request queued." + +} + +GET + +/applications/{uuid}/stop + +Playground[​](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#playground) + +-------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +docker\_cleanup + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/stop-application-by-uuid#samples) + +-------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/stop-database-by-uuid.md b/coolify_skill/references/ops/stop-database-by-uuid.md new file mode 100644 index 0000000..a9b93ff --- /dev/null +++ b/coolify_skill/references/ops/stop-database-by-uuid.md @@ -0,0 +1,107 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#VPContent) + +Return to top + +Stop[​](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#stop) + +========================================================================================= + +GET + +/databases/{uuid}/stop + +Stop database. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#parameters) + +----------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +### Query Parameters + +docker\_cleanup + +Perform docker cleanup (prune networks, volumes, etc.). + +Type + +boolean + +Default + +`true` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#responses) + +--------------------------------------------------------------------------------------------------- + +200400401404 + +Stop database. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Database stopping request queued." + +} + +GET + +/databases/{uuid}/stop + +Playground[​](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +docker\_cleanup + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/stop-database-by-uuid#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/stop-service-by-uuid.md b/coolify_skill/references/ops/stop-service-by-uuid.md new file mode 100644 index 0000000..5dd2d38 --- /dev/null +++ b/coolify_skill/references/ops/stop-service-by-uuid.md @@ -0,0 +1,107 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#VPContent) + +Return to top + +Stop[​](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#stop) + +======================================================================================== + +GET + +/services/{uuid}/stop + +Stop service. `Post` request is also accepted. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +### Query Parameters + +docker\_cleanup + +Perform docker cleanup (prune networks, volumes, etc.). + +Type + +boolean + +Default + +`true` + +Responses[​](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#responses) + +-------------------------------------------------------------------------------------------------- + +200400401404 + +Stop service. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Service stopping request queued." + +} + +GET + +/services/{uuid}/stop + +Playground[​](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#playground) + +---------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +docker\_cleanup + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/stop-service-by-uuid#samples) + +---------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-application-by-uuid.md b/coolify_skill/references/ops/update-application-by-uuid.md new file mode 100644 index 0000000..1abca64 --- /dev/null +++ b/coolify_skill/references/ops/update-application-by-uuid.md @@ -0,0 +1,253 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#update) + +================================================================================================== + +PATCH + +/applications/{uuid} + +Update application by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#request-body) + +-------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"project\_uuid": "string", + +"server\_uuid": "string", + +"environment\_name": "string", + +"github\_app\_uuid": "string", + +"git\_repository": "string", + +"git\_branch": "string", + +"ports\_exposes": "string", + +"destination\_uuid": "string", + +"build\_pack": "string", + +"name": "string", + +"description": "string", + +"domains": "string", + +"git\_commit\_sha": "string", + +"docker\_registry\_image\_name": "string", + +"docker\_registry\_image\_tag": "string", + +"is\_static": true, + +"is\_spa": true, + +"is\_auto\_deploy\_enabled": true, + +"is\_force\_https\_enabled": true, + +"install\_command": "string", + +"build\_command": "string", + +"start\_command": "string", + +"ports\_mappings": "string", + +"base\_directory": "string", + +"publish\_directory": "string", + +"health\_check\_enabled": true, + +"health\_check\_path": "string", + +"health\_check\_port": "string", + +"health\_check\_host": "string", + +"health\_check\_method": "string", + +"health\_check\_return\_code": 0, + +"health\_check\_scheme": "string", + +"health\_check\_response\_text": "string", + +"health\_check\_interval": 0, + +"health\_check\_timeout": 0, + +"health\_check\_retries": 0, + +"health\_check\_start\_period": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"custom\_labels": "string", + +"custom\_docker\_run\_options": "string", + +"post\_deployment\_command": "string", + +"post\_deployment\_command\_container": "string", + +"pre\_deployment\_command": "string", + +"pre\_deployment\_command\_container": "string", + +"manual\_webhook\_secret\_github": "string", + +"manual\_webhook\_secret\_gitlab": "string", + +"manual\_webhook\_secret\_bitbucket": "string", + +"manual\_webhook\_secret\_gitea": "string", + +"redirect": "string", + +"instant\_deploy": true, + +"dockerfile": "string", + +"dockerfile\_location": "string", + +"docker\_compose\_location": "string", + +"docker\_compose\_custom\_start\_command": "string", + +"docker\_compose\_custom\_build\_command": "string", + +"docker\_compose\_domains": \[\ +\ +{\ +\ +"name": "string",\ +\ +"domain": "string"\ +\ +}\ +\ +\], + +"watch\_paths": "string", + +"use\_build\_server": true, + +"connect\_to\_docker\_network": true, + +"force\_domain\_override": true, + +"is\_container\_label\_escape\_enabled": true, + +"is\_preserve\_repository\_enabled": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200400401404409 + +Application updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +PATCH + +/applications/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-application-by-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-cloud-token-by-uuid.md b/coolify_skill/references/ops/update-cloud-token-by-uuid.md new file mode 100644 index 0000000..4df4325 --- /dev/null +++ b/coolify_skill/references/ops/update-cloud-token-by-uuid.md @@ -0,0 +1,109 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#VPContent) + +Return to top + +Update Cloud Provider Token[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#update-cloud-provider-token) + +============================================================================================================================================ + +PATCH + +/cloud-tokens/{uuid} + +Update cloud provider token name. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Token UUID + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#request-body) + +-------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +200401404422 + +Cloud provider token updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +PATCH + +/cloud-tokens/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-cloud-token-by-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-database-backup.md b/coolify_skill/references/ops/update-database-backup.md new file mode 100644 index 0000000..abf3466 --- /dev/null +++ b/coolify_skill/references/ops/update-database-backup.md @@ -0,0 +1,133 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-database-backup#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#update) + +============================================================================================== + +PATCH + +/databases/{uuid}/backups/{scheduled\_backup\_uuid} + +Update a specific backup configuration for a given database, identified by its UUID and the backup ID + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +scheduled\_backup\_uuid\* + +UUID of the backup configuration. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#request-body) + +---------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"save\_s3": true, + +"s3\_storage\_uuid": "string", + +"backup\_now": true, + +"enabled": true, + +"databases\_to\_backup": "string", + +"dump\_all": true, + +"frequency": "string", + +"database\_backup\_retention\_amount\_locally": 0, + +"database\_backup\_retention\_days\_locally": 0, + +"database\_backup\_retention\_max\_storage\_locally": 0, + +"database\_backup\_retention\_amount\_s3": 0, + +"database\_backup\_retention\_days\_s3": 0, + +"database\_backup\_retention\_max\_storage\_s3": 0, + +"timeout": 3600 + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#responses) + +---------------------------------------------------------------------------------------------------- + +200400401404422 + +Database backup configuration updated + +PATCH + +/databases/{uuid}/backups/{scheduled\_backup\_uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +scheduled\_backup\_uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-database-backup#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-database-by-uuid.md b/coolify_skill/references/ops/update-database-by-uuid.md new file mode 100644 index 0000000..028bc69 --- /dev/null +++ b/coolify_skill/references/ops/update-database-by-uuid.md @@ -0,0 +1,173 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#update) + +=============================================================================================== + +PATCH + +/databases/{uuid} + +Update database by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the database. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#request-body) + +----------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string", + +"image": "string", + +"is\_public": true, + +"public\_port": 0, + +"public\_port\_timeout": 0, + +"limits\_memory": "string", + +"limits\_memory\_swap": "string", + +"limits\_memory\_swappiness": 0, + +"limits\_memory\_reservation": "string", + +"limits\_cpus": "string", + +"limits\_cpuset": "string", + +"limits\_cpu\_shares": 0, + +"postgres\_user": "string", + +"postgres\_password": "string", + +"postgres\_db": "string", + +"postgres\_initdb\_args": "string", + +"postgres\_host\_auth\_method": "string", + +"postgres\_conf": "string", + +"clickhouse\_admin\_user": "string", + +"clickhouse\_admin\_password": "string", + +"dragonfly\_password": "string", + +"redis\_password": "string", + +"redis\_conf": "string", + +"keydb\_password": "string", + +"keydb\_conf": "string", + +"mariadb\_conf": "string", + +"mariadb\_root\_password": "string", + +"mariadb\_user": "string", + +"mariadb\_password": "string", + +"mariadb\_database": "string", + +"mongo\_conf": "string", + +"mongo\_initdb\_root\_username": "string", + +"mongo\_initdb\_root\_password": "string", + +"mongo\_initdb\_database": "string", + +"mysql\_root\_password": "string", + +"mysql\_password": "string", + +"mysql\_user": "string", + +"mysql\_database": "string", + +"mysql\_conf": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +200400401404422 + +Database updated + +PATCH + +/databases/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-database-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-env-by-application-uuid.md b/coolify_skill/references/ops/update-env-by-application-uuid.md new file mode 100644 index 0000000..d59091f --- /dev/null +++ b/coolify_skill/references/ops/update-env-by-application-uuid.md @@ -0,0 +1,153 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#VPContent) + +Return to top + +Update Env[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#update-env) + +============================================================================================================== + +PATCH + +/applications/{uuid}/envs + +Update env by application UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#authorizations) + +---------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#parameters) + +-------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#request-body) + +------------------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"key": "string", + +"value": "string", + +"is\_preview": true, + +"is\_literal": true, + +"is\_multiline": true, + +"is\_shown\_once": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#responses) + +------------------------------------------------------------------------------------------------------------ + +201400401404 + +Environment variable updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"resourceable\_type": "string", + +"resourceable\_id": 0, + +"is\_literal": true, + +"is\_multiline": true, + +"is\_preview": true, + +"is\_runtime": true, + +"is\_buildtime": true, + +"is\_shared": true, + +"is\_shown\_once": true, + +"key": "string", + +"value": "string", + +"real\_value": "string", + +"comment": "string", + +"version": "string", + +"created\_at": "string", + +"updated\_at": "string" + +} + +PATCH + +/applications/{uuid}/envs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#playground) + +-------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-application-uuid#samples) + +-------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-env-by-service-uuid.md b/coolify_skill/references/ops/update-env-by-service-uuid.md new file mode 100644 index 0000000..7b2e80a --- /dev/null +++ b/coolify_skill/references/ops/update-env-by-service-uuid.md @@ -0,0 +1,153 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#VPContent) + +Return to top + +Update Env[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#update-env) + +========================================================================================================== + +PATCH + +/services/{uuid}/envs + +Update env by service UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------ + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#parameters) + +---------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#request-body) + +-------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"key": "string", + +"value": "string", + +"is\_preview": true, + +"is\_literal": true, + +"is\_multiline": true, + +"is\_shown\_once": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#responses) + +-------------------------------------------------------------------------------------------------------- + +201400401404422 + +Environment variable updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"resourceable\_type": "string", + +"resourceable\_id": 0, + +"is\_literal": true, + +"is\_multiline": true, + +"is\_preview": true, + +"is\_runtime": true, + +"is\_buildtime": true, + +"is\_shared": true, + +"is\_shown\_once": true, + +"key": "string", + +"value": "string", + +"real\_value": "string", + +"comment": "string", + +"version": "string", + +"created\_at": "string", + +"updated\_at": "string" + +} + +PATCH + +/services/{uuid}/envs + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#playground) + +---------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-env-by-service-uuid#samples) + +---------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-envs-by-application-uuid.md b/coolify_skill/references/ops/update-envs-by-application-uuid.md new file mode 100644 index 0000000..b50afc6 --- /dev/null +++ b/coolify_skill/references/ops/update-envs-by-application-uuid.md @@ -0,0 +1,165 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#VPContent) + +Return to top + +Update Envs (Bulk)[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#update-envs-bulk) + +============================================================================================================================= + +PATCH + +/applications/{uuid}/envs/bulk + +Update multiple envs by application UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#authorizations) + +----------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#parameters) + +--------------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the application. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#request-body) + +------------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"data": \[\ +\ +{\ +\ +"key": "string",\ +\ +"value": "string",\ +\ +"is\_preview": true,\ +\ +"is\_literal": true,\ +\ +"is\_multiline": true,\ +\ +"is\_shown\_once": true\ +\ +}\ +\ +\] + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#responses) + +------------------------------------------------------------------------------------------------------------- + +201400401404 + +Environment variables updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"resourceable\_type": "string",\ +\ +"resourceable\_id": 0,\ +\ +"is\_literal": true,\ +\ +"is\_multiline": true,\ +\ +"is\_preview": true,\ +\ +"is\_runtime": true,\ +\ +"is\_buildtime": true,\ +\ +"is\_shared": true,\ +\ +"is\_shown\_once": true,\ +\ +"key": "string",\ +\ +"value": "string",\ +\ +"real\_value": "string",\ +\ +"comment": "string",\ +\ +"version": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string"\ +\ +}\ +\ +\] + +PATCH + +/applications/{uuid}/envs/bulk + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#playground) + +--------------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-application-uuid#samples) + +--------------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-envs-by-service-uuid.md b/coolify_skill/references/ops/update-envs-by-service-uuid.md new file mode 100644 index 0000000..4822552 --- /dev/null +++ b/coolify_skill/references/ops/update-envs-by-service-uuid.md @@ -0,0 +1,165 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#VPContent) + +Return to top + +Update Envs (Bulk)[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#update-envs-bulk) + +========================================================================================================================= + +PATCH + +/services/{uuid}/envs/bulk + +Update multiple envs by service UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#parameters) + +----------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#request-body) + +--------------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"data": \[\ +\ +{\ +\ +"key": "string",\ +\ +"value": "string",\ +\ +"is\_preview": true,\ +\ +"is\_literal": true,\ +\ +"is\_multiline": true,\ +\ +"is\_shown\_once": true\ +\ +}\ +\ +\] + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#responses) + +--------------------------------------------------------------------------------------------------------- + +201400401404422 + +Environment variables updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +\[\ +\ +{\ +\ +"id": 0,\ +\ +"uuid": "string",\ +\ +"resourceable\_type": "string",\ +\ +"resourceable\_id": 0,\ +\ +"is\_literal": true,\ +\ +"is\_multiline": true,\ +\ +"is\_preview": true,\ +\ +"is\_runtime": true,\ +\ +"is\_buildtime": true,\ +\ +"is\_shared": true,\ +\ +"is\_shown\_once": true,\ +\ +"key": "string",\ +\ +"value": "string",\ +\ +"real\_value": "string",\ +\ +"comment": "string",\ +\ +"version": "string",\ +\ +"created\_at": "string",\ +\ +"updated\_at": "string"\ +\ +}\ +\ +\] + +PATCH + +/services/{uuid}/envs/bulk + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#playground) + +----------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-envs-by-service-uuid#samples) + +----------------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-private-key.md b/coolify_skill/references/ops/update-private-key.md new file mode 100644 index 0000000..d439390 --- /dev/null +++ b/coolify_skill/references/ops/update-private-key.md @@ -0,0 +1,89 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-private-key#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-private-key#update) + +========================================================================================== + +PATCH + +/security/keys + +Update a private key. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-private-key#authorizations) + +---------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-private-key#request-body) + +------------------------------------------------------------------------------------------------------ + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string", + +"private\_key": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-private-key#responses) + +------------------------------------------------------------------------------------------------ + +201400401422 + +The updated private key's UUID. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string" + +} + +PATCH + +/security/keys + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-private-key#playground) + +-------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-private-key#samples) + +-------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-project-by-uuid.md b/coolify_skill/references/ops/update-project-by-uuid.md new file mode 100644 index 0000000..85a79f7 --- /dev/null +++ b/coolify_skill/references/ops/update-project-by-uuid.md @@ -0,0 +1,115 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#update) + +============================================================================================== + +PATCH + +/projects/{uuid} + +Update Project. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the project. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#request-body) + +---------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#responses) + +---------------------------------------------------------------------------------------------------- + +201400401404422 + +Project updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "og888os", + +"name": "Project Name", + +"description": "Project Description" + +} + +PATCH + +/projects/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-project-by-uuid#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-server-by-uuid.md b/coolify_skill/references/ops/update-server-by-uuid.md new file mode 100644 index 0000000..fbe3420 --- /dev/null +++ b/coolify_skill/references/ops/update-server-by-uuid.md @@ -0,0 +1,245 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#update) + +============================================================================================= + +PATCH + +/servers/{uuid} + +Update Server. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#authorizations) + +------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#parameters) + +----------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Server UUID + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#request-body) + +--------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string", + +"ip": "string", + +"port": 0, + +"user": "string", + +"private\_key\_uuid": "string", + +"is\_build\_server": true, + +"instant\_validate": true, + +"proxy\_type": "string", + +"concurrent\_builds": 0, + +"dynamic\_timeout": 0, + +"deployment\_queue\_limit": 0, + +"server\_disk\_usage\_notification\_threshold": 0, + +"server\_disk\_usage\_check\_frequency": "string" + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#responses) + +--------------------------------------------------------------------------------------------------- + +201400401404422 + +Server updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"id": 0, + +"uuid": "string", + +"name": "string", + +"description": "string", + +"ip": "string", + +"user": "string", + +"port": 0, + +"proxy": { + +}, + +"proxy\_type": "string", + +"high\_disk\_usage\_notification\_sent": true, + +"unreachable\_notification\_sent": true, + +"unreachable\_count": 0, + +"validation\_logs": "string", + +"log\_drain\_notification\_sent": true, + +"swarm\_cluster": "string", + +"settings": { + +"id": 0, + +"concurrent\_builds": 0, + +"deployment\_queue\_limit": 0, + +"dynamic\_timeout": 0, + +"force\_disabled": true, + +"force\_server\_cleanup": true, + +"is\_build\_server": true, + +"is\_cloudflare\_tunnel": true, + +"is\_jump\_server": true, + +"is\_logdrain\_axiom\_enabled": true, + +"is\_logdrain\_custom\_enabled": true, + +"is\_logdrain\_highlight\_enabled": true, + +"is\_logdrain\_newrelic\_enabled": true, + +"is\_metrics\_enabled": true, + +"is\_reachable": true, + +"is\_sentinel\_enabled": true, + +"is\_swarm\_manager": true, + +"is\_swarm\_worker": true, + +"is\_terminal\_enabled": true, + +"is\_usable": true, + +"logdrain\_axiom\_api\_key": "string", + +"logdrain\_axiom\_dataset\_name": "string", + +"logdrain\_custom\_config": "string", + +"logdrain\_custom\_config\_parser": "string", + +"logdrain\_highlight\_project\_id": "string", + +"logdrain\_newrelic\_base\_uri": "string", + +"logdrain\_newrelic\_license\_key": "string", + +"sentinel\_metrics\_history\_days": 0, + +"sentinel\_metrics\_refresh\_rate\_seconds": 0, + +"sentinel\_token": "string", + +"docker\_cleanup\_frequency": "string", + +"docker\_cleanup\_threshold": 0, + +"server\_id": 0, + +"wildcard\_domain": "string", + +"created\_at": "string", + +"updated\_at": "string", + +"delete\_unused\_volumes": true, + +"delete\_unused\_networks": true + +} + +} + +PATCH + +/servers/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#playground) + +----------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-server-by-uuid#samples) + +----------------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/update-service-by-uuid.md b/coolify_skill/references/ops/update-service-by-uuid.md new file mode 100644 index 0000000..c7f52ad --- /dev/null +++ b/coolify_skill/references/ops/update-service-by-uuid.md @@ -0,0 +1,149 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#VPContent) + +Return to top + +Update[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#update) + +============================================================================================== + +PATCH + +/services/{uuid} + +Update service by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +UUID of the service. + +Type + +string + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#request-body) + +---------------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"description": "string", + +"project\_uuid": "string", + +"environment\_name": "string", + +"environment\_uuid": "string", + +"server\_uuid": "string", + +"destination\_uuid": "string", + +"instant\_deploy": true, + +"connect\_to\_docker\_network": false, + +"docker\_compose\_raw": "string", + +"urls": \[\ +\ +{\ +\ +"name": "string",\ +\ +"url": "string"\ +\ +}\ +\ +\], + +"force\_domain\_override": false, + +"is\_container\_label\_escape\_enabled": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#responses) + +---------------------------------------------------------------------------------------------------- + +200 + +Service updated. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"uuid": "string", + +"domains": \[\ +\ +"string"\ +\ +\] + +} + +PATCH + +/services/{uuid} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#playground) + +------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/update-service-by-uuid#samples) + +------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/updateGithubApp.md b/coolify_skill/references/ops/updateGithubApp.md new file mode 100644 index 0000000..27bc53d --- /dev/null +++ b/coolify_skill/references/ops/updateGithubApp.md @@ -0,0 +1,137 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#VPContent) + +Return to top + +Update GitHub App[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#update-github-app) + +============================================================================================================= + +PATCH + +/github-apps/{github\_app\_id} + +Update an existing GitHub app. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#authorizations) + +------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#parameters) + +----------------------------------------------------------------------------------------------- + +### Path Parameters + +github\_app\_id\* + +GitHub App ID + +Type + +integer + +Required + +Request Body[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#request-body) + +--------------------------------------------------------------------------------------------------- + +application/json + +SchemaJSON + +JSON + +{ + +"name": "string", + +"organization": "string", + +"api\_url": "string", + +"html\_url": "string", + +"custom\_user": "string", + +"custom\_port": 0, + +"app\_id": 0, + +"installation\_id": 0, + +"client\_id": "string", + +"client\_secret": "string", + +"webhook\_secret": "string", + +"private\_key\_uuid": "string", + +"is\_system\_wide": true + +} + +Responses[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#responses) + +--------------------------------------------------------------------------------------------- + +200401404422 + +GitHub app updated successfully + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "GitHub app updated successfully", + +"data": { + +} + +} + +PATCH + +/github-apps/{github\_app\_id} + +Playground[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#playground) + +----------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +github\_app\_id\* + +Body + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/updateGithubApp#samples) + +----------------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/validate-cloud-token-by-uuid.md b/coolify_skill/references/ops/validate-cloud-token-by-uuid.md new file mode 100644 index 0000000..7cdced1 --- /dev/null +++ b/coolify_skill/references/ops/validate-cloud-token-by-uuid.md @@ -0,0 +1,93 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#VPContent) + +Return to top + +Validate Cloud Provider Token[​](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#validate-cloud-provider-token) + +================================================================================================================================================== + +POST + +/cloud-tokens/{uuid}/validate + +Validate a cloud provider token against the provider API. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#authorizations) + +-------------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------------ + +### Path Parameters + +uuid\* + +Token UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#responses) + +---------------------------------------------------------------------------------------------------------- + +200401404 + +Token validation result. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"valid": true, + +"message": "Token is valid." + +} + +POST + +/cloud-tokens/{uuid}/validate + +Playground[​](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#playground) + +------------------------------------------------------------------------------------------------------------ + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/validate-cloud-token-by-uuid#samples) + +------------------------------------------------------------------------------------------------------ + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/validate-server-by-uuid.md b/coolify_skill/references/ops/validate-server-by-uuid.md new file mode 100644 index 0000000..0afd1ce --- /dev/null +++ b/coolify_skill/references/ops/validate-server-by-uuid.md @@ -0,0 +1,133 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#VPContent) + +Return to top + +Validate[​](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#validate) + +=================================================================================================== + +GET + +/servers/{uuid}/validate + +Validate server by UUID. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#authorizations) + +--------------------------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Parameters[​](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#parameters) + +------------------------------------------------------------------------------------------------------- + +### Path Parameters + +uuid\* + +Server UUID + +Type + +string + +Required + +Responses[​](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#responses) + +----------------------------------------------------------------------------------------------------- + +201400401404422 + +Server validation started. + +Content-Type + +application/json + +SchemaJSON + +JSON + +{ + +"message": "Validation started." + +} + +GET + +/servers/{uuid}/validate + +Playground[​](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#playground) + +------------------------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Variables + +Key + +Value + +uuid\* + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/validate-server-by-uuid#samples) + +------------------------------------------------------------------------------------------------- + +BrunocURLJavaScriptPHPPython + +Bruno + + GET https://app.coolify.io/api/v1/servers/%7Buuid%7D/validate + + Headers + authorization: Token + + +cURL + + curl 'https://app.coolify.io/api/v1/servers/{uuid}/validate' \ + --header 'Authorization: Token' + +JavaScript + + fetch('https://app.coolify.io/api/v1/servers/{uuid}/validate', { + headers: { + Authorization: 'Token' + } + }) + +PHP + + $ch = curl_init("https://app.coolify.io/api/v1/servers/{uuid}/validate"); + + curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token']); + + curl_exec($ch); + + curl_close($ch); + +Python + + requests.get( + "https://app.coolify.io/api/v1/servers/{uuid}/validate", + headers={ + "Authorization": "Token" + } + ) + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/ops/version.md b/coolify_skill/references/ops/version.md new file mode 100644 index 0000000..c840b1c --- /dev/null +++ b/coolify_skill/references/ops/version.md @@ -0,0 +1,63 @@ +[Skip to content](https://coolify.io/docs/api-reference/api/operations/version#VPContent) + +Return to top + +Version[​](https://coolify.io/docs/api-reference/api/operations/version#version) + +================================================================================= + +GET + +/version + +Get Coolify version. + +Authorizations[​](https://coolify.io/docs/api-reference/api/operations/version#authorizations) + +----------------------------------------------------------------------------------------------- + +bearerAuth + +Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token. + +Type + +HTTP (bearer) + +Responses[​](https://coolify.io/docs/api-reference/api/operations/version#responses) + +------------------------------------------------------------------------------------- + +200400401 + +Returns the version of the application + +Content-Type + +text/html + +SchemaJSON + +JSON + +"string" + +GET + +/version + +Playground[​](https://coolify.io/docs/api-reference/api/operations/version#playground) + +--------------------------------------------------------------------------------------- + +Authorization + +bearerAuth + +Try it out + +Samples[​](https://coolify.io/docs/api-reference/api/operations/version#samples) + +--------------------------------------------------------------------------------- + +Powered by [VitePress OpenAPI](https://github.com/enzonotario/vitepress-openapi) diff --git a/coolify_skill/references/project-context.md b/coolify_skill/references/project-context.md new file mode 100644 index 0000000..f778988 --- /dev/null +++ b/coolify_skill/references/project-context.md @@ -0,0 +1,32 @@ +# Project Context + +This reference stores non-secret Coolify context for this repo. + +## Topology + +- Proxmox host: `192.168.0.200`. +- Proxmox node: `thinkcentre`. +- Docker and Coolify run inside LXC `102` named `coolify`. +- Operate Docker through Proxmox: + `.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ..."` + +## Coolify Access Model + +- Public UI: `https://coolify.urieljareth.org`. +- Default API base: `https://coolify.urieljareth.org/api/v1`. +- Local UI address may exist on the LAN; verify before relying on it. +- API access requires `COOLIFY_TOKEN` in the current shell. +- Do not store API tokens, private keys, cookies, passwords, or Proxmox token + secrets in this repo. + +## Useful Local Docs + +- `docs/proxmox-inventory.md`: current topology and access model. +- `docs/runbooks/coolify-docker.md`: Docker operations through LXC `102`. +- `docs/runbooks/nextcloud.md`: Nextcloud-specific recovery notes. + +## Known Nextcloud Detail + +Nextcloud's PostgreSQL host inside Docker is `nextcloud-db`, not `localhost`. +When app and database are sibling containers, use Docker service names for +database hosts. diff --git a/coolify_skill/scripts/Get-CoolifyDockerStatus.ps1 b/coolify_skill/scripts/Get-CoolifyDockerStatus.ps1 new file mode 100644 index 0000000..20df9b1 --- /dev/null +++ b/coolify_skill/scripts/Get-CoolifyDockerStatus.ps1 @@ -0,0 +1,35 @@ +param( + [string]$Filter = "coolify|cloudflared|nextcloud|postgres|redis|openclaw|codimd|n8n|qdrant|baserow", + + [switch]$All +) + +$ErrorActionPreference = "Stop" + +$repoRoot = Resolve-Path (Join-Path $PSScriptRoot "..\..") +$invokeSsh = Join-Path $repoRoot "scripts\Invoke-ProxmoxSsh.ps1" +$agentScript = Join-Path $repoRoot "scripts\ProxmoxAgent.ps1" + +if (-not (Test-Path -LiteralPath $invokeSsh)) { + throw "Missing Proxmox SSH wrapper: $invokeSsh" +} + +if (-not (Test-Path -LiteralPath $agentScript)) { + throw "Missing Proxmox agent script: $agentScript" +} + +. $agentScript +$config = Get-ProxmoxConfig +$format = "table {{.Names}}\t{{.Status}}\t{{.Ports}}" +$command = "pct exec $($config.CoolifyLxc) -- docker ps -a --format '$format'" +$lines = @(& $invokeSsh -Command $command) + +if ($All) { + $lines + return +} + +if ($lines.Count -gt 0) { + $lines | Select-Object -First 1 + $lines | Select-Object -Skip 1 | Where-Object { $_ -match $Filter } +} diff --git a/coolify_skill/scripts/Invoke-CoolifyApi.ps1 b/coolify_skill/scripts/Invoke-CoolifyApi.ps1 new file mode 100644 index 0000000..8063738 --- /dev/null +++ b/coolify_skill/scripts/Invoke-CoolifyApi.ps1 @@ -0,0 +1,66 @@ +param( + [ValidateSet("GET", "POST", "PUT", "PATCH", "DELETE")] + [string]$Method = "GET", + + [Parameter(Mandatory = $true)] + [string]$Path, + + [string]$BodyJson, + + [switch]$Raw +) + +$ErrorActionPreference = "Stop" + +$baseUrl = if ($env:COOLIFY_API_URL) { + $env:COOLIFY_API_URL +} +else { + "https://coolify.urieljareth.org/api/v1" +} + +if ([string]::IsNullOrWhiteSpace($env:COOLIFY_TOKEN)) { + throw "Set COOLIFY_TOKEN before calling the Coolify API." +} + +$baseUrl = $baseUrl.TrimEnd("/") +$cleanPath = if ($Path.StartsWith("/")) { $Path } else { "/$Path" } +$uri = "$baseUrl$cleanPath" + +$headers = @{ + Authorization = "Bearer $($env:COOLIFY_TOKEN)" + Accept = "application/json" +} + +$request = @{ + Method = $Method + Uri = $uri + Headers = $headers + TimeoutSec = 30 +} + +if ($PSBoundParameters.ContainsKey("BodyJson")) { + try { + $null = $BodyJson | ConvertFrom-Json + } + catch { + throw "BodyJson is not valid JSON: $($_.Exception.Message)" + } + + $request.Body = $BodyJson + $request.ContentType = "application/json" +} + +try { + $response = Invoke-RestMethod @request +} +catch { + throw "Coolify API request failed: $($_.Exception.Message)" +} + +if ($Raw) { + $response +} +else { + $response | ConvertTo-Json -Depth 50 +} diff --git a/coolify_skill/scripts/coolify.sh b/coolify_skill/scripts/coolify.sh new file mode 100644 index 0000000..221a3c5 --- /dev/null +++ b/coolify_skill/scripts/coolify.sh @@ -0,0 +1,1097 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Coolify CLI - Pure bash implementation +# Manages Coolify deployments, applications, databases, and services via the Coolify API + +# Configuration +COOLIFY_API_URL="${COOLIFY_API_URL:-https://app.coolify.io/api/v1}" +COOLIFY_TOKEN="${COOLIFY_TOKEN:-}" + +# Colors for output (optional, falls back to plain) +if [[ -t 1 ]]; then + RED='\033[0;31m' + GREEN='\033[0;32m' + YELLOW='\033[1;33m' + NC='\033[0m' +else + RED='' GREEN='' YELLOW='' NC='' +fi + +# ============================================================================ +# Helper Functions +# ============================================================================ + +check_requirements() { + local missing=() + + command -v curl >/dev/null 2>&1 || missing+=("curl") + command -v jq >/dev/null 2>&1 || missing+=("jq") + + if [[ ${#missing[@]} -gt 0 ]]; then + error_response "MissingDependency" \ + "Missing required tools: ${missing[*]}" \ + "Install with: apt-get install ${missing[*]} (Debian/Ubuntu) or brew install ${missing[*]} (macOS)" + exit 1 + fi + + if [[ -z "$COOLIFY_TOKEN" ]]; then + error_response "MissingToken" \ + "COOLIFY_TOKEN environment variable not set" \ + "Set your API token: export COOLIFY_TOKEN='your-token-here'" + exit 1 + fi +} + +api_call() { + local method="$1" + local endpoint="$2" + local data="${3:-}" + + local url="${COOLIFY_API_URL}${endpoint}" + local response + local http_code + local temp_file + + temp_file=$(mktemp) + + if [[ -n "$data" ]]; then + http_code=$(curl -s -w "%{http_code}" -o "$temp_file" \ + -X "$method" \ + -H "Authorization: Bearer ${COOLIFY_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "$data" \ + "$url") + else + http_code=$(curl -s -w "%{http_code}" -o "$temp_file" \ + -X "$method" \ + -H "Authorization: Bearer ${COOLIFY_TOKEN}" \ + "$url") + fi + + response=$(cat "$temp_file") + rm -f "$temp_file" + + # Handle HTTP errors + if [[ "$http_code" -ge 400 ]]; then + local error_msg + error_msg=$(echo "$response" | jq -r '.message // .error // "Unknown error"' 2>/dev/null || echo "HTTP $http_code error") + + error_response "APIError" \ + "API request failed (HTTP $http_code): $error_msg" \ + "Check your API token and parameters" + return 1 + fi + + echo "$response" +} + +success_response() { + local data="$1" + local count="${2:-}" + + if [[ -n "$count" ]]; then + echo "$data" | jq --argjson cnt "$count" '{success: true, data: ., count: $cnt}' + else + echo "$data" | jq '{success: true, data: .}' + fi +} + +error_response() { + local type="$1" + local message="$2" + local hint="${3:-}" + + jq -n \ + --arg type "$type" \ + --arg msg "$message" \ + --arg hint "$hint" \ + '{success: false, error: {type: $type, message: $msg, hint: $hint}}' +} + +# ============================================================================ +# Applications Commands +# ============================================================================ + +cmd_applications_list() { + local tag="" + + while [[ $# -gt 0 ]]; do + case $1 in + --tag) + tag="$2" + shift 2 + ;; + *) + error_response "UnknownOption" "Unknown option: $1" "Run: coolify applications list --help" + return 1 + ;; + esac + done + + local endpoint="/applications" + [[ -n "$tag" ]] && endpoint="${endpoint}?tag=${tag}" + + local response + response=$(api_call GET "$endpoint") + + local count + count=$(echo "$response" | jq 'length') + success_response "$response" "$count" +} + +cmd_applications_get() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) + uuid="$2" + shift 2 + ;; + *) + error_response "UnknownOption" "Unknown option: $1" "Run: coolify applications get --uuid " + return 1 + ;; + esac + done + + if [[ -z "$uuid" ]]; then + error_response "MissingParameter" "Missing required parameter: --uuid" "Usage: coolify applications get --uuid " + return 1 + fi + + local response + response=$(api_call GET "/applications/${uuid}") + success_response "$response" +} + +cmd_applications_start() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) + uuid="$2" + shift 2 + ;; + *) + shift + ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call POST "/applications/${uuid}/start") + success_response "$response" +} + +cmd_applications_stop() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) + uuid="$2" + shift 2 + ;; + *) + shift + ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call POST "/applications/${uuid}/stop") + success_response "$response" +} + +cmd_applications_restart() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) + uuid="$2" + shift 2 + ;; + *) + shift + ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call POST "/applications/${uuid}/restart") + success_response "$response" +} + +cmd_applications_logs() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) + uuid="$2" + shift 2 + ;; + *) + shift + ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call GET "/applications/${uuid}/logs") + success_response "$response" +} + +cmd_applications_envs() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) + cmd_applications_envs_list "$@" + ;; + create) + cmd_applications_envs_create "$@" + ;; + update) + cmd_applications_envs_update "$@" + ;; + delete) + cmd_applications_envs_delete "$@" + ;; + bulk-update) + cmd_applications_envs_bulk_update "$@" + ;; + *) + error_response "UnknownSubcommand" "Unknown envs subcommand: $subcommand" \ + "Available: list, create, update, delete, bulk-update" + return 1 + ;; + esac +} + +cmd_applications_envs_list() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) + uuid="$2" + shift 2 + ;; + *) + shift + ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call GET "/applications/${uuid}/envs") + success_response "$response" +} + +cmd_applications_envs_create() { + local uuid="" key="" value="" is_runtime="true" is_buildtime="false" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + --key) key="$2"; shift 2 ;; + --value) value="$2"; shift 2 ;; + --is-runtime) is_runtime="$2"; shift 2 ;; + --is-buildtime) is_buildtime="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + [[ -z "$key" ]] && { error_response "MissingParameter" "Missing --key" ""; return 1; } + [[ -z "$value" ]] && { error_response "MissingParameter" "Missing --value" ""; return 1; } + + local data + data=$(jq -n \ + --arg key "$key" \ + --arg value "$value" \ + --argjson runtime "$is_runtime" \ + --argjson buildtime "$is_buildtime" \ + '{key: $key, value: $value, is_runtime: $runtime, is_buildtime: $buildtime}') + + local response + response=$(api_call POST "/applications/${uuid}/envs" "$data") + success_response "$response" +} + +cmd_applications_envs_update() { + local uuid="" env_uuid="" value="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + --env-uuid) env_uuid="$2"; shift 2 ;; + --value) value="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + [[ -z "$env_uuid" ]] && { error_response "MissingParameter" "Missing --env-uuid" ""; return 1; } + [[ -z "$value" ]] && { error_response "MissingParameter" "Missing --value" ""; return 1; } + + local data + data=$(jq -n --arg value "$value" '{value: $value}') + + local response + response=$(api_call PATCH "/applications/${uuid}/envs/${env_uuid}" "$data") + success_response "$response" +} + +cmd_applications_envs_delete() { + local uuid="" env_uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + --env-uuid) env_uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + [[ -z "$env_uuid" ]] && { error_response "MissingParameter" "Missing --env-uuid" ""; return 1; } + + local response + response=$(api_call DELETE "/applications/${uuid}/envs/${env_uuid}") + success_response "$response" +} + +cmd_applications_envs_bulk_update() { + local uuid="" json="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + --json) json="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + [[ -z "$json" ]] && { error_response "MissingParameter" "Missing --json" ""; return 1; } + + local response + response=$(api_call POST "/applications/${uuid}/envs/bulk" "$json") + success_response "$response" +} + +cmd_applications_create_public() { + local project_uuid="" server_uuid="" git_repository="" git_branch="" name="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --git-repository) git_repository="$2"; shift 2 ;; + --git-branch) git_branch="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$git_repository" ]] && { error_response "MissingParameter" "Missing --git-repository" ""; return 1; } + [[ -z "$git_branch" ]] && { error_response "MissingParameter" "Missing --git-branch" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg repo "$git_repository" \ + --arg branch "$git_branch" \ + --arg name "$name" \ + '{project_uuid: $project, server_uuid: $server, git_repository: $repo, git_branch: $branch, name: $name, build_pack: "nixpacks", ports_exposes: "3000"}') + + local response + response=$(api_call POST "/applications/public" "$data") + success_response "$response" +} + +# ============================================================================ +# Databases Commands +# ============================================================================ + +cmd_databases_list() { + local response + response=$(api_call GET "/databases") + + local count + count=$(echo "$response" | jq 'length') + success_response "$response" "$count" +} + +cmd_databases_get() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call GET "/databases/${uuid}") + success_response "$response" +} + +cmd_databases_start() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call POST "/databases/${uuid}/start") + success_response "$response" +} + +cmd_databases_stop() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call POST "/databases/${uuid}/stop") + success_response "$response" +} + +cmd_databases_restart() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call POST "/databases/${uuid}/restart") + success_response "$response" +} + +cmd_databases_delete() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call DELETE "/databases/${uuid}") + success_response "$response" +} + +cmd_databases_create_postgresql() { + local project_uuid="" server_uuid="" name="" postgres_user="postgres" postgres_password="" postgres_db="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --postgres-user) postgres_user="$2"; shift 2 ;; + --postgres-password) postgres_password="$2"; shift 2 ;; + --postgres-db) postgres_db="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg user "$postgres_user" \ + --arg password "$postgres_password" \ + --arg db "$postgres_db" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "postgresql", postgres_user: $user, postgres_password: $password, postgres_db: $db}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + + +cmd_databases_create_mysql() { + local project_uuid="" server_uuid="" name="" mysql_root_password="" mysql_database="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --mysql-root-password) mysql_root_password="$2"; shift 2 ;; + --mysql-database) mysql_database="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg password "$mysql_root_password" \ + --arg database "$mysql_database" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "mysql", mysql_root_password: $password, mysql_database: $database}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + +cmd_databases_create_mariadb() { + local project_uuid="" server_uuid="" name="" mariadb_root_password="" mariadb_database="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --mariadb-root-password) mariadb_root_password="$2"; shift 2 ;; + --mariadb-database) mariadb_database="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg password "$mariadb_root_password" \ + --arg database "$mariadb_database" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "mariadb", mariadb_root_password: $password, mariadb_database: $database}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + +cmd_databases_create_mongodb() { + local project_uuid="" server_uuid="" name="" mongo_initdb_root_username="" mongo_initdb_root_password="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --mongo-initdb-root-username) mongo_initdb_root_username="$2"; shift 2 ;; + --mongo-initdb-root-password) mongo_initdb_root_password="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg username "$mongo_initdb_root_username" \ + --arg password "$mongo_initdb_root_password" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "mongodb", mongo_initdb_root_username: $username, mongo_initdb_root_password: $password}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + +cmd_databases_create_redis() { + local project_uuid="" server_uuid="" name="" redis_password="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --redis-password) redis_password="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg password "$redis_password" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "redis", redis_password: $password}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + +cmd_databases_create_keydb() { + local project_uuid="" server_uuid="" name="" keydb_password="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --keydb-password) keydb_password="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg password "$keydb_password" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "keydb", keydb_password: $password}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + +cmd_databases_create_clickhouse() { + local project_uuid="" server_uuid="" name="" clickhouse_admin_user="" clickhouse_admin_password="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --clickhouse-admin-user) clickhouse_admin_user="$2"; shift 2 ;; + --clickhouse-admin-password) clickhouse_admin_password="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg user "$clickhouse_admin_user" \ + --arg password "$clickhouse_admin_password" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "clickhouse", clickhouse_admin_user: $user, clickhouse_admin_password: $password}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + +cmd_databases_create_dragonfly() { + local project_uuid="" server_uuid="" name="" dragonfly_password="" + + while [[ $# -gt 0 ]]; do + case $1 in + --project-uuid) project_uuid="$2"; shift 2 ;; + --server-uuid) server_uuid="$2"; shift 2 ;; + --name) name="$2"; shift 2 ;; + --dragonfly-password) dragonfly_password="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$project_uuid" ]] && { error_response "MissingParameter" "Missing --project-uuid" ""; return 1; } + [[ -z "$server_uuid" ]] && { error_response "MissingParameter" "Missing --server-uuid" ""; return 1; } + [[ -z "$name" ]] && { error_response "MissingParameter" "Missing --name" ""; return 1; } + + local data + data=$(jq -n \ + --arg project "$project_uuid" \ + --arg server "$server_uuid" \ + --arg name "$name" \ + --arg password "$dragonfly_password" \ + '{project_uuid: $project, server_uuid: $server, name: $name, type: "dragonfly", dragonfly_password: $password}') + + local response + response=$(api_call POST "/databases" "$data") + success_response "$response" +} + + +# ============================================================================ +# Deployment Commands +# ============================================================================ + +cmd_deploy() { + local uuid="" force="false" tag="" instant_deploy="false" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + --tag) tag="$2"; shift 2 ;; + --force) force="true"; shift ;; + --instant-deploy) instant_deploy="true"; shift ;; + *) shift ;; + esac + done + + if [[ -z "$uuid" && -z "$tag" ]]; then + error_response "MissingParameter" "Missing --uuid or --tag" "Provide either --uuid or --tag" + return 1 + fi + + local data + data=$(jq -n \ + --argjson force "$force" \ + --argjson instant "$instant_deploy" \ + '{force: $force, instant_deploy: $instant}') + + local endpoint + if [[ -n "$uuid" ]]; then + endpoint="/applications/${uuid}/deploy" + else + endpoint="/deploy?tag=${tag}" + fi + + local response + response=$(api_call POST "$endpoint" "$data") + success_response "$response" +} + +cmd_deployments_list() { + local response + response=$(api_call GET "/deployments") + success_response "$response" +} + +cmd_deployments_get() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call GET "/deployments/${uuid}") + success_response "$response" +} + +# ============================================================================ +# Servers Commands +# ============================================================================ + +cmd_servers_list() { + local response + response=$(api_call GET "/servers") + + local count + count=$(echo "$response" | jq 'length') + success_response "$response" "$count" +} + +cmd_servers_get() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call GET "/servers/${uuid}") + success_response "$response" +} + +# ============================================================================ +# Projects Commands +# ============================================================================ + +cmd_projects_list() { + local response + response=$(api_call GET "/projects") + + local count + count=$(echo "$response" | jq 'length') + success_response "$response" "$count" +} + +cmd_projects_get() { + local uuid="" + + while [[ $# -gt 0 ]]; do + case $1 in + --uuid) uuid="$2"; shift 2 ;; + *) shift ;; + esac + done + + [[ -z "$uuid" ]] && { error_response "MissingParameter" "Missing --uuid" ""; return 1; } + + local response + response=$(api_call GET "/projects/${uuid}") + success_response "$response" +} + +# ============================================================================ +# Teams Commands +# ============================================================================ + +cmd_teams_list() { + local response + response=$(api_call GET "/teams") + success_response "$response" +} + +cmd_teams_current() { + local response + response=$(api_call GET "/teams/current") + success_response "$response" +} + +# ============================================================================ +# Main Command Router +# ============================================================================ + +cmd_applications() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) cmd_applications_list "$@" ;; + get) cmd_applications_get "$@" ;; + start) cmd_applications_start "$@" ;; + stop) cmd_applications_stop "$@" ;; + restart) cmd_applications_restart "$@" ;; + logs) cmd_applications_logs "$@" ;; + envs) cmd_applications_envs "$@" ;; + create-public) cmd_applications_create_public "$@" ;; + *) + error_response "UnknownSubcommand" "Unknown applications subcommand: $subcommand" \ + "Available: list, get, start, stop, restart, logs, envs, create-public" + return 1 + ;; + esac +} + +cmd_databases() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) cmd_databases_list "$@" ;; + get) cmd_databases_get "$@" ;; + start) cmd_databases_start "$@" ;; + stop) cmd_databases_stop "$@" ;; + restart) cmd_databases_restart "$@" ;; + delete) cmd_databases_delete "$@" ;; + create-postgresql) cmd_databases_create_postgresql "$@" ;; + create-mysql) cmd_databases_create_mysql "$@" ;; + create-mariadb) cmd_databases_create_mariadb "$@" ;; + create-mongodb) cmd_databases_create_mongodb "$@" ;; + create-redis) cmd_databases_create_redis "$@" ;; + create-keydb) cmd_databases_create_keydb "$@" ;; + create-clickhouse) cmd_databases_create_clickhouse "$@" ;; + create-dragonfly) cmd_databases_create_dragonfly "$@" ;; + *) + error_response "UnknownSubcommand" "Unknown databases subcommand: $subcommand" \ + "Available: list, get, start, stop, restart, delete, create-postgresql, create-mysql, create-mariadb, create-mongodb, create-redis, create-keydb, create-clickhouse, create-dragonfly" + return 1 + ;; + esac +} + +cmd_deployments() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) cmd_deployments_list "$@" ;; + get) cmd_deployments_get "$@" ;; + *) + error_response "UnknownSubcommand" "Unknown deployments subcommand: $subcommand" \ + "Available: list, get" + return 1 + ;; + esac +} + +cmd_servers() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) cmd_servers_list "$@" ;; + get) cmd_servers_get "$@" ;; + *) + error_response "UnknownSubcommand" "Unknown servers subcommand: $subcommand" \ + "Available: list, get" + return 1 + ;; + esac +} + +cmd_projects() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) cmd_projects_list "$@" ;; + get) cmd_projects_get "$@" ;; + *) + error_response "UnknownSubcommand" "Unknown projects subcommand: $subcommand" \ + "Available: list, get" + return 1 + ;; + esac +} + +cmd_teams() { + local subcommand="${1:-}" + shift || true + + case "$subcommand" in + list) cmd_teams_list "$@" ;; + current) cmd_teams_current "$@" ;; + *) + error_response "UnknownSubcommand" "Unknown teams subcommand: $subcommand" \ + "Available: list, current" + return 1 + ;; + esac +} + +show_help() { + cat < [options] + +Commands: + applications Manage applications + databases Manage databases + deploy Deploy an application + deployments View deployments + servers Manage servers + projects Manage projects + teams Manage teams + +Examples: + coolify applications list + coolify applications get --uuid abc-123 + coolify deploy --uuid abc-123 --force + coolify databases create-postgresql --project-uuid proj-123 --server-uuid srv-456 --name mydb + +Environment Variables: + COOLIFY_TOKEN API token (required) + COOLIFY_API_URL API base URL (default: https://app.coolify.io/api/v1) + +For more information, see SKILL.md +EOF +} + +# ============================================================================ +# Main Entry Point +# ============================================================================ + +main() { + # Check requirements first + check_requirements + + local command="${1:-}" + + if [[ -z "$command" || "$command" == "--help" || "$command" == "-h" ]]; then + show_help + exit 0 + fi + + shift + + case "$command" in + applications) cmd_applications "$@" ;; + databases) cmd_databases "$@" ;; + deploy) cmd_deploy "$@" ;; + deployments) cmd_deployments "$@" ;; + servers) cmd_servers "$@" ;; + projects) cmd_projects "$@" ;; + teams) cmd_teams "$@" ;; + *) + error_response "UnknownCommand" "Unknown command: $command" "Run: coolify --help" + exit 1 + ;; + esac +} + +main "$@" diff --git a/docs/proxmox-inventory.md b/docs/proxmox-inventory.md new file mode 100644 index 0000000..bd0dadd --- /dev/null +++ b/docs/proxmox-inventory.md @@ -0,0 +1,46 @@ +# Proxmox Inventory + +Last verified: 2026-05-30 local time. + +## Host + +- IP: `192.168.0.200` +- Node: `thinkcentre` +- Proxmox VE: `9.1.1` +- Running kernel: `6.17.2-1-pve` +- Topology: single-node Proxmox host + +## LXC containers + +| VMID | Name | Status | Notes | +| --- | --- | --- | --- | +| 100 | hermes | running | Secondary LXC | +| 102 | coolify | running | Docker host for Coolify and apps | + +No QEMU VM was listed during the latest smoke test. + +## Docker inside LXC 102 + +Docker is not managed directly on the Proxmox host. Use: + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps" +``` + +Observed groups: + +- Coolify core: `coolify`, `coolify-db`, `coolify-redis`, + `coolify-realtime`, `coolify-sentinel`, `coolify-proxy` +- Tunnel/proxy: `cloudflared` +- Apps currently observed: Gitea, Chatwoot, OpenClaw, browser services, n8n, + CodiMD, Qdrant, Baserow, Grimmory + +One Baserow container was observed as `health: starting` during the latest +Docker sample, so recheck before assuming it is unhealthy. + +## Access model + +- SSH: root over key-based auth. +- API: Proxmox token via `PROXMOX_API_TOKEN_ID` and + `PROXMOX_API_TOKEN_SECRET`. +- Secrets must stay in local env files or the OS secret store, not Markdown. diff --git a/docs/runbooks/baserow.md b/docs/runbooks/baserow.md new file mode 100644 index 0000000..0719883 --- /dev/null +++ b/docs/runbooks/baserow.md @@ -0,0 +1,79 @@ +# Runbook: Baserow en Coolify + +Dominio: `https://baserow.urieljareth.org` + +Aplicacion verificada: `vngcvnhbfqboov4nln88zc73` + +Recurso Coolify: `baserow:main-md9t2bo1h9wdcp69mbw1cppc` + +Contenedor principal: `baserow-vngcvnhbfqboov4nln88zc73-164230166388` + +## Estado + +```powershell +.\coolify_skill\scripts\Get-CoolifyDockerStatus.ps1 -Filter "baserow|s10bvby|vztgldo" +curl.exe -k -sSI --max-time 30 https://baserow.urieljareth.org/login +``` + +Resultado verificado el 2026-05-31: + +- Baserow: `healthy` +- `BASEROW_PUBLIC_URL`: `https://baserow.urieljareth.org` +- `/login`: `302 Found` hacia `/signup` +- `/signup`: `200 OK` +- Postgres externo: `s10bvby71tb1fpbcl4tnxzzh` +- Redis externo: `vztgldo9cap3s0oj240tokgj` +- servicio duplicado `baserow-f3payqxqgnfv3l47zr0q25t6`: detenido + +## Fix aplicado + +Baserow no arrancaba de forma publica por dos problemas: + +1. El compose intentaba publicar puertos host `80:80` y `443:443`, que deben + pertenecer a `coolify-proxy`. +2. Baserow necesitaba resolver Postgres y Redis en la red global `coolify`. + +La resolucion DNS de estos hosts depende de esa red: + +- `s10bvby71tb1fpbcl4tnxzzh` +- `vztgldo9cap3s0oj240tokgj` + +El compose de Baserow debe dejar que Traefik sirva el dominio y debe usar la +red `coolify`: + +```yaml +services: + baserow: + networks: + coolify: null + +networks: + coolify: + name: coolify + external: true +``` + +Tambien se corrigio la regla de Traefik. No usar `Host(\baserow...)`; debe +usar backticks: + +```text +Host(`baserow.urieljareth.org`) && PathPrefix(`/`) +``` + +## Aplicar compose + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- sh -lc 'cd /data/coolify/applications/vngcvnhbfqboov4nln88zc73 && docker compose config --quiet && docker compose up -d'" +``` + +## Logs + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker logs baserow-vngcvnhbfqboov4nln88zc73-164230166388 --tail 160" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker logs coolify-proxy --tail 120 | grep -Ei 'baserow|vng|error'" +``` + +## Primer uso + +En una instalacion nueva, `/login` redirige a `/signup` para crear el primer +usuario administrador. diff --git a/docs/runbooks/conexion.md b/docs/runbooks/conexion.md new file mode 100644 index 0000000..742c630 --- /dev/null +++ b/docs/runbooks/conexion.md @@ -0,0 +1,54 @@ +# Runbook: Conexion + +## 1. Cargar entorno + +Usa un archivo privado `.env.local.ps1` con estos valores: + +```powershell +$env:PROXMOX_HOST = "192.168.0.200" +$env:PROXMOX_NODE = "thinkcentre" +$env:PROXMOX_USER = "root" +$env:PROXMOX_SSH_KEY = "C:\Users\Uriel Jareth\.openclaw\workspace\proxmox_key_win" +$env:PROXMOX_API_BASE_URL = "https://192.168.0.200:8006/api2/json" +$env:PROXMOX_API_TOKEN_ID = "root@pam!openclaw" +$env:PROXMOX_API_TOKEN_SECRET = "REPLACE_WITH_TOKEN_SECRET" +$env:PROXMOX_COOLIFY_LXC = "102" +``` + +Luego: + +```powershell +. .\.env.local.ps1 +``` + +## 2. Probar conexion + +```powershell +.\scripts\Test-ProxmoxConnection.ps1 +``` + +Resultados esperados: + +- `config`: `PASS` +- `ssh-read`: `PASS` +- `docker-lxc-102`: `PASS` +- `api-auth`: `PASS` si el token esta cargado, `SKIP` si no lo esta + +## 3. Comandos base + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "hostname && pveversion" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct list && qm list" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'" +``` + +## 4. API REST + +Desde PowerShell: + +```powershell +. .\scripts\ProxmoxAgent.ps1 +Invoke-ProxmoxApi -Path "/version" +Invoke-ProxmoxApi -Path "/nodes" +Invoke-ProxmoxApi -Path "/cluster/resources" +``` diff --git a/docs/runbooks/coolify-docker.md b/docs/runbooks/coolify-docker.md new file mode 100644 index 0000000..eec4d66 --- /dev/null +++ b/docs/runbooks/coolify-docker.md @@ -0,0 +1,41 @@ +# Runbook: Coolify y Docker + +Docker corre dentro del LXC `102`, no directamente sobre el host Proxmox. + +## Estado general + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker stats --no-stream" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker volume ls" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker network ls" +``` + +## Logs de un contenedor + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker logs --tail 100" +``` + +## Inspect + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker inspect " +``` + +## Reinicio controlado + +Requiere confirmacion explicita. + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker restart " +``` + +## Shell interactivo + +Usar solo cuando haga falta inspeccion manual. + +```powershell +ssh -i "C:\Users\Uriel Jareth\.openclaw\workspace\proxmox_key_win" root@192.168.0.200 +pct exec 102 -- docker exec -it /bin/sh +``` diff --git a/docs/runbooks/diagnostico.md b/docs/runbooks/diagnostico.md new file mode 100644 index 0000000..7de3768 --- /dev/null +++ b/docs/runbooks/diagnostico.md @@ -0,0 +1,36 @@ +# Runbook: Diagnostico + +Empieza siempre con lectura. Si algo apunta a una accion destructiva o de +reinicio, confirma primero. + +## Salud del host + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "hostname && uptime && pveversion" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "df -h && free -h" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "systemctl --failed --no-pager" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pvesh get /cluster/resources" +``` + +## LXC + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct list" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct status 102" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct config 102" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- df -h" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- free -h" +``` + +## Tareas Proxmox + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pvesh get /nodes/thinkcentre/tasks --limit 20" +``` + +## Logs + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "journalctl -p warning -n 100 --no-pager" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- journalctl -p warning -n 100 --no-pager" +``` diff --git a/docs/runbooks/incidentes-openclaw.md b/docs/runbooks/incidentes-openclaw.md new file mode 100644 index 0000000..04a5ad0 --- /dev/null +++ b/docs/runbooks/incidentes-openclaw.md @@ -0,0 +1,47 @@ +# Runbook: Incidentes OpenClaw Browser/CDP + +Historial resumido de incidentes previos con OpenClaw y su browser container. + +## Sintomas comunes + +- Browser container aparece `unhealthy`. +- OpenClaw no conecta al browser via CDP. +- Timeouts contra el puerto CDP. + +## Diagnostico + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' | grep -E 'openclaw|browser'" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec ss -tlnp" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker logs --tail 100" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker logs --tail 100" +``` + +## Puerto CDP + +En un incidente previo, Chromium escuchaba en `127.0.0.1:9222` dentro del +container y nginx exponia `0.0.0.0:9223` para otros containers. No asumas que +`9222` o `9223` es correcto sin probar desde la red Docker actual. + +Prueba desde el container OpenClaw: + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec curl -sf http://:9223/json/version" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec curl -sf http://:9222/json/version" +``` + +## Acciones que requieren confirmacion + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec pkill -f chromium" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker restart " +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker restart " +``` + +## Notas de configuracion + +- Montar `/dev/shm` o usar `shm_size` suficiente suele mejorar estabilidad de + Chromium en Docker. +- Limpiar locks de perfil en startup puede resolver arranques atascados. +- Cambios de capacidades como `SYS_ADMIN` o `seccomp:unconfined` son sensibles; + revisarlos antes de aplicarlos. diff --git a/docs/runbooks/nextcloud.md b/docs/runbooks/nextcloud.md new file mode 100644 index 0000000..e88f5f3 --- /dev/null +++ b/docs/runbooks/nextcloud.md @@ -0,0 +1,98 @@ +# Runbook: Nextcloud en Coolify + +Servicio verificado: `hdcdpkm0jko3qqvn5683ercc` + +Dominio: `https://nextcloudsuite.urieljareth.org` + +## Estado de contenedores + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker ps -a --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' | grep -Ei 'nextcloud|hdcdpkm0'" +``` + +## Redeploy manual desde compose generado por Coolify + +Si el endpoint API de Coolify no esta disponible o no hay token cargado: + +```powershell +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- sh -lc 'cd /data/coolify/services/hdcdpkm0jko3qqvn5683ercc && docker compose up -d'" +``` + +## Fix HTTPS reverse proxy + +No usar `sed` para editar `config.php`. Usar el script PHP del repo: + +```powershell +scp -o StrictHostKeyChecking=no -i "C:\Users\Uriel Jareth\.openclaw\workspace\proxmox_key_win" .\scripts\fix-nextcloud-config.php root@192.168.0.200:/tmp/fix-nextcloud-config.php +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct push 102 /tmp/fix-nextcloud-config.php /tmp/fix-nextcloud-config.php" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker cp /tmp/fix-nextcloud-config.php nextcloud-hdcdpkm0jko3qqvn5683ercc:/tmp/fix-nextcloud-config.php" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec nextcloud-hdcdpkm0jko3qqvn5683ercc php /tmp/fix-nextcloud-config.php /config/www/nextcloud/config/config.php nextcloudsuite.urieljareth.org nextcloud-db" +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec nextcloud-hdcdpkm0jko3qqvn5683ercc sh -lc 'chown abc:users /config/www/nextcloud/config/config.php && chmod 640 /config/www/nextcloud/config/config.php'" +``` + +Debe quedar: + +```php +'overwriteprotocol' => 'https', +'overwritehost' => 'nextcloudsuite.urieljareth.org', +'overwrite.cli.url' => 'https://nextcloudsuite.urieljareth.org', +'dbhost' => 'nextcloud-db', +``` + +En el instalador web, el campo de host PostgreSQL debe ser `nextcloud-db`, no +`localhost`. `localhost` apunta al contenedor de Nextcloud, no al contenedor +PostgreSQL. + +## Pruebas + +```powershell +curl.exe -k -i -L --max-time 30 https://nextcloudsuite.urieljareth.org/status.php +curl.exe -k -sSI --max-time 30 https://nextcloudsuite.urieljareth.org/login +curl.exe -k -sSI --max-time 30 https://nextcloudsuite.urieljareth.org/remote.php/dav +``` + +## Error `permission denied for table oc_migrations` + +Si el instalador muestra: + +```text +SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for table oc_migrations +``` + +primero verificar el estado real antes de resetear volumenes. En una instalacion +parcial, el formulario puede fallar mientras la base queda creada. + +Comprobaciones seguras: + +```powershell +curl.exe -k -sS --max-time 30 https://nextcloudsuite.urieljareth.org/status.php +.\scripts\Invoke-ProxmoxSsh.ps1 -Command "pct exec 102 -- docker exec nextcloud-hdcdpkm0jko3qqvn5683ercc sh -lc 'cd /app/www/public && s6-setuidgid abc php occ status'" +``` + +Verificar desde Nextcloud con el usuario real de `config.php`, sin imprimir la +password: conectar por PDO y ejecutar `select count(*) from oc_migrations`. +Si funciona, no reparar permisos: la instancia ya puede usar la tabla. + +Estado verificado el 2026-05-31: + +- `installed`: `true` +- `maintenance`: `false` +- `needsDbUpgrade`: `false` +- `dbhost`: `nextcloud-db` +- usuario activo de Nextcloud en PostgreSQL: `oc_admin` +- `oc_admin` puede leer `oc_migrations` +- `oc_users`: 1 usuario + +Resultado verificado tras recuperacion: + +- `status.php`: `200 OK` +- `installed`: `true` +- `maintenance`: `false` +- container Nextcloud: `running healthy` +- redirects HTTPS probados sin `Location: http://...` + +## Pendiente tras reset de volumenes + +Si el volumen de configuracion/base de datos fue eliminado, Nextcloud queda como +instancia fresca. Hay que completar instalacion inicial antes de usar la app de +escritorio. diff --git a/docs/runbooks/seguridad.md b/docs/runbooks/seguridad.md new file mode 100644 index 0000000..c3e31f7 --- /dev/null +++ b/docs/runbooks/seguridad.md @@ -0,0 +1,35 @@ +# Runbook: Seguridad + +## Secretos + +No guardar en el repo: + +- Passwords de Proxmox o LXC. +- Secretos de token API. +- Claves privadas SSH. +- Tickets, cookies o backups de configuracion con credenciales. + +Usar: + +- `.env.local.ps1` para entorno local. +- `.env.example` para plantilla sin secretos reales. +- Rotacion de tokens si un secreto fue expuesto en Markdown o logs. + +## Politica de cambios + +Antes de cambios con impacto: + +1. Capturar estado actual. +2. Confirmar el objetivo exacto. +3. Identificar rollback posible. +4. Ejecutar una accion pequena y verificable. +5. Verificar servicio, logs y recursos. + +## Acciones sensibles + +Requieren confirmacion explicita: + +- Reinicios de host, LXC, VM o containers productivos. +- Cambios de red, firewall, storage o volumenes. +- `destroy`, `rm`, `prune`, `wipe`, `resize`, updates masivos. +- Cambios en permisos, tokens, claves o usuarios. diff --git a/proxmox-agent/proxmox-agent/SKILL.md b/proxmox-agent/proxmox-agent/SKILL.md new file mode 100644 index 0000000..4c04551 --- /dev/null +++ b/proxmox-agent/proxmox-agent/SKILL.md @@ -0,0 +1,3 @@ +# Migrado + +Usa `../../agent/SKILL.md`. diff --git a/proxmox-agent/proxmox-agent/TOOLS.md b/proxmox-agent/proxmox-agent/TOOLS.md new file mode 100644 index 0000000..a2eb89c --- /dev/null +++ b/proxmox-agent/proxmox-agent/TOOLS.md @@ -0,0 +1,3 @@ +# Migrado + +Usa `../../agent/TOOLS.md`. diff --git a/proxmox-skill/proxmox-agent/ISSUES.md b/proxmox-skill/proxmox-agent/ISSUES.md new file mode 100644 index 0000000..916326a --- /dev/null +++ b/proxmox-skill/proxmox-agent/ISSUES.md @@ -0,0 +1,6 @@ +# Migrado + +El historial util de incidentes esta consolidado en: + +- `../../docs/runbooks/incidentes-openclaw.md` +- `../../docs/runbooks/coolify-docker.md` diff --git a/proxmox-skill/proxmox-agent/SKILL.md b/proxmox-skill/proxmox-agent/SKILL.md new file mode 100644 index 0000000..4c04551 --- /dev/null +++ b/proxmox-skill/proxmox-agent/SKILL.md @@ -0,0 +1,3 @@ +# Migrado + +Usa `../../agent/SKILL.md`. diff --git a/proxmox-skill/proxmox-agent/TOOLS.md b/proxmox-skill/proxmox-agent/TOOLS.md new file mode 100644 index 0000000..a2eb89c --- /dev/null +++ b/proxmox-skill/proxmox-agent/TOOLS.md @@ -0,0 +1,3 @@ +# Migrado + +Usa `../../agent/TOOLS.md`. diff --git a/scripts/Get-ProxmoxInventory.ps1 b/scripts/Get-ProxmoxInventory.ps1 new file mode 100644 index 0000000..583cae7 --- /dev/null +++ b/scripts/Get-ProxmoxInventory.ps1 @@ -0,0 +1,8 @@ +$ErrorActionPreference = "Stop" +. "$PSScriptRoot\ProxmoxAgent.ps1" + +$config = Get-ProxmoxConfig + +$command = "echo ===HOST===; hostname; pveversion; echo; echo ===LXC===; pct list; echo; echo ===QEMU===; qm list; echo; echo ===DOCKER_LXC_$($config.CoolifyLxc)===; pct exec $($config.CoolifyLxc) -- docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'" + +Invoke-ProxmoxSshCommand -Command $command diff --git a/scripts/Invoke-ProxmoxSsh.ps1 b/scripts/Invoke-ProxmoxSsh.ps1 new file mode 100644 index 0000000..f8e360a --- /dev/null +++ b/scripts/Invoke-ProxmoxSsh.ps1 @@ -0,0 +1,9 @@ +param( + [Parameter(Mandatory = $true)] + [string]$Command +) + +$ErrorActionPreference = "Stop" +. "$PSScriptRoot\ProxmoxAgent.ps1" + +Invoke-ProxmoxSshCommand -Command $Command diff --git a/scripts/ProxmoxAgent.ps1 b/scripts/ProxmoxAgent.ps1 new file mode 100644 index 0000000..a7eb6ff --- /dev/null +++ b/scripts/ProxmoxAgent.ps1 @@ -0,0 +1,95 @@ +Set-StrictMode -Version Latest + +function Get-ProxmoxConfig { + $tokenHeader = $null + if ($env:PROXMOX_API_TOKEN_ID -and $env:PROXMOX_API_TOKEN_SECRET) { + $tokenHeader = "PVEAPIToken=$($env:PROXMOX_API_TOKEN_ID)=$($env:PROXMOX_API_TOKEN_SECRET)" + } + + [pscustomobject]@{ + HostName = if ($env:PROXMOX_HOST) { $env:PROXMOX_HOST } else { "192.168.0.200" } + Node = if ($env:PROXMOX_NODE) { $env:PROXMOX_NODE } else { "thinkcentre" } + User = if ($env:PROXMOX_USER) { $env:PROXMOX_USER } else { "root" } + SshKey = if ($env:PROXMOX_SSH_KEY) { $env:PROXMOX_SSH_KEY } else { "C:\Users\Uriel Jareth\.openclaw\workspace\proxmox_key_win" } + ApiBaseUrl = if ($env:PROXMOX_API_BASE_URL) { $env:PROXMOX_API_BASE_URL } else { "https://192.168.0.200:8006/api2/json" } + ApiTokenHeader = $tokenHeader + CoolifyLxc = if ($env:PROXMOX_COOLIFY_LXC) { $env:PROXMOX_COOLIFY_LXC } else { "102" } + } +} + +function Assert-ProxmoxConfig { + $config = Get-ProxmoxConfig + + if (-not (Get-Command ssh -ErrorAction SilentlyContinue)) { + throw "ssh executable not found in PATH." + } + + if (-not (Test-Path -LiteralPath $config.SshKey)) { + throw "SSH key not found: $($config.SshKey)" + } + + return $config +} + +function Invoke-ProxmoxSshCommand { + param( + [Parameter(Mandatory = $true)] + [string]$Command, + + [int]$ConnectTimeoutSec = 15 + ) + + $config = Assert-ProxmoxConfig + $target = "$($config.User)@$($config.HostName)" + $sshArgs = @( + "-o", "BatchMode=yes", + "-o", "ConnectTimeout=$ConnectTimeoutSec", + "-o", "StrictHostKeyChecking=no", + "-i", $config.SshKey, + $target, + $Command + ) + + & ssh @sshArgs + $exitCode = $LASTEXITCODE + if ($exitCode -ne 0) { + throw "SSH command failed with exit code $exitCode." + } +} + +function Invoke-ProxmoxApi { + param( + [Parameter(Mandatory = $true)] + [string]$Path + ) + + $config = Get-ProxmoxConfig + if (-not $config.ApiTokenHeader) { + throw "Set PROXMOX_API_TOKEN_ID and PROXMOX_API_TOKEN_SECRET before API calls." + } + + if (-not (Get-Command curl.exe -ErrorAction SilentlyContinue)) { + throw "curl.exe not found in PATH." + } + + $base = $config.ApiBaseUrl.TrimEnd("/") + $cleanPath = $Path.TrimStart("/") + $uri = "$base/$cleanPath" + + $output = & curl.exe -sS -k -H "Authorization: $($config.ApiTokenHeader)" $uri + $exitCode = $LASTEXITCODE + if ($exitCode -ne 0) { + throw "Proxmox API request failed with exit code $exitCode." + } + + if (-not $output) { + throw "Proxmox API returned an empty response." + } + + try { + return ($output | ConvertFrom-Json) + } + catch { + throw "Proxmox API returned non-JSON output." + } +} diff --git a/scripts/Set-ProxmoxEnv.example.ps1 b/scripts/Set-ProxmoxEnv.example.ps1 new file mode 100644 index 0000000..0e29a2a --- /dev/null +++ b/scripts/Set-ProxmoxEnv.example.ps1 @@ -0,0 +1,15 @@ +# Example only. Put real secrets in a private .env.local.ps1 file. + +$env:PROXMOX_HOST = "192.168.0.200" +$env:PROXMOX_NODE = "thinkcentre" +$env:PROXMOX_USER = "root" +$env:PROXMOX_SSH_KEY = "C:\Users\Uriel Jareth\.openclaw\workspace\proxmox_key_win" +$env:PROXMOX_API_BASE_URL = "https://192.168.0.200:8006/api2/json" +$env:PROXMOX_API_TOKEN_ID = "root@pam!openclaw" +$env:PROXMOX_API_TOKEN_SECRET = "REPLACE_WITH_TOKEN_SECRET" +$env:PROXMOX_COOLIFY_LXC = "102" + +$env:COOLIFY_API_URL = "https://coolify.urieljareth.org/api/v1" +$env:COOLIFY_TOKEN = "REPLACE_WITH_COOLIFY_TOKEN" + +Write-Host "Example Proxmox/Coolify environment loaded. Replace token secrets before API tests." diff --git a/scripts/Test-ProxmoxConnection.ps1 b/scripts/Test-ProxmoxConnection.ps1 new file mode 100644 index 0000000..fab3202 --- /dev/null +++ b/scripts/Test-ProxmoxConnection.ps1 @@ -0,0 +1,65 @@ +$ErrorActionPreference = "Stop" +. "$PSScriptRoot\ProxmoxAgent.ps1" + +$results = New-Object System.Collections.Generic.List[object] + +function Add-Result { + param( + [string]$Check, + [string]$Status, + [string]$Detail + ) + + $results.Add([pscustomobject]@{ + Check = $Check + Status = $Status + Detail = $Detail + }) | Out-Null +} + +$config = Get-ProxmoxConfig + +try { + Assert-ProxmoxConfig | Out-Null + Add-Result "config" "PASS" "host=$($config.HostName), node=$($config.Node), key present" +} +catch { + Add-Result "config" "FAIL" $_.Exception.Message +} + +try { + $sshOutput = Invoke-ProxmoxSshCommand -ConnectTimeoutSec 8 -Command "hostname && pveversion && pct list && qm list" + $summary = ($sshOutput | Select-Object -First 2) -join " | " + Add-Result "ssh-read" "PASS" $summary +} +catch { + Add-Result "ssh-read" "FAIL" $_.Exception.Message +} + +try { + $dockerOutput = Invoke-ProxmoxSshCommand -ConnectTimeoutSec 8 -Command "pct exec $($config.CoolifyLxc) -- docker ps --format '{{.Names}}\t{{.Status}}' | head -n 8" + $count = @($dockerOutput | Where-Object { $_ }).Count + Add-Result "docker-lxc-$($config.CoolifyLxc)" "PASS" "$count containers sampled" +} +catch { + Add-Result "docker-lxc-$($config.CoolifyLxc)" "FAIL" $_.Exception.Message +} + +if ($config.ApiTokenHeader) { + try { + $version = Invoke-ProxmoxApi -Path "/version" + Add-Result "api-auth" "PASS" "version=$($version.data.version), release=$($version.data.release)" + } + catch { + Add-Result "api-auth" "FAIL" $_.Exception.Message + } +} +else { + Add-Result "api-auth" "SKIP" "set PROXMOX_API_TOKEN_ID and PROXMOX_API_TOKEN_SECRET" +} + +$results | Format-Table -AutoSize + +if ($results.Status -contains "FAIL") { + exit 1 +} diff --git a/scripts/fix-nextcloud-config.php b/scripts/fix-nextcloud-config.php new file mode 100644 index 0000000..497ea2f --- /dev/null +++ b/scripts/fix-nextcloud-config.php @@ -0,0 +1,49 @@ +