{"id":50572160,"url":"https://github.com/hifizz/coolify-ops-skill","last_synced_at":"2026-06-04T19:30:24.036Z","repository":{"id":362058283,"uuid":"1257015096","full_name":"hifizz/coolify-ops-skill","owner":"hifizz","description":"Coolify skills build on Coolify-cli, manage your vps by Agent.","archived":false,"fork":false,"pushed_at":"2026-06-02T12:24:36.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T12:27:54.853Z","etag":null,"topics":["coolify","coolify-cli","coolify-skills"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hifizz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-02T09:34:28.000Z","updated_at":"2026-06-02T12:24:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hifizz/coolify-ops-skill","commit_stats":null,"previous_names":["hifizz/coolify-ops-skill"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/hifizz/coolify-ops-skill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hifizz%2Fcoolify-ops-skill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hifizz%2Fcoolify-ops-skill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hifizz%2Fcoolify-ops-skill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hifizz%2Fcoolify-ops-skill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hifizz","download_url":"https://codeload.github.com/hifizz/coolify-ops-skill/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hifizz%2Fcoolify-ops-skill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33917183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coolify","coolify-cli","coolify-skills"],"created_at":"2026-06-04T19:30:22.920Z","updated_at":"2026-06-04T19:30:24.022Z","avatar_url":"https://github.com/hifizz.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"hero.svg\" alt=\"coolify-ops — operate your self-hosted Coolify through the official CLI, in natural language\" width=\"820\"\u003e\n\u003c/p\u003e\n\n# coolify-ops\n\n**English** | [简体中文](README.zh-CN.md)\n\n\u003e A **Claude Code / Codex agent skill** — drive the official [`coolify` CLI](https://github.com/coollabsio/coolify-cli) with natural language to remotely deploy, operate, and troubleshoot apps / services / databases on a self-hosted [Coolify](https://coolify.io) instance.\n\n**It runs entirely on top of the official CLI.** This skill never touches your server directly — it translates your natural-language intent into [coollabsio/coolify-cli](https://github.com/coollabsio/coolify-cli) commands, and the CLI talks to Coolify's REST API over a Bearer token (not your server's SSH login). Because the CLI keeps evolving, the skill has the agent run `coolify \u003ccmd\u003e --help` to check flags rather than hard-coding them, avoiding version drift.\n\nOnce installed, just talk to the agent in plain language, e.g.:\n\n- \"Redeploy my-app and tell me the result when it's done\"\n- \"The worker service looks down — pull the logs and check\"\n- \"Sync .env.production to my-app, then redeploy\"\n\nThe agent enables this skill automatically: look up the UUID → trigger the deploy → follow the logs → report back, **always confirming with you before any destructive action**.\n\n## Requirements\n\n- A self-hosted **Coolify** instance (typically one VPS running a few Node / Next.js / Docker services).\n- A Coolify **API token** (generate it in the Web UI under `/security/api-tokens`). **Scope it least-privilege**: `read` + `deploy` for day-to-day ops, add `write` only to change config / create resources, and **never** hand an agent a `root` token. Details in [`references/safety-rules.md`](references/safety-rules.md).\n- The official **coolify CLI** ([coollabsio/coolify-cli](https://github.com/coollabsio/coolify-cli), the Go build — install it with the script below).\n- **Claude Code**, or any other agent that supports `SKILL.md` (e.g. Codex).\n\n\u003e Compatibility: tested against coolify-cli v1.6.2 / Coolify v4.1.1.\n\n## Install\n\n### Via [skills.sh](https://skills.sh) — recommended\n\nWith Node.js installed, add this skill to your agent in one command (no clone needed):\n\n```bash\n# Project-level — into ./.claude/skills (the default when run inside a project)\nnpx skills add hifizz/coolify-ops-skill\n```\n\n```bash\n# Global / user-level — into ~/.claude/skills (available in every project)\nnpx skills add hifizz/coolify-ops-skill -g\n```\n\n```bash\n# Target a specific agent explicitly (defaults to the detected one)\nnpx skills add hifizz/coolify-ops-skill --agent claude-code\n```\n\nThis pulls the `coolify-ops` skill from this repo. Manage it later with:\n\n```bash\nnpx skills list                 # list installed skills\nnpx skills update coolify-ops   # update to the latest version\nnpx skills remove coolify-ops   # uninstall\n```\n\n\u003e `skills.sh` works with any compatible agent — Claude Code, Codex, Cursor, Copilot, Windsurf, and more. Browse the directory at [skills.sh](https://skills.sh).\n\n### Manual install\n\nPrefer not to use `npx`? Clone and copy the skill folder into your agent's skills directory (the folder must be named `coolify-ops`, matching the skill's `name`):\n\n```bash\ngit clone https://github.com/hifizz/coolify-ops-skill\n\n# Claude Code · global (all projects)\ncp -r coolify-ops-skill ~/.claude/skills/coolify-ops\n\n# Claude Code · per-project (current project only)\ncp -r coolify-ops-skill .claude/skills/coolify-ops\n```\n\nFor Codex and other agents, place it in their respective skills directory.\n\n## First-time setup\n\nBefore letting the agent operate anything, install the CLI and configure a connection (context):\n\n```bash\n# 1) Install the official coolify CLI (auto-detects macOS / Linux; skips if already present)\n#    Path depends on install scope: ~/.claude/skills/... if global, ./.claude/skills/... if project-level.\nbash ~/.claude/skills/coolify-ops/scripts/install-cli.sh\n\n# 2) Add a context and set it as default (generate the token in the Coolify Web UI: /security/api-tokens)\ncoolify context add my-vps https://coolify.your-domain.com \u003ctoken\u003e -d\n\n# 3) Verify connectivity and auth\ncoolify context verify\n```\n\n## Usage\n\nOnce configured, you don't need to memorize commands — describe what you want in natural language and the agent enables this skill and runs it. Common cases:\n\n- **Deploy / redeploy**: \"Redeploy my-app\", \"Ship this change\"\n- **Troubleshooting**: \"xxx service is throwing 502, take a look\", \"Why did the last deploy fail?\"\n- **Environment variables**: \"Sync .env.production to my-app\", \"Add a `NEXT_PUBLIC_API_URL` to it\"\n- **Lifecycle**: \"Restart that database\", \"Stop the worker for now\"\n- **Databases \u0026 backups**: \"Set up a daily 2am backup for my-db\", \"Let me connect to this database from my laptop\"\n- **Domains / resources**: \"Bind a domain to it\", \"Bump memory to 1G\"\n\n## Capabilities\n\n| ✅ The CLI can | 🖥️ Still nicer in the Web UI |\n|---|---|\n| **Create apps** from a public/private git repo, Dockerfile, or image (`app create`) | First-time visual scaffolding \u0026 browsing one-click templates |\n| **Create one-click services** (`service create --list-types`) | Live dashboards, metrics \u0026 resource graphs |\n| Create \u0026 back up databases | A few advanced / visual-only settings |\n| Deploy / redeploy, follow logs, troubleshoot | |\n| Sync environment variables (`env sync`, batch upsert) | |\n| Lifecycle management (start / stop / restart) | |\n| Decide how a database is exposed (internal / tunnel / hardened public) | |\n\n\u003e The CLI now covers resource creation end-to-end; the Web UI remains handy for visual setup, dashboards, and a few advanced settings.\n\n## Things to watch out for\n\n- **Destructive actions are confirmed.** Deleting a database/app, stopping production, force-deploying, and the like — the agent restates the impact and waits for your confirmation, and **never adds `-f` to skip confirmation on its own**. See [`references/safety-rules.md`](references/safety-rules.md).\n- **Don't expose databases to the public carelessly.** When a database needs external access, the order of preference is **internal \u003e tunnel \u003e hardened public**, and `--is-public` is off by default. To connect over a domain, turn off Cloudflare's orange cloud, and note that Coolify databases ship **without TLS** by default (a plaintext public connection leaks credentials). Full guide: [`references/database-access.md`](references/database-access.md).\n- **Credentials stay private.** The agent won't print tokens in its replies or copy them out of the CLI's own config store (`~/.config/coolify/config.json`, mode `0600`, where the CLI legitimately keeps them); passwords / connection strings surfaced by `--show-sensitive` are redacted as needed.\n- **Trust `--help` over the cheatsheet.** The CLI evolves; if a flag or JSON field ever looks off, confirm with `coolify \u003ccmd\u003e --help` before relying on it.\n\n## Project layout\n\n```\ncoolify-ops/\n├── SKILL.md                    # Entry point: principles + decision tree + resource creation\n├── references/\n│   ├── cli-cheatsheet.md       # Full command reference + jq recipes + troubleshooting table\n│   ├── deploy-patterns.md      # Node/Next/Docker/static deploy templates + env layering + magic vars\n│   ├── database-access.md      # Database external access: protocol basics + internal/tunnel/hardened public + domains\n│   └── safety-rules.md         # Destructive-operation red lines \u0026 confirmation checklist\n└── scripts/\n    ├── doctor.sh               # Preflight: CLI version / jq / connectivity / token abilities\n    ├── install-cli.sh          # Cross-platform installer for the official CLI\n    ├── health-check.sh         # One-shot health check (CLI / context / resource status)\n    ├── deploy-and-watch.sh     # Deploy + follow logs until success / failure\n    └── gen-reference.sh        # Dump this CLI version's full reference → references/_generated/\n```\n\n## License\n\n[MIT](LICENSE) © 2026 hifizz\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhifizz%2Fcoolify-ops-skill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhifizz%2Fcoolify-ops-skill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhifizz%2Fcoolify-ops-skill/lists"}