disabling-services

通过标记禁用状态和添加警示信息,实现服务文档的逻辑隐藏与可用性管理,在不影响 SEO 和历史访问的前提下,从列表中移除特定服务展示,同时保留页面内容及跳转链接的持续生效。

快捷安装

在终端运行此命令,即可一键安装该 Skill 到您的 Claude 中

npx skills add coollabsio/coolify-docs --skill "disabling-services"

Disable Service Documentation

This skill guides you through hiding a service from the documentation listing while preserving the documentation page for SEO and users who find it via search.

When to Use This Skill

  • Service is deprecated in Coolify
  • Service is temporarily unavailable
  • Service is removed from Coolify’s service catalog
  • Service has been replaced by another service

Why Keep the Documentation File?

DO NOT delete the documentation file. Keep it because:

  1. SEO preservation — users may find the page via search engines
  2. Bookmark support — users may have bookmarked the page
  3. Historical reference — users may need to understand what the service was
  4. Future reinstatement — service may become available again

How “Disabled” Is Detected

scripts/services-data.mjs marks a service as disabled (and generate-services-page.mjs excludes it from all.md) if either:

  • The frontmatter contains disabled: true, or
  • The markdown body matches one of these patterns (case-insensitive):
    • SERVICE HIDDEN
    • SERVICE NOT AVAILABLE
    • SERVICE REMOVED FROM COOLIFY
    • SERVICE TEMPORARILY DISABLED

This means a warning callout with one of those phrases (e.g. ::: warning SERVICE NOT AVAILABLE) will hide the service automatically — no separate disabled: true is needed. Conversely, you can hide a service silently (no warning) by setting disabled: true alone.

List.vue reads the generated services.json, sees disabled: true, and filters the entry out of the visible listing while leaving the page reachable by direct URL.

Step-by-Step Process

1. Edit the Service’s Frontmatter

Open docs/services/{slug}.md and add disabled: true:

---
title: "Service Name"
description: "..."
category: "Category"
icon: "/docs/images/services/service-logo.svg"
disabled: true
---

This is the canonical, explicit signal. Use it whenever you intend the service to be hidden, even if you also add a warning callout — explicit beats implicit.

2. Add a Warning Callout to the Page Body

Insert a warning at the top of the body (after frontmatter, before the H1):

---
title: "Service Name"
description: "..."
category: "Category"
disabled: true
---

::: warning SERVICE NOT AVAILABLE
This service is currently not available in Coolify's service catalog.
:::

# Service Name

...

The callout title (e.g. SERVICE NOT AVAILABLE) must include one of the phrases the regex looks for if you also want the body-pattern detector to catch it. Stick to one of:

  • SERVICE HIDDEN
  • SERVICE NOT AVAILABLE
  • SERVICE REMOVED FROM COOLIFY
  • SERVICE TEMPORARILY DISABLED

If you know why, give users a path forward:

::: warning SERVICE DEPRECATED
This service has been deprecated and replaced by [New Service](/services/new-service).
Please use the new service for all new deployments.
:::

Or for temporary unavailability:

::: warning SERVICE TEMPORARILY DISABLED
This service is temporarily unavailable due to upstream changes.
Check the [Coolify changelog](https://coolify.io/changelog) for updates.
:::

4. Keep Redirects (If Any)

If the service had redirects in nginx/redirects.conf, keep them. They ensure users following old URLs still land on the page.

5. Regenerate the Listings

bun run generate:services

This updates docs/.vitepress/theme/data/services.json (the service entry now carries disabled: true) and docs/services/all.md (the entry is removed from its category section). Commit both regenerated files.

Warning Message Templates

Generic unavailable

::: warning SERVICE NOT AVAILABLE
This service is currently not available in Coolify's service catalog.
:::

Deprecated with replacement

::: warning SERVICE DEPRECATED
This service has been deprecated and replaced by [Alternative Service](/services/alternative).
Please migrate to the new service.
:::

Note: The phrase SERVICE DEPRECATED is not in the auto-detect regex. If you use this title and don’t set disabled: true, the service won’t be hidden. Either set disabled: true (recommended) or use one of the recognized phrases.

Temporarily removed

::: warning SERVICE TEMPORARILY DISABLED
This service is temporarily unavailable. Check the [Coolify Discord](https://discord.gg/coolify) for updates.
:::

Removed due to issues

::: danger SERVICE REMOVED FROM COOLIFY
This service has been removed from Coolify due to [reason].
If you were using this service, please [migration instructions or alternative].
:::

Verification Checklist

After disabling, verify:

  • disabled: true added to frontmatter
  • Warning callout added at the top of the body
  • Documentation file still exists (NOT deleted)
  • Ran bun run generate:services
  • docs/.vitepress/theme/data/services.json shows "disabled": true for this service
  • docs/services/all.md no longer lists the service
  • Service no longer appears in the listing at http://localhost:5173/docs/services/
  • Direct URL still works: http://localhost:5173/docs/services/{slug}
  • Warning is visible at the top of the page
  • Both regenerated files are committed alongside the frontmatter change

Re-enabling a Service

To make a service available again:

  1. Remove disabled: true from frontmatter
  2. Remove the warning callout from the markdown body (or change its title to something the auto-detect regex won’t match)
  3. Run bun run generate:services
  4. Commit the page change plus the regenerated services.json and all.md

Example: Full Disabled Service

---
title: "Legacy Service"
description: "A service that is no longer available."
category: "Utilities"
icon: "/docs/images/services/legacy-service-logo.svg"
disabled: true
---

::: warning SERVICE NOT AVAILABLE
This service has been deprecated as of January 2025 and is no longer available in Coolify.
Consider using [Alternative Service](/services/alternative) instead.
:::

# Legacy Service

![Legacy Service](/docs/images/services/legacy-service-logo.svg)

## What was Legacy Service?

Legacy Service was a tool for... [rest of documentation]

What Changed

This skill used to instruct you to:

  • Add disabled: true to the entry in List.vue
  • Manually remove the entry from docs/services/all.md

Both List.vue’s services array and all.md are now generated from frontmatter. Do not edit either file by hand. The single source of truth is the service’s markdown file.

  • adding-service-documentation — for creating new service docs
  • renaming-services — for renaming services