Skip to content

Commit dc93f58

Browse files
committed
Merge branch 'next' into bozau/v4.x
2 parents 1a4c691 + e3d4538 commit dc93f58

File tree

652 files changed

+17152
-12071
lines changed

Some content is hidden

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

652 files changed

+17152
-12071
lines changed

.env.example

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Site URL for sitemap and meta tags
2+
# Default: https://coolify.io/docs/
3+
# For next branch: https://next.coolify.io/docs/
4+
VITE_SITE_URL=https://coolify.io/docs/
5+
6+
# Analytics domain for Plausible
7+
# Default: coolify.io/docs
8+
VITE_ANALYTICS_DOMAIN=coolify.io/docs
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Claude Code Review
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize]
6+
# Optional: Only run on specific file changes
7+
# paths:
8+
# - "src/**/*.ts"
9+
# - "src/**/*.tsx"
10+
# - "src/**/*.js"
11+
# - "src/**/*.jsx"
12+
13+
jobs:
14+
claude-review:
15+
if: false
16+
# Optional: Filter by PR author
17+
# if: |
18+
# github.event.pull_request.user.login == 'external-contributor' ||
19+
# github.event.pull_request.user.login == 'new-developer' ||
20+
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
21+
22+
runs-on: ubuntu-latest
23+
permissions:
24+
contents: read
25+
pull-requests: read
26+
issues: read
27+
id-token: write
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
with:
33+
fetch-depth: 1
34+
35+
- name: Run Claude Code Review
36+
id: claude-review
37+
uses: anthropics/claude-code-action@v1
38+
with:
39+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
40+
prompt: |
41+
REPO: ${{ github.repository }}
42+
PR NUMBER: ${{ github.event.pull_request.number }}
43+
44+
Please review this pull request and provide feedback on:
45+
- Code quality and best practices
46+
- Potential bugs or issues
47+
- Performance considerations
48+
- Security concerns
49+
- Test coverage
50+
51+
Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback.
52+
53+
Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR.
54+
55+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
56+
# or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options
57+
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'
58+

.github/workflows/claude.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Claude Code
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_review_comment:
7+
types: [created]
8+
issues:
9+
types: [opened, assigned]
10+
pull_request_review:
11+
types: [submitted]
12+
13+
jobs:
14+
claude:
15+
if: |
16+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
pull-requests: read
24+
issues: read
25+
id-token: write
26+
actions: read # Required for Claude to read CI results on PRs
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
with:
31+
fetch-depth: 1
32+
33+
- name: Run Claude Code
34+
id: claude
35+
uses: anthropics/claude-code-action@v1
36+
with:
37+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38+
39+
# This is an optional setting that allows Claude to read CI results on PRs
40+
additional_permissions: |
41+
actions: read
42+
43+
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44+
# prompt: 'Update the pull request description to include a summary of changes.'
45+
46+
# Optional: Add claude_args to customize behavior and configuration
47+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48+
# or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options
49+
# claude_args: '--model claude-opus-4-1-20250805 --allowed-tools Bash(gh pr:*)'
50+

.github/workflows/production-build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ env:
99
GITHUB_REGISTRY: ghcr.io
1010
IMAGE_NAME: coollabsio/coolify-docs
1111
VITE_ANALYTICS_DOMAIN: coolify.io/docs
12+
VITE_SITE_URL: https://coolify.io/docs/
1213

1314
jobs:
1415
build:
@@ -50,6 +51,9 @@ jobs:
5051
context: .
5152
file: Dockerfile
5253
platforms: linux/arm64
54+
build-args: |
55+
VITE_ANALYTICS_DOMAIN=${{ env.VITE_ANALYTICS_DOMAIN }}
56+
VITE_SITE_URL=${{ env.VITE_SITE_URL }}
5357
push: true
5458
cache-from: type=gha,scope=${{ github.workflow }}
5559
cache-to: type=gha,mode=max,scope=${{ github.workflow }}

.github/workflows/staging-build.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ on:
88
env:
99
GITHUB_REGISTRY: ghcr.io
1010
IMAGE_NAME: coollabsio/coolify-docs
11+
VITE_ANALYTICS_DOMAIN: next.coolify.io/docs
12+
VITE_SITE_URL: https://next.coolify.io/docs/
1113

1214
jobs:
1315
build:
@@ -50,7 +52,8 @@ jobs:
5052
file: Dockerfile
5153
platforms: linux/arm64
5254
build-args: |
53-
VITE_ANALYTICS_DOMAIN=next.coolify.io/docs
55+
VITE_ANALYTICS_DOMAIN=${{ env.VITE_ANALYTICS_DOMAIN }}
56+
VITE_SITE_URL=${{ env.VITE_SITE_URL }}
5457
push: true
5558
cache-from: type=gha,scope=${{ github.workflow }}
5659
cache-to: type=gha,mode=max,scope=${{ github.workflow }}

Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
FROM oven/bun:1.1.44-alpine AS builder
33

44
ARG VITE_ANALYTICS_DOMAIN=coolify.io/docs
5+
ARG VITE_SITE_URL=https://coolify.io/docs/
56
ENV VITE_ANALYTICS_DOMAIN=${VITE_ANALYTICS_DOMAIN}
7+
ENV VITE_SITE_URL=${VITE_SITE_URL}
68
RUN apk add --no-cache nodejs npm
79

810
# Set working directory and copy necessary files

conductor.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"scripts": {
3+
"run": "bun install && bun run dev"
4+
},
5+
"runScriptMode": "nonconcurrent"
6+
}

docs/.vitepress/config.mts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,30 @@ export default defineConfig({
3232
lastUpdated: true,
3333
ignoreDeadLinks: true,
3434
sitemap: {
35-
hostname: 'https://coolify.io/docs/'
35+
hostname: env.VITE_SITE_URL ?? 'https://coolify.io/docs/'
36+
},
37+
38+
transformHead: ({ pageData }) => {
39+
const canonicalUrl = `${env.VITE_SITE_URL ?? 'https://coolify.io/docs'}${pageData.relativePath.replace(/((^|\/)index)?\.md$/, '$2')}`
40+
return [
41+
['link', { rel: 'canonical', href: canonicalUrl }]
42+
]
3643
},
3744

3845
head: [
3946
['meta', { name: 'theme-color', content: '#000000' }],
4047
['meta', { property: 'og:type', content: 'website' }],
4148
['meta', { property: 'og:title', content: 'Coolify Docs' }],
42-
['meta', { property: 'og:url', content: 'https://coolify.io/docs/' }],
49+
['meta', { property: 'og:url', content: env.VITE_SITE_URL ?? 'https://coolify.io/docs/' }],
4350
['meta', { property: 'og:description', content: 'Self hosting with superpowers: An open-source & self-hostable Heroku / Netlify / Vercel alternative.' }],
4451
['meta', { property: 'og:image', content: 'https://coolcdn.b-cdn.net/assets/coolify/og-image-docs.png' }],
4552
['meta', { property: 'twitter:site', content: '@coolifyio' }],
4653
['meta', { property: 'twitter:card', content: 'summary_large_image' }],
4754
['meta', { property: 'twitter:title', content: 'Coolify Docs' }],
4855
['meta', { property: 'twitter:description', content: 'Self hosting with superpowers: An open-source & self-hostable Heroku / Netlify / Vercel alternative.' }],
49-
['meta', { property: 'twitter:url', content: 'https://coolify.io/docs/' }],
56+
['meta', { property: 'twitter:url', content: env.VITE_SITE_URL ?? 'https://coolify.io/docs/' }],
5057
['meta', { property: 'twitter:image', content: 'https://coolcdn.b-cdn.net/assets/coolify/og-image-docs.png' }],
51-
['link', { rel: 'icon', href: '/docs/coolify-logo-transparent.png' }],
58+
['link', { rel: 'icon', href: '/docs/coolify-logo-transparent.png', alt: "Coolify's Logo" }],
5259
['link', { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }],
5360
['script', { defer: 'true', src: 'https://analytics.coollabs.io/js/script.tagged-events.js', 'data-domain': env.VITE_ANALYTICS_DOMAIN ?? 'coolify.io/docs' }],
5461
['script', { async: 'true', src: '/docs/trieve-user-script.js' }],
@@ -177,7 +184,8 @@ export default defineConfig({
177184
collapsed: true,
178185
items: [
179186
{ text: 'Introduction', link: '/services/introduction' },
180-
{ text: 'All Services', link: '/services/overview' }
187+
{ text: 'All Services', link: '/services/overview' },
188+
{ text: 'Services Directory', link: '/services/all' }
181189
]
182190
},
183191
{
@@ -402,6 +410,7 @@ export default defineConfig({
402410
},
403411
]
404412
},
413+
{ text: 'FAQ', link: '/knowledge-base/faq' },
405414
]
406415
}
407416
],
@@ -439,6 +448,7 @@ export default defineConfig({
439448
collapsed: true,
440449
items: [
441450
{ text: 'Bad Gateway (502)', link: '/troubleshoot/applications/bad-gateway.md' },
451+
{ text: 'No Available Server (503)', link: '/troubleshoot/applications/no-available-server' },
442452
{ text: 'Gateway Timeout (504)', link: '/troubleshoot/applications/gateway-timeout' },
443453
{ text: 'Failed To Get Access Token During Deployment', link: '/troubleshoot/applications/failed-to-get-token' },
444454
]

0 commit comments

Comments
 (0)