Skip to content

Commit a34229f

Browse files
authored
docs(services): add OpenClaw service and update documentation process (#516)
2 parents 0a48ffe + e77b72a commit a34229f

File tree

47 files changed

+523
-76
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+523
-76
lines changed

.claude/skills/adding-service-documentation/CATALOG.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,34 @@ const services = [
207207
- Keep entries alphabetically sorted
208208
- Use an existing category when possible
209209

210+
## All Services Directory (`docs/services/all.md`)
211+
212+
In addition to List.vue, add the service to `docs/services/all.md`. This is a manually maintained, categorized list of all services.
213+
214+
### Entry Format
215+
216+
```markdown
217+
- [ServiceName](/services/service-slug) - Brief description
218+
```
219+
220+
### Placement
221+
222+
- Find the correct **category heading** (e.g., `## AI`, `## Development`)
223+
- Insert **alphabetically by name** within that category
224+
- Use the same description as the List.vue entry
225+
226+
### Example
227+
228+
Under `## AI`:
229+
```markdown
230+
- [Ollama](/services/ollama) - A lightweight and efficient server for running LLMs
231+
- [OpenClaw](/services/openclaw) - AI-powered coding assistant with multi-provider support and browser automation
232+
- [Open WebUI](/services/open-webui) - User-friendly WebUI for LLMs
233+
```
234+
210235
## Testing
211236

212-
After adding a service to List.vue:
237+
After adding a service to List.vue and all.md:
213238

214239
```bash
215240
# Start dev server

.claude/skills/adding-service-documentation/SKILL.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ This skill guides you through documenting a new service in the Coolify documenta
2222
3. **Download the logo** from GitHub and save to `docs/public/images/services/`
2323
4. **Create documentation** at `docs/services/{service-slug}.md`
2424
5. **Update services list** in `docs/.vitepress/theme/components/Services/List.vue`
25-
6. **Test locally** with `bun run dev`
25+
6. **Update all services directory** in `docs/services/all.md`
26+
7. **Test locally** with `bun run dev`
2627

2728
## File Structure
2829

@@ -39,7 +40,8 @@ https://github.com/coollabsio/coolify/tree/main/public/svgs
3940
Documentation Repository:
4041
├── docs/
4142
│ ├── services/
42-
│ │ └── service-name.md # Service documentation page
43+
│ │ ├── service-name.md # Service documentation page
44+
│ │ └── all.md # All services directory (categorized list)
4345
│ ├── public/images/services/
4446
│ │ └── service-logo.svg # Copied logo
4547
│ └── .vitepress/theme/components/Services/
@@ -48,11 +50,12 @@ Documentation Repository:
4850

4951
## Required Files
5052

51-
Every service requires these 3 files:
53+
Every service requires these 4 updates:
5254

5355
1. **Service documentation** (`docs/services/{slug}.md`)
5456
2. **Service logo** (`docs/public/images/services/{name}-logo.{ext}`)
5557
3. **List entry** (in `docs/.vitepress/theme/components/Services/List.vue`)
58+
4. **All services directory** (`docs/services/all.md`) — add entry alphabetically under the correct category
5659

5760
## Detailed Instructions
5861

.claude/skills/disabling-services/SKILL.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,20 @@ If you were using this service, please [migration instructions or alternative].
123123
:::
124124
```
125125

126+
### 5. Remove from All Services Directory
127+
128+
Edit `docs/services/all.md` and remove the service entry from its category section.
129+
126130
## Verification Checklist
127131

128132
After disabling, verify:
129133

130134
- [ ] `disabled: true` added to service entry in List.vue
131135
- [ ] Warning callout added to markdown file
136+
- [ ] Entry removed from `docs/services/all.md`
132137
- [ ] Documentation file still exists (NOT deleted)
133138
- [ ] Service no longer appears in listing at http://localhost:5173/docs/services/
139+
- [ ] Service no longer appears at http://localhost:5173/docs/services/all
134140
- [ ] Direct URL still works: http://localhost:5173/docs/services/service-name
135141
- [ ] Warning is visible at top of page
136142

.claude/skills/renaming-services/SKILL.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@ This skill guides you through renaming a service in the Coolify documentation, e
1515
- Consolidating duplicate service documentation
1616
- Correcting typos in service slugs
1717

18-
## Critical: Three Locations Must Be Updated
18+
## Critical: Four Locations Must Be Updated
1919

20-
When renaming a service, you **MUST** update all three locations:
20+
When renaming a service, you **MUST** update all four locations:
2121

2222
1. **Documentation file** (`docs/services/`)
2323
2. **Services list** (`docs/.vitepress/theme/components/Services/List.vue`)
24-
3. **Nginx redirects** (`nginx/redirects.conf`)
24+
3. **All services directory** (`docs/services/all.md`)
25+
4. **Nginx redirects** (`nginx/redirects.conf`)
2526

26-
Failing to update all three will cause broken links or 404 errors.
27+
Failing to update all four will cause broken links or 404 errors.
2728

2829
## Step-by-Step Process
2930

@@ -69,7 +70,15 @@ location = /knowledge-base/services/old-name { return 301 /docs/services/new-nam
6970

7071
**Important:** Keep redirects even for deleted pages to prevent 404 errors from search engines and bookmarks.
7172

72-
### 4. Update Internal Links
73+
### 4. Update All Services Directory
74+
75+
Edit `docs/services/all.md` and update the service entry under its category:
76+
77+
```markdown
78+
- [New Service Name](/services/new-name) - Service description
79+
```
80+
81+
### 5. Update Internal Links
7382

7483
Search for any internal links referencing the old name:
7584

@@ -80,7 +89,7 @@ grep -r "old-name" docs/
8089

8190
Update any found references in other documentation files.
8291

83-
### 5. Rename Logo File (If Needed)
92+
### 6. Rename Logo File (If Needed)
8493

8594
If the logo filename also needs updating:
8695

@@ -99,6 +108,7 @@ After renaming, verify:
99108
- [ ] Old file removed or redirected
100109
- [ ] List.vue `slug` matches new filename
101110
- [ ] List.vue `icon` path is correct
111+
- [ ] Entry updated in `docs/services/all.md`
102112
- [ ] Redirect added to `nginx/redirects.conf`
103113
- [ ] No broken internal links (run `grep -r "old-name" docs/`)
104114
- [ ] Service appears correctly at http://localhost:5173/docs/services/new-name

docs/.vitepress/theme/components/Services/List.vue

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,13 @@ const services = [
309309
description: 'Open-source knowledge base and workspace combining docs, whiteboards, and databases.',
310310
category: 'Productivity'
311311
},
312+
{
313+
name: 'Alexandrie',
314+
slug: 'alexandrie',
315+
icon: '/docs/images/services/alexandrie-logo.svg',
316+
description: 'Markdown note-taking app focused on performance, local data, and knowledge graph navigation.',
317+
category: 'Productivity'
318+
},
312319
{
313320
name: 'AppFlowy',
314321
slug: 'appflowy',
@@ -379,6 +386,13 @@ const services = [
379386
description: 'It helps parents track their baby\'s daily activities, growth, and health with ease.',
380387
category: 'Health'
381388
},
389+
{
390+
name: 'BentoPDF',
391+
slug: 'bento-pdf',
392+
icon: '/docs/images/services/bento-pdf.png',
393+
description: 'Process PDFs entirely in your browser. No uploads. No servers. Complete privacy.',
394+
category: 'Productivity'
395+
},
382396
{
383397
name: 'Beszel',
384398
slug: 'beszel',
@@ -877,6 +891,13 @@ const services = [
877891
description: 'DevOps lifecycle tool.',
878892
category: 'Development'
879893
},
894+
{
895+
name: 'GoatCounter',
896+
slug: 'goatcounter',
897+
icon: '/docs/images/services/goatcounter.svg',
898+
description: 'Web analytics platform offering easy to use and meaningful privacy-friendly web analytics.',
899+
category: 'Analytics'
900+
},
880901
{
881902
name: 'Gotify',
882903
slug: 'gotify',
@@ -1116,6 +1137,13 @@ const services = [
11161137
description: 'Open source LLM engineering platform.',
11171138
category: 'AI'
11181139
},
1140+
{
1141+
name: 'Langflow',
1142+
slug: 'langflow',
1143+
icon: '/docs/images/services/langflow.svg',
1144+
description: 'Open source Python-based framework for building AI applications.',
1145+
category: 'AI'
1146+
},
11191147
{
11201148
name: 'Linkding',
11211149
slug: 'linkding',
@@ -1453,6 +1481,13 @@ const services = [
14531481
category: 'Development',
14541482
disabled: true
14551483
},
1484+
{
1485+
name: 'OpenClaw',
1486+
slug: 'openclaw',
1487+
icon: '/docs/images/services/openclaw-logo.svg',
1488+
description: 'AI-powered coding assistant with multi-provider support and browser automation.',
1489+
category: 'AI'
1490+
},
14561491
{
14571492
name: 'Organizr',
14581493
slug: 'organizr',
@@ -1721,6 +1756,13 @@ const services = [
17211756
description: 'Open source team chat software.',
17221757
category: 'Communication'
17231758
},
1759+
{
1760+
name: 'Satisfactory',
1761+
slug: 'satisfactory',
1762+
// No icon available on the codebase yet.
1763+
description: 'Game server for Satisfactory open-world factory building game with a dash of exploration and combat.',
1764+
category: 'Search'
1765+
},
17241766
{
17251767
name: 'SearXNG',
17261768
slug: 'searxng',
@@ -2526,3 +2568,4 @@ const { preloadServices, handleImageError, hasImageError, isImageLoading, getFal
25262568
</div>
25272569
</div>
25282570
</template>
2571+

docs/.vitepress/theme/style.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1075,7 +1075,8 @@ pre[class*='language-'] *:hover {
10751075
.vp-doc table {
10761076
border-collapse: collapse;
10771077
border-spacing: 0;
1078-
width: 100%;
1078+
width: fit-content;
1079+
max-width: 100%;
10791080
margin: 1.5rem 0;
10801081
font-size: 0.875rem;
10811082
line-height: 1.5;
@@ -1102,7 +1103,7 @@ pre[class*='language-'] *:hover {
11021103

11031104
.vp-doc th:first-child,
11041105
.vp-doc td:first-child {
1105-
width: 200px;
1106+
width: 240px;
11061107
min-width: 200px;
11071108
vertical-align: middle;
11081109
}

docs/api-reference/authorization.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ API request requires a `Bearer` token in `Authorization` header, which could be
99

1010
## Access
1111

12-
The API can be accesed through `http://<ip>:8000/api`.
12+
The API can be accessed through `http://<ip>:8000/api`.
1313

14-
With the exception of `/health` and `/feedback`, all routes are additionally prefixed with `/v1` resulting in the base rouce `http://<ip>:8000/api/v1`.
14+
With the exception of `/health` and `/feedback`, all routes are additionally prefixed with `/v1` resulting in the base route `http://<ip>:8000/api/v1`.
1515

1616
## Generate
1717

docs/applications/build-packs/nixpacks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ First, follow the previous section in this documentation: [How to use Nixpacks](
5656

5757
<ZoomableImage src="/docs/images/builds/packs/nixpacks/5.webp" alt="Coolify dashboard screenshot" />
5858

59-
1. **Branch:** Coolify will automatically detect the branch from your Repostiory.
59+
1. **Branch:** Coolify will automatically detect the branch from your Repository.
6060

6161
2. **Base Directory:** Enter the directory Nixpacks should use as the root (for example, `/` if your files are at the root, or a subfolder if applicable).
6262

@@ -100,7 +100,7 @@ First, follow the previous section in this documentation: [How to use Nixpacks](
100100

101101
<ZoomableImage src="/docs/images/builds/packs/nixpacks/8.webp" alt="Coolify dashboard screenshot" />
102102

103-
1. **Branch:** Coolify will automatically detect the branch from your Repostiory.
103+
1. **Branch:** Coolify will automatically detect the branch from your Repository.
104104

105105
2. **Base Directory:** Enter the directory Nixpacks should use as the root (for example, `/` if your files are at the root, or a subfolder if applicable).
106106

docs/applications/build-packs/nixpacks/node-versioning.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ These hashes are provided for reference only. They have not been verified for ac
6464
### Node.js 20.x
6565

6666
| Version | SHA256 |
67-
| ------- | ------------------------------------------------------------------ |
67+
| ------- | :------------------------------------------------------------------ |
6868
| 20.0.0 | `sha256-dFDnV5Vo99HLOYGFz85HLaKDeyqjbFliCyLOS5d7XLU=` |
6969
| 20.1.0 | `sha256-YA+eEYYJlYFLkSKxrFMY9q1WQnR4Te7ZjYqSBmSUNrU=` |
7070
| 20.2.0 | `sha256-IlI98jFsNVaXFP8fabBTwuKGztRgiYQX3uRpRe/N+Yk=` |
@@ -105,7 +105,7 @@ These hashes are provided for reference only. They have not been verified for ac
105105
### Node.js 22.x
106106

107107
| Version | SHA256 |
108-
| ------- | ------------------------------------------------------------------ |
108+
| ------- | :------------------------------------------------------------------ |
109109
| 22.0.0 | `sha256-IuKPv/MfaQc7gCTLQnReUQX4QEHzR1smC5fVoUEDnRo=` |
110110
| 22.1.0 | `sha256-nX1fQNnb1iYMmbXklLX5vHVejw/6xw4SGtzl+0QvI8s=` |
111111
| 22.2.0 | `sha256-iJkIqIKNFISRDX5lm2qlet6NUo/w45Dpp372WadihHQ=` |
@@ -135,7 +135,7 @@ These hashes are provided for reference only. They have not been verified for ac
135135
### Node.js 24.x
136136

137137
| Version | SHA256 |
138-
| ----------- | ------------------------------------------------------------------ |
138+
| ----------- | :------------------------------------------------------------------ |
139139
| 24.0.0-rc.2 | `729fca42bb7266031dd020f3935423ea8d4b4e2d119b34b608f1d079e5c1621a` |
140140
| 24.0.0-rc.3 | `9bbca08fba05f075a20f734ea80b195a4a39218476b60b32db79e1d393fda20b` |
141141
| 24.0.0 | `914f3f1b03f84a0994d7357f190ff13c038800c693b6c06da2290eb588c82761` |
@@ -159,5 +159,5 @@ These hashes are provided for reference only. They have not been verified for ac
159159
### Node.js 25.x
160160

161161
| Version | SHA256 |
162-
| ------- | ------------------------------------------------------------------ |
162+
| ------- | :------------------------------------------------------------------ |
163163
| 25.2.1 | `aa7c4ac1076dc299a8949b8d834263659b2408ec0e5bba484673a8ce0766c8b9` |

docs/applications/ci-cd/github/setup-app.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "Set up a GitHub App in Coolify to access and deploy from private G
44
---
55

66
# GitHub App
7-
Github app allows you to grant access to a single or mulitple private repositories from your either personal github account or your organization on github.
7+
Github app allows you to grant access to a single or multiple private repositories from your either personal github account or your organization on github.
88

99

1010
### Why use github app with Coolify?
@@ -183,7 +183,7 @@ Creating apps on github slightly varies for personal accounts and organizations
183183
4. Enter Setup URL: `https://coolboxy.shadowarcanist.internal/webhooks/source/github/install?source=a8000cg0g0ogcc0ggkk8ow4k`
184184

185185
5. Enable the option `Redirect on Update`
186-
6. Enter Webhook URL: `https://coolboxy.shadowarcanist.internal/source/github/events`
186+
6. Enter Webhook URL: `https://coolboxy.shadowarcanist.internal/webhooks/source/github/events`
187187

188188
::: info
189189
You have to replace `https://coolboxy.shadowarcanist.internal` with your Coolify dashboard url and replace `a8000cg0g0ogcc0ggkk8ow4k` with the Source ID [Step 1](#_1-create-a-github-app-on-coolify-1)

0 commit comments

Comments
 (0)