Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
078967a
[ui] [callout] fully redesigned callout with better color for accessi…
ShadowArcanist Jan 14, 2026
cd4e120
[ui] [core] use bit more darker color for content area + sidebar use …
ShadowArcanist Jan 14, 2026
2ca5e23
[ui] [core] made texts bit more darkers to be easier on eyes in dark …
ShadowArcanist Jan 14, 2026
d2995f3
[ui] [markdown labels] adjusted borders and bg color for better reada…
ShadowArcanist Jan 14, 2026
a01b32c
[ui] [sidebar] fixed purple border showing on search button by default
ShadowArcanist Jan 14, 2026
2a4a0d6
[ui] [sidebar] fixed search button placeholder text is showing on rig…
ShadowArcanist Jan 14, 2026
0d6b23f
[ui] [callout] changed details callout color from blue to neutral
ShadowArcanist Jan 14, 2026
4e0f718
[ui] [callout] fixed titles should astrisk - broken due to recent bre…
ShadowArcanist Jan 15, 2026
e0c457c
[ui] [callout] removed custom warning emojis from titles -- not neede…
ShadowArcanist Jan 15, 2026
e10efc8
[core] removed tailwindcss typography plugin -- not used
ShadowArcanist Jan 15, 2026
aa47d0a
[core] [build] fixed build failing with error postcss Expected a back…
ShadowArcanist Jan 15, 2026
6455f58
[ui] [callout] improved danger callout color to be more attention gra…
ShadowArcanist Jan 15, 2026
cd76382
[ui] [callout] changed danger callout icon to alert instead of X
ShadowArcanist Jan 15, 2026
b5c575b
[ui] [callout] changed quotes to unordered list inside callout -- quo…
ShadowArcanist Jan 15, 2026
142d708
UI Improvements: Callouts, Sidebar, Dark Mode, and Build Fixes
ShadowArcanist Jan 15, 2026
3060227
[docs] [troubleshoot] fixed wrong quotes usage on traefik commands on…
ShadowArcanist Jan 16, 2026
dd0cd3c
revert: "docs(matrix): Add Traefik configuration for Matrix setup (#4…
peaklabs-dev Jan 16, 2026
794d460
docs(service): add mage-ai (#473)
nktnet1 Jan 16, 2026
90e183c
docs(service): add glip service (#483)
howardshand Jan 16, 2026
c17dbb6
fix: connection unstable docs
peaklabs-dev Jan 16, 2026
0130813
docs(service): update matrix service docs (#466)
4www Jan 16, 2026
0e6b917
docs(service): add nocobase service (#452)
sarthaksavvy Jan 16, 2026
076856c
docs(service): add silverbullet service (#413)
StellarRounin Jan 16, 2026
1f8d5e2
docs(service): add calibre web automated with downloader service (#415)
StellarRounin Jan 16, 2026
ac8b68e
docs(service): add appflowy service (#422)
AntonyLeons Jan 16, 2026
e66ad17
feat(notifications): add mattermost notifications docs to slack provider
peaklabs-dev Jan 16, 2026
513640a
chore(api): update fallback openapi.json
peaklabs-dev Jan 16, 2026
a5dc810
chore: remove unused convert-openapi script
peaklabs-dev Jan 16, 2026
e92c15f
feat(notifications): add missing events to the docs
peaklabs-dev Jan 16, 2026
57be35b
style: format notifcations docs
peaklabs-dev Jan 16, 2026
433dd8c
feat(notification): add webhook notifications docs
peaklabs-dev Jan 16, 2026
14323ed
chore: remove unused openapi.yml file
peaklabs-dev Jan 16, 2026
0624d33
chore(deps): upgrade all dependencies
peaklabs-dev Jan 16, 2026
de7b616
chore(deps): remove unused dependencies
peaklabs-dev Jan 16, 2026
6ffa7e5
docs(service): add autobase service
peaklabs-dev Jan 16, 2026
4da480f
fix(ui): set a max size for service logos
peaklabs-dev Jan 16, 2026
670644d
docs(service): add boocklore service
peaklabs-dev Jan 16, 2026
860f3a4
docs(service): add chibisafe service
peaklabs-dev Jan 16, 2026
9e2aa6f
docs(service): add cloudreve service
peaklabs-dev Jan 16, 2026
b10729b
refactor(service): usesend docs
peaklabs-dev Jan 16, 2026
c8f749c
docs(service): add databasus
peaklabs-dev Jan 16, 2026
9bf1a2c
docs(service): add esphome service
peaklabs-dev Jan 16, 2026
217d39d
docs(service): add fizzy service
peaklabs-dev Jan 16, 2026
f160c98
docs(service): add garage service
peaklabs-dev Jan 16, 2026
9058455
docs(service): add hatchet service
peaklabs-dev Jan 16, 2026
f0edc1c
docs(service): add linkding service
peaklabs-dev Jan 16, 2026
5cd8048
docs(service): add twenty service
peaklabs-dev Jan 16, 2026
99b4d91
docs(service): add open archiver service
peaklabs-dev Jan 16, 2026
8b8d477
refactor(service): glpi logo path and links
peaklabs-dev Jan 16, 2026
cef57db
docs(service): add redmine service
peaklabs-dev Jan 16, 2026
2524ab2
docs(service): add seaweedfs service
peaklabs-dev Jan 16, 2026
8f237eb
docs(service): add sessy service
peaklabs-dev Jan 16, 2026
0a150bc
docs(service): add sftpgo service
peaklabs-dev Jan 16, 2026
b1bec34
docs(service): add soju service
peaklabs-dev Jan 16, 2026
7cbb982
docs(service): add trailbase service
peaklabs-dev Jan 16, 2026
348c0af
docs(service): re-add soketi app manager
peaklabs-dev Jan 16, 2026
f8e1177
refactor(service): apache superset
peaklabs-dev Jan 16, 2026
d30e7ee
chore(service): rename logo for signoz
peaklabs-dev Jan 16, 2026
490d40e
chore(service): rename mautic5 to just mautic
peaklabs-dev Jan 16, 2026
e8a7c67
docs(service): add logo to tailscale service
peaklabs-dev Jan 16, 2026
3837fcd
docs(service): add wings service
peaklabs-dev Jan 16, 2026
06ed7c2
refactor(service): use pterodactyl logo and remove unused logo file f…
peaklabs-dev Jan 16, 2026
e21eed5
feat(redirects): redirect renamed services and service parts
peaklabs-dev Jan 16, 2026
f8ea6c0
fix(service): switch some service icon links from /public to /docs
peaklabs-dev Jan 16, 2026
17004ae
fix(service): add slug to cap in list.vue
peaklabs-dev Jan 16, 2026
bed8104
feat(services): list new services and some fixes
peaklabs-dev Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ TODOs.md

package-lock.json

ui-sample
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Stage 1: Build Stage (oven/bun:1.3.4-alpine)
FROM oven/bun:1.3.4-alpine AS builder
# Stage 1: Build Stage (oven/bun:1.3.6-alpine)
FROM oven/bun:1.3.6-alpine AS builder

ARG VITE_ANALYTICS_DOMAIN=coolify.io/docs
ARG VITE_SITE_URL=https://coolify.io/docs/
ARG VITE_KORREKTLY_API_TOKEN

Check warning on line 6 in Dockerfile

View workflow job for this annotation

GitHub Actions / build-push (amd64, linux/amd64, ubuntu-24.04)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "VITE_KORREKTLY_API_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 6 in Dockerfile

View workflow job for this annotation

GitHub Actions / build-push (aarch64, linux/arm64, ubuntu-24.04-arm)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "VITE_KORREKTLY_API_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ARG VITE_KORREKTLY_BASE_URL
ARG VITE_KORREKTLY_DATASET_ID
ENV VITE_ANALYTICS_DOMAIN=${VITE_ANALYTICS_DOMAIN}
ENV VITE_SITE_URL=${VITE_SITE_URL}
ENV VITE_KORREKTLY_API_TOKEN=${VITE_KORREKTLY_API_TOKEN}

Check warning on line 11 in Dockerfile

View workflow job for this annotation

GitHub Actions / build-push (amd64, linux/amd64, ubuntu-24.04)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "VITE_KORREKTLY_API_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 11 in Dockerfile

View workflow job for this annotation

GitHub Actions / build-push (aarch64, linux/arm64, ubuntu-24.04-arm)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "VITE_KORREKTLY_API_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV VITE_KORREKTLY_BASE_URL=${VITE_KORREKTLY_BASE_URL}
ENV VITE_KORREKTLY_DATASET_ID=${VITE_KORREKTLY_DATASET_ID}
RUN apk add --no-cache nodejs npm
Expand Down Expand Up @@ -45,8 +45,8 @@
--mount=type=cache,target=/app/docs/.vitepress/cache \
bun run build

# Stage 2: NGINX Unprivileged Setup (1.27.3-alpine-slim, ARM64)
FROM nginxinc/nginx-unprivileged:1.27.3-alpine-slim AS final
# Stage 2: NGINX Unprivileged Setup (1.29.3-alpine-slim, ARM64)
FROM nginxinc/nginx-unprivileged:1.29.3-alpine-slim AS final

# Set working directory for NGINX and copy built files from the build stage
WORKDIR /usr/share/nginx/html
Expand Down
412 changes: 187 additions & 225 deletions bun.lock

Large diffs are not rendered by default.

97 changes: 88 additions & 9 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { fileURLToPath, URL } from 'node:url'
import yaml from 'vite-plugin-yaml'
import llmstxt from 'vitepress-plugin-llms'
import { defineConfig } from 'vitepress'
import { useSidebar } from 'vitepress-openapi'
Expand Down Expand Up @@ -536,19 +535,101 @@ export default defineConfig({

markdown: {
config: (md) => {
// Success callout
md.use(container, 'success', {
validate: (params) => {
return params.trim().match(/^success\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^success\s+(.*)$/)
if (tokens[idx].nesting === 1) {
// opening tag
return `<div class="custom-block success">${m ? `<p class="custom-block-title">${m[1]}</p>` : ''
}\n`
return `<Callout type="success" title="${m ? m[1] : ''}">`
} else {
// closing tag
return '</div>\n'
return '</Callout>'
}
}
})
// Tip callout
md.use(container, 'tip', {
validate: (params) => {
return params.trim().match(/^tip\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^tip\s+(.*)$/)
if (tokens[idx].nesting === 1) {
return `<Callout type="tip" title="${m ? m[1] : ''}">`
} else {
return '</Callout>'
}
}
})
// Warning callout
md.use(container, 'warning', {
validate: (params) => {
return params.trim().match(/^warning\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^warning\s+(.*)$/)
if (tokens[idx].nesting === 1) {
return `<Callout type="warning" title="${m ? m[1] : ''}">`
} else {
return '</Callout>'
}
}
})
// Danger callout
md.use(container, 'danger', {
validate: (params) => {
return params.trim().match(/^danger\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^danger\s+(.*)$/)
if (tokens[idx].nesting === 1) {
return `<Callout type="danger" title="${m ? m[1] : ''}">`
} else {
return '</Callout>'
}
}
})
// Info callout
md.use(container, 'info', {
validate: (params) => {
return params.trim().match(/^info\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^info\s+(.*)$/)
if (tokens[idx].nesting === 1) {
return `<Callout type="info" title="${m ? m[1] : ''}">`
} else {
return '</Callout>'
}
}
})
// Neutral callout
md.use(container, 'neutral', {
validate: (params) => {
return params.trim().match(/^neutral\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^neutral\s+(.*)$/)
if (tokens[idx].nesting === 1) {
return `<Callout type="neutral" title="${m ? m[1] : ''}">`
} else {
return '</Callout>'
}
}
})
// Details accordion
md.use(container, 'details', {
validate: (params) => {
return params.trim().match(/^details\s*(.*)$/)
},
render: (tokens, idx) => {
const m = tokens[idx].info.trim().match(/^details\s+(.*)$/)
if (tokens[idx].nesting === 1) {
return `<details class="text-sm rounded-xl border px-6 py-0 last:[&>*]:mb-4 my-4 text-zinc-600 dark:text-zinc-300" style="background-color: var(--coollabs-bg-zinc-300-5); border-color: var(--coollabs-border-zinc-300-20);"><summary class="font-semibold mb-2 cursor-pointer select-none text-zinc-800 dark:text-zinc-100">${m ? m[1] : ''}</summary>`
} else {
return '</details>'
}
}
})
Expand All @@ -572,8 +653,7 @@ export default defineConfig({

vite: {
plugins: [
yaml as any,
llmstxt({
llmstxt({
ignoreFiles: [
'/docs/api-reference/api/**/*',
'**/api-reference/api/**/*'
Expand All @@ -594,7 +674,6 @@ export default defineConfig({
],
}),
],
assetsInclude: ['**/*.yml'],
define: {
'import.meta.env.VITE_KORREKTLY_BASE_URL': JSON.stringify(env.KORREKTLY_BASE_URL || env.VITE_KORREKTLY_BASE_URL || ''),
'import.meta.env.VITE_KORREKTLY_API_TOKEN': JSON.stringify(env.KORREKTLY_API_TOKEN || env.VITE_KORREKTLY_API_TOKEN || ''),
Expand Down
Loading