| name | adding-service-documentation |
| description | Documents new Coolify one-click services by creating markdown pages in docs/services/, downloading logos to docs/public/images/services/, and updating List.vue catalog. Use when adding service documentation, creating service pages, onboarding services from templates/compose/, or updating the services catalog with new entries. |
| allowed-tools | Read, Grep, Glob, Write, Bash |
Add Service Documentation
This skill guides you through documenting a new service in the Coolify documentation repository.
When to Use This Skill
- Adding documentation for a new service from the Coolify repository
- Creating service pages with proper formatting and images
- Updating the services list component
- Following documentation standards for service pages
Quick Start Workflow
- Identify the service from Coolify's GitHub repository (
templates/compose/)
- Extract metadata from the YAML template header
- Download the logo from GitHub and save to
docs/public/images/services/
- Create documentation at
docs/services/{service-slug}.md
- Update services list in
docs/.vitepress/theme/components/Services/List.vue
- Update all services directory in
docs/services/all.md
- Test locally with
bun run dev
File Structure
Coolify Repository (GitHub):
├── templates/compose/
│ └── service-name.yaml # Service template with metadata
└── public/svgs/
└── service-logo.svg # Service logo
https://github.com/coollabsio/coolify/tree/main/templates/compose
https://github.com/coollabsio/coolify/tree/main/public/svgs
Documentation Repository:
├── docs/
│ ├── services/
│ │ ├── service-name.md # Service documentation page
│ │ └── all.md # All services directory (categorized list)
│ ├── public/images/services/
│ │ └── service-logo.svg # Copied logo
│ └── .vitepress/theme/components/Services/
│ └── List.vue # Services catalog (line ~261)
Required Files
Every service requires these 4 updates:
- Service documentation (
docs/services/{slug}.md)
- Service logo (
docs/public/images/services/{name}-logo.{ext})
- List entry (in
docs/.vitepress/theme/components/Services/List.vue)
- All services directory (
docs/services/all.md) — add entry alphabetically under the correct category
Detailed Instructions
Service-specific:
Shared guidelines:
Important Rules
- Download logos locally: NEVER use external image URLs - always download to
docs/public/images/services/
- Skip ignored services: If YAML has
# ignore: true, don't document it
- Images: Use
 for logos; use <ZoomableImage> only for screenshots
- Add UTM parameters: Append
?utm_source=coolify.io to all external links
- Follow naming: Use lowercase, hyphenated slugs (e.g.,
my-service.md)
- Alphabetical order: Insert services alphabetically in List.vue
Testing
bun run dev
bun run build
Troubleshooting
Image not showing:
- Check path starts with
/docs/images/services/ (not /public/)
- Verify file exists in
docs/public/images/services/
- Confirm file extension matches
Service not in list:
- Verify entry added to
services array in List.vue
- Check
ignore: true is not set
- Ensure valid JavaScript syntax
Category missing:
- Check category name matches existing categories (case-sensitive)
- See CATALOG.md for full category list
Related Commands
/new-services - Automated service documentation generator
- Check existing services for examples in
docs/services/