Skip to content

Commit 6b591b2

Browse files
authored
Merge pull request #435 from coollabsio/next
Next
2 parents 0ed1a31 + b383bee commit 6b591b2

File tree

15 files changed

+196
-77
lines changed

15 files changed

+196
-77
lines changed

bun.lockb

0 Bytes
Binary file not shown.

docs/.vitepress/theme/components/KorrektlySearch.vue

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const isLoading = ref(false)
1919
const selectedIndex = ref(0)
2020
const searchInputRef = ref<HTMLInputElement | null>(null)
2121
const searchError = ref<string | null>(null)
22+
const searchQueryId = ref<string | null>(null)
2223
2324
// Korrektly SDK configuration
2425
const korrektlyConfig = {
@@ -60,6 +61,7 @@ const clearSearch = () => {
6061
searchResults.value = []
6162
selectedIndex.value = 0
6263
searchError.value = null
64+
searchQueryId.value = null
6365
isLoading.value = false
6466
}
6567
@@ -161,6 +163,9 @@ const performSearch = async (query: string) => {
161163
// The API returns { success, data: { results: [...] } }
162164
const results = response?.data?.results || response?.results || response?.chunks || []
163165
166+
// Capture search_query_id for click tracking
167+
searchQueryId.value = response?.data?.search_query_id || null
168+
164169
searchResults.value = results.map((chunk: any) => transformSearchResult(chunk))
165170
166171
selectedIndex.value = 0
@@ -248,7 +253,27 @@ const createBreadcrumb = (hierarchy: string[], url: string): string => {
248253
: urlParts.join(' / ')
249254
}
250255
256+
const trackClick = async (chunkId: string, position: number) => {
257+
if (!korrektlySDK || !searchQueryId.value || !korrektlyConfig.datasetId) {
258+
return
259+
}
260+
261+
try {
262+
await korrektlySDK.trackClick(korrektlyConfig.datasetId, {
263+
search_query_id: searchQueryId.value,
264+
chunk_id: chunkId,
265+
position,
266+
})
267+
} catch (error) {
268+
// Log error but don't block navigation
269+
console.error('Failed to track click:', error)
270+
}
271+
}
272+
251273
const navigateToResult = (result: SearchResult) => {
274+
// Track click in fire-and-forget manner
275+
trackClick(result.id, selectedIndex.value)
276+
252277
window.location.href = result.url
253278
closeSearch()
254279
}

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

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1478,6 +1478,13 @@ const services = [
14781478
description: 'Social media scheduling and analytics tool.',
14791479
category: 'Social Media'
14801480
},
1481+
{
1482+
name: 'Pterodactyl',
1483+
slug: 'pterodactyl',
1484+
icon: '/docs/images/services/pterodactyl_logo_transparent.png',
1485+
description: 'Game server management panel with Wings daemon for hosting Minecraft, CS:GO, ARK and more.',
1486+
category: 'Gaming'
1487+
},
14811488
{
14821489
name: 'Prefect',
14831490
slug: 'prefect',
@@ -1849,6 +1856,13 @@ const services = [
18491856
description: 'Next generation ShareX / File upload server',
18501857
category: 'File Management'
18511858
},
1859+
{
1860+
name: 'MetaMCP',
1861+
slug: 'metamcp',
1862+
icon: '/public/images/services/metamcp.png',
1863+
description: 'MCP Aggregator, Orchestrator, Middleware, Gateway in one application.',
1864+
category: 'AI'
1865+
},
18521866
{
18531867
name: 'CodiMD',
18541868
slug: 'codimd',
@@ -1968,13 +1982,6 @@ const services = [
19681982
description: 'Self-hosted file converter.',
19691983
category: 'Utilities'
19701984
},
1971-
{
1972-
name: 'Wings',
1973-
slug: 'wings',
1974-
icon: '/docs/images/services/pterodactyl-logo.png',
1975-
description: 'Pterodactyl server control plane for game servers.',
1976-
category: 'Gaming'
1977-
},
19781985
{
19791986
name: 'Yamtrack',
19801987
slug: 'yamtrack',
@@ -2262,3 +2269,4 @@ const { preloadServices, handleImageError, hasImageError, isImageLoading, getFal
22622269
</div>
22632270
</div>
22642271
</template>
2272+

docs/knowledge-base/drain-logs.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,26 @@ You need to have a `Dataset` and an `API key` from Axiom.
2929

3030
More information [here](https://axiom.co/docs).
3131

32-
## New Relic
32+
### New Relic
3333

3434
You need to have an `License key` from New Relic.
3535

3636
More information [here](https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key).
3737

38+
#### Identify logs by application (per-service names)
39+
40+
If you run multiple services (e.g. web, worker, db) and want to split logs by service in New Relic, add a stable app name to every log event.
41+
42+
##### How to enable
43+
44+
1. Go to your **resource -> Configuration -> Environment Variables** and add
45+
`COOLIFY_APP_NAME=web`
46+
(use any short identifier like web, worker, db, etc.). 
47+
48+
2. **Restart** the resource for the change to take effect. (Log drains & env changes apply on restart.)
49+
50+
When COOLIFY_APP_NAME is present, New Relic will receive a coolify.app_name attribute which you can use to filter logs by service in New Relic.
51+
3852
## Custom FluentBit configuration
3953

4054
If you know how to configure FluentBit, you can use the `Custom FluentBit configuration` to configure the drain logs.
56.5 KB
Loading
487 KB
Loading
119 KB
Loading
46.6 KB
Loading

docs/services/all.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ Complete directory of all one-click services available in Coolify, organized by
231231

232232
- [FoundryVTT](/services/foundryvtt) - Virtual tabletop for tabletop role-playing games
233233
- [Minecraft](/services/minecraft) - Minecraft game server
234-
- [Wings](/services/wings) - Pterodactyl server control plane for game servers
234+
- [Pterodactyl](/services/pterodactyl) - Game server management panel with Wings daemon for hosting Minecraft, CS:GO, ARK and more
235235

236236
## Health
237237

docs/services/beszel.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ Lightweight server monitoring hub with historical data, docker stats, and alerts
1414
- Deploy Beszel using Coolify template
1515
- In the UI, `Add a new System`
1616
- Enter `beszel-agent` in Host/IP
17-
- Copy the key from the modal in the `KEY` environnement variable in Beszel's docker-compose env section (Edit Docker Compose button of Beszel service in Coolify UI)
18-
19-
<ZoomableImage src="/docs/images/services/beszel_doc_1.webp" alt="Beszel dashboard" />
20-
<ZoomableImage src="/docs/images/services/beszel_doc_2.webp" alt="Beszel dashboard" />
17+
- Copy the public Key to `KEY` env variable and token to `TOKEN` variable in Beszel's project environment variables (These are obtained from Beszel UI when adding a new system)
2118

2219
## Links
2320

0 commit comments

Comments
 (0)