Actualiza toolkit operativo y documentación

This commit is contained in:
urieljareth
2026-09-10 20:53:50 -06:00
parent 3b7209dcc1
commit 714057bfc8
69 changed files with 6023 additions and 384 deletions
+34 -15
View File
@@ -10,26 +10,45 @@ Use this skill to take a project from "local code" to "live on
(Proxmox SSH, Coolify API, Cloudflare API) plus new GitHub scaffolding into a
single end-to-end pipeline.
## ⚠️ Instance reality check (READ FIRST — verified 2026-07 on coolify.urieljareth.org, v4.1.2)
## ⚠️ Instance reality check (READ FIRST — re-verified 2026-08-29, v4.3.14)
This instance's REST API is **partial**: the entire `/applications/*` namespace is
**404** (create public/dockerfile/private-*, list, get, PATCH, `/envs`, `/logs`).
`POST /services` only takes raw compose (no git repo). Consequences:
**The `/applications/*` 404 is a Cloudflare edge block, not a Coolify limitation.**
Same token, same route: 404 via `https://coolify.urieljareth.org`, **200 via the
origin `http://192.168.0.117:8000/api/v1`** (`$env:COOLIFY_API_URL_ORIGIN`) —
including `/github-apps`. The instance's own `openapi.yaml` (inside the container
at `/var/www/html/openapi.yaml`) declares the full applications namespace, so the
complete API contract applies when you call the origin. Two more facts:
- You **cannot create OR configure a git-based build-from-source app via the API** here.
`New-CoolifyApplication.ps1` (POST /applications/public) will 404.
- To configure an app that **builds from a (private) git repo** — set its build pack to
Docker Compose, its compose location, its **env vars**, and its **per-service domains** —
you MUST drive the **web UI with Playwright**. Use `scripts/coolify-ui/*.mjs`
(needs `COOLIFY_EMAIL`/`COOLIFY_PASSWORD` in `.env.local.ps1`).
- What DOES work via API: `/resources` (inventory+status), `/projects`, `/security/keys`,
`/services`, and **`GET /deploy?uuid=&force=true`** (trigger a deploy of any existing app),
`GET /deployments/{uuid}` (status+logs).
- **State-changing endpoints are POST-only since v4.2** — `GET /deploy?uuid=` now
answers 405 `"This endpoint has changed to a POST request."`; use
`-Method POST` (see notes §10.1).
- The origin is plain HTTP inside the LAN — fine for ops from this machine; do
not expose it.
Consequences:
- Creating/configuring git-based build-from-source apps **via the API should now
work by calling the origin** (`POST /applications/public`, `/dockerfile`,
`/private-deploy-key`, …). Not yet exercised end-to-end on 4.3.14 — verify on
the next deploy before retiring the UI flow.
- The **Playwright UI flow** (`scripts/coolify-ui/*.mjs`, needs
`COOLIFY_EMAIL`/`COOLIFY_PASSWORD`) and the **direct DB INSERT** path (§8 of the
notes) remain valid fallbacks.
- What works through either path: `/resources` (inventory+status), `/projects`,
`/security/keys`, `/services`, `/deploy` (POST), `/deployments/{uuid}`.
Full playbook + gotchas (UTF-8 BOM breaks Coolify's YAML parser, "Reload Compose File" is
mandatory, don't queue concurrent deploys, PowerShell `ReadAllText` for key payloads, etc.):
**[`references/coolify-4.1.2-notes.md`](references/coolify-4.1.2-notes.md)**. Re-verify the API
surface with `GET /version` if the instance was upgraded.
**[`references/coolify-4.1.2-notes.md`](references/coolify-4.1.2-notes.md)** (§11 has the
2026-08-29 re-verification). Re-verify the API surface with `GET /version` if the instance
was upgraded.
**NEW (2026-07-27):** There is also a **third path** for creating apps — **direct DB
INSERT via SSH → pct → docker exec → psql**. See
[`references/coolify-4.1.2-notes.md` §8](references/coolify-4.1.2-notes.md).
This is the fastest path when you have SSH access to the Proxmox host. The key gotcha: you
MUST also INSERT a matching `application_settings` row or deploys crash with
"disable_build_cache on null" — and stuck deploy queues must be cleared manually (§8.4).
## When to use