diff --git a/apps/docs/content/alpine/how-to/build-pipeline.mdx b/apps/docs/content/alpine/how-to/build-pipeline.mdx index 83962444..561fe0f6 100644 --- a/apps/docs/content/alpine/how-to/build-pipeline.mdx +++ b/apps/docs/content/alpine/how-to/build-pipeline.mdx @@ -24,7 +24,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else # OPTIONAL. Build your application @@ -52,7 +52,7 @@ zerops: # OPTIONAL. Customize the runtime Alpine environment by installing additional # dependencies to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else # OPTIONAL. Run one or more commands each time a new runtime container @@ -172,7 +172,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -515,7 +515,7 @@ zerops: # OPTIONAL. Customise the runtime environment by installing additional packages # or tools to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -569,7 +569,7 @@ zerops: # OPTIONAL. Customise the runtime environment by installing additional packages # or tools to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` diff --git a/apps/docs/content/alpine/how-to/customize-runtime.mdx b/apps/docs/content/alpine/how-to/customize-runtime.mdx index 2ac621fe..23e9d8db 100644 --- a/apps/docs/content/alpine/how-to/customize-runtime.mdx +++ b/apps/docs/content/alpine/how-to/customize-runtime.mdx @@ -23,8 +23,8 @@ import { SetVar, Var, VarLink, VarCodeBlock, VarReasons } from '@site/src/compon run: base: {{serviceVersion}} prepareCommands: - - apk update - - apk add --no-cache imagemagick ffmpeg`} /> + - sudo apk update + - sudo apk add --no-cache imagemagick ffmpeg`} /> ## Build Custom Runtime Images diff --git a/apps/docs/content/features/pipeline.mdx b/apps/docs/content/features/pipeline.mdx index 33aba5c1..084fcb03 100644 --- a/apps/docs/content/features/pipeline.mdx +++ b/apps/docs/content/features/pipeline.mdx @@ -1,6 +1,6 @@ --- title: Build & deploy pipeline -description: Learn how to setup a build & deploy pipeline at Zerops. +description: Learn how to set up a build & deploy pipeline at Zerops. --- import GroupCards from '../../src/components/GroupCards'; @@ -222,7 +222,7 @@ When your application requires additional system packages, libraries, or tools i ### When to use custom runtime images Build custom runtime images when you need: -- System packages or libraries for runtime operations (e.g., `apk add imagemagick` for image processing) +- System packages or libraries for runtime operations (e.g., `sudo apk add imagemagick` for image processing) - Library dependencies for interpreted languages or dynamically linked binaries - System-level tools or utilities your application requires - Customized base operating system or additional software layers diff --git a/apps/docs/content/python/how-to/build-pipeline.mdx b/apps/docs/content/python/how-to/build-pipeline.mdx index b986169c..ecdb5612 100644 --- a/apps/docs/content/python/how-to/build-pipeline.mdx +++ b/apps/docs/content/python/how-to/build-pipeline.mdx @@ -202,7 +202,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apt install python3-pip # already installed for Python services + - sudo apt install python3-pip # already installed for Python services ... ``` @@ -229,8 +229,8 @@ Use following syntax to run all commands in the same environment context. For ex ```yaml prepareCommands: - | - apt update - apt install python3-pip # already installed for Python services + sudo apt update + sudo apt install python3-pip # already installed for Python services ``` #### Run prepare commands as a separate shell instances @@ -239,8 +239,8 @@ When the following syntax is used, each command is triggered in a separate envir ```yaml prepareCommands: - - apt update - - apt install python3-pip # already installed for Python services + - sudo apt update + - sudo apt install python3-pip # already installed for Python services ``` ### deployFiles diff --git a/apps/docs/src/components/CopyPageMenu/index.tsx b/apps/docs/src/components/CopyPageMenu/index.tsx new file mode 100644 index 00000000..8f8cc891 --- /dev/null +++ b/apps/docs/src/components/CopyPageMenu/index.tsx @@ -0,0 +1,83 @@ +import React, { useState } from "react" +import { useLocation } from "@docusaurus/router" + +export function CopyPageMenu() { + const [copyFeedback, setCopyFeedback] = useState(false) + const location = useLocation() + + const mdPath = `${location.pathname}.md` + + async function handleCopyMarkdown() { + try { + const response = await fetch(mdPath) + if (!response.ok) throw new Error("Failed to fetch") + const text = await response.text() + await navigator.clipboard.writeText(text) + setCopyFeedback(true) + setTimeout(() => setCopyFeedback(false), 2000) + } catch { + console.error("Failed to copy markdown") + } + } + + function handleViewMarkdown() { + window.open(mdPath, "_blank", "noopener,noreferrer") + } + + return ( +
+
+ + +
+ ) +} diff --git a/apps/docs/src/css/components/copy-page-menu.css b/apps/docs/src/css/components/copy-page-menu.css new file mode 100644 index 00000000..ef0b0d6e --- /dev/null +++ b/apps/docs/src/css/components/copy-page-menu.css @@ -0,0 +1,27 @@ +.copy-page-menu { + @apply mt-1.5; +} + +.copy-page-menu__divider { + @apply h-[1px] w-[50%] bg-medusa-border-base mb-0.75 mx-auto; +} + +.copy-page-menu__item { + @apply flex items-center gap-[6px]; + @apply py-[6px] px-1 rounded-md cursor-pointer text-left; + @apply bg-transparent border-0; + @apply text-compact-x-small-plus whitespace-nowrap; + @apply text-gray-700 dark:text-gray-300; + @apply hover:text-gray-900 dark:hover:text-gray-100; + @apply hover:bg-medusa-bg-base-hover; + @apply active:bg-medusa-bg-base-pressed; + @apply transition-colors duration-200; +} + +.copy-page-menu__item + .copy-page-menu__item { + @apply mt-[2px]; +} + +.copy-page-menu__item svg { + @apply flex-shrink-0; +} diff --git a/apps/docs/src/css/components/toc.css b/apps/docs/src/css/components/toc.css index c6f0d066..1a1b3956 100644 --- a/apps/docs/src/css/components/toc.css +++ b/apps/docs/src/css/components/toc.css @@ -7,8 +7,6 @@ @apply before:bg-toc dark:before:bg-toc-dark; @apply before:bg-no-repeat before:bg-[length:14px_10px] before:bg-[center_left]; @apply before:pl-[22px] before:content-['On_this_page'] before:pb-0 text-compact-small-plus; - @apply after:content-[''] after:absolute after:left-0 after:top-2.5; - @apply after:h-full after:w-[1px] after:bg-medusa-border-base; } .theme-doc-toc-desktop .table-of-contents .table-of-contents__link { @@ -25,6 +23,7 @@ .theme-doc-toc-desktop .table-of-contents__link { @apply relative text-compact-x-small-plus; + @apply text-medusa-fg-muted; @apply hover:text-medusa-fg-base; } diff --git a/apps/docs/src/css/custom.css b/apps/docs/src/css/custom.css index 26e5b02e..da54b907 100644 --- a/apps/docs/src/css/custom.css +++ b/apps/docs/src/css/custom.css @@ -231,4 +231,5 @@ html[data-theme='dark'] .docsearch-btn:hover { @import url('./_docusaurus.css'); @import url('./components/sidebar.css'); @import url('./components/toc.css'); +@import url('./components/copy-page-menu.css'); @import url('./components/tooltip.css'); diff --git a/apps/docs/src/plugins/markdown-source/index.js b/apps/docs/src/plugins/markdown-source/index.js index ffdd36c2..0c43ed34 100644 --- a/apps/docs/src/plugins/markdown-source/index.js +++ b/apps/docs/src/plugins/markdown-source/index.js @@ -291,34 +291,77 @@ function cleanMarkdownForDisplay(content, filepath, siteDir, docsDir) { // 6. Substitute variables like {data.something} content = substituteVariables(content, siteDir); - // 7. Convert HTML images to markdown - // 7a. Convert React components to markdown (before removing figure tags) - content = content.replace( - /]*(?:lightImage|src)=["']([^"']+)["'][^>]*alt=["']([^"']+)["'][^>]*\/?>/g, - (match, src, alt) => { - return `![${alt}](${src})`; + // 6b. Resolve Var components (SetVar, Var, VarLink, VarCodeBlock, VarReasons, IfVar) + // First, collect all SetVar values + const vars = {}; + content.replace( + //g, + (match, name, value) => { vars[name] = value; return ''; } + ); + // Also collect SetVar with JSX expression values (simple strings) + content.replace( + //g, + (match, name, expr) => { + // Only handle simple string/data references, skip arrays/objects + const trimmed = expr.trim(); + if (!trimmed.startsWith('[') && !trimmed.startsWith('{')) { + // Try to resolve data.x.y references + const dataMatch = trimmed.match(/^data\.(.+)$/); + if (dataMatch) { + const data = getDataJson(siteDir); + const keys = dataMatch[1].split('.'); + let val = data; + for (const key of keys) { + if (val && typeof val === 'object' && key in val) { + val = val[key]; + } else { + val = null; + break; + } + } + if (val !== null && typeof val !== 'object') { + vars[name] = String(val); + } + } + } + return ''; } ); - - // 7b. Convert standard HTML tags to markdown + // Remove all SetVar tags + content = content.replace(/]*\/>/g, ''); + // Replace with the variable value content = content.replace( - /]*src=["']([^"']+)["'][^>]*alt=["']([^"']*?)["'][^>]*\/?>/g, - (match, src, alt) => { - return `![${alt || 'image'}](${src})`; - } + //g, + (match, name) => vars[name] || '' ); - - // 7c. Convert HTML images with require() syntax + // Replace children with markdown links content = content.replace( - /

\s*\n?\s*([^\s*\n?\s*<\/p>/g, - (match, imagePath, alt) => { - const cleanPath = imagePath.replace('@site/static/', '/'); - return `![${alt}](${cleanPath})`; + /([\s\S]*?)<\/VarLink>/g, + (match, name, path, children) => { + const value = vars[name] || ''; + const href = path.replace(/\{\{VAR\}\}/g, value); + // Clean children of any remaining HTML/JSX + const cleanChildren = children + .replace(//g, (m, n) => vars[n] || '') + .replace(/(.*?)<\/code>/g, '`$1`') + .replace(/<[^>]+>/g, '') + .trim(); + return `[${cleanChildren}](${href})`; } ); + // Remove VarCodeBlock, VarReasons, IfVar (complex components we can't easily resolve) + content = content.replace(/]*\/>/g, ''); + content = content.replace(/]*\/>/g, ''); + content = content.replace(/]*>([\s\S]*?)<\/IfVar>/g, '$1'); + + // 7. Remove all images (HTML and markdown) - sources won't resolve in raw markdown + content = content.replace(/]*\/?>/g, ''); + content = content.replace(/]*\/?>/g, ''); + content = content.replace(/

\s*\n?\s*]*\/>\s*\n?\s*<\/p>/g, ''); + content = content.replace(/!\[[^\]]*\]\([^)]+\)/g, ''); - // 8. Remove figure tags but keep any text content inside - content = content.replace(/]*>([\s\S]*?)<\/figure>/g, '$1'); + // 8. Remove figure tags + content = content.replace(/]*>([\s\S]*?)<\/figure>/g, ''); // 9. Convert YouTube iframes to text links content = content.replace( @@ -335,29 +378,36 @@ function cleanMarkdownForDisplay(content, filepath, siteDir, docsDir) { // 11. Remove components content = content.replace(/[\s\S]*?<\/Head>/g, ''); - // 12. Convert FAQ components to readable markdown (preserve content) + // 12. Convert HTML tags to markdown links + content = content.replace( + /]*href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/g, + (match, href, text) => { + // Clean inner HTML tags (like , ) to plain text + const cleanText = text + .replace(/(.*?)<\/code>/g, '`$1`') + .replace(/(.*?)<\/strong>/g, '**$1**') + .replace(/(.*?)<\/em>/g, '*$1*') + .replace(/(.*?)<\/b>/g, '**$1**') + .replace(/<[^>]+>/g, '') + .trim(); + return `[${cleanText}](${href})`; + } + ); + + // 13. Convert FAQ components to readable markdown (preserve content) content = convertFAQToMarkdown(content); - // 13. Convert Tabs/TabItem components to readable markdown (preserve content) + // 14. Convert Tabs/TabItem components to readable markdown (preserve content) content = convertTabsToMarkdown(content); - // 14. Convert details/summary components to readable markdown (preserve content) + // 15. Convert details/summary components to readable markdown (preserve content) content = convertDetailsToMarkdown(content); - // 15. Remove custom React/MDX components while preserving tables + // 16. Remove custom React/MDX components while preserving tables content = preserveTablesWhileProcessing(content, (section) => { return section.replace(/<[A-Z][a-zA-Z]*[\s\S]*?(?:\/>|<\/[A-Z][a-zA-Z]*>)/g, ''); }); - // 16. Convert relative image paths to absolute paths - content = content.replace( - /!\[([^\]]*)\]\((\.\/)?img\/([^)]+)\)/g, - (match, alt, relPrefix, filename) => { - // Convert to absolute path: /docs/path/to/file/img/filename - return `![${alt}](/${fileDir}img/${filename})`; - } - ); - // 17. Remove consecutive blank lines (keep max 2 newlines = 1 blank line) const lines = content.split('\n'); const processedLines = []; diff --git a/apps/docs/src/theme/DocItem/Layout/index.tsx b/apps/docs/src/theme/DocItem/Layout/index.tsx index ede1299d..6baa6d63 100644 --- a/apps/docs/src/theme/DocItem/Layout/index.tsx +++ b/apps/docs/src/theme/DocItem/Layout/index.tsx @@ -1,5 +1,7 @@ import React from 'react'; import clsx from 'clsx'; +import Head from '@docusaurus/Head'; +import { useLocation } from '@docusaurus/router'; import { useWindowSize } from '@docusaurus/theme-common'; import { useDoc } from '@docusaurus/theme-common/internal'; import DocItemPaginator from '@theme/DocItem/Paginator'; @@ -47,8 +49,13 @@ export default function DocItemLayout({ children }: Props): JSX.Element { metadata: { unlisted, previous, next }, } = useDoc(); const sidebarContext = useSidebar(); + const location = useLocation(); + const mdPath = `${location.pathname}.md`; return (

+ + +
{children} diff --git a/apps/docs/src/theme/TOCItems/index.tsx b/apps/docs/src/theme/TOCItems/index.tsx index ce186eef..d8b0992c 100644 --- a/apps/docs/src/theme/TOCItems/index.tsx +++ b/apps/docs/src/theme/TOCItems/index.tsx @@ -5,6 +5,7 @@ import type { WrapperProps } from '@docusaurus/types'; import { useDoc } from '@docusaurus/theme-common/internal'; import { DocContextValue } from '@medusajs/docs'; import StructuredDataHowTo from '../../components/StructuredData/HowTo'; +import { CopyPageMenu } from '../../components/CopyPageMenu'; type Props = WrapperProps; @@ -17,6 +18,7 @@ export default function TOCItemsWrapper(props: Props): JSX.Element { {frontMatter?.addHowToData && ( )} + ); } diff --git a/apps/docs/static/llms-full.txt b/apps/docs/static/llms-full.txt index f7d3f7ab..b6f235ca 100644 --- a/apps/docs/static/llms-full.txt +++ b/apps/docs/static/llms-full.txt @@ -16,7 +16,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else # OPTIONAL. Build your application buildCommands: @@ -38,7 +38,7 @@ zerops: # OPTIONAL. Customize the runtime Alpine environment by installing additional # dependencies to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else # OPTIONAL. Run one or more commands each time a new runtime container # is started or restarted. These commands are triggered before @@ -127,7 +127,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -362,7 +362,7 @@ zerops: # OPTIONAL. Customise the runtime environment by installing additional packages # or tools to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -396,7 +396,7 @@ zerops: # OPTIONAL. Customise the runtime environment by installing additional packages # or tools to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -7244,7 +7244,7 @@ Learn more about customizing build environments: When your application requires additional system packages, libraries, or tools in the runtime environment, Zerops allows you to build a custom runtime image. This optional phase occurs after the build phase and before deployment. ### When to use custom runtime images Build custom runtime images when you need: -- System packages or libraries for runtime operations (e.g., `apk add imagemagick` for image processing) +- System packages or libraries for runtime operations (e.g., `sudo apk add imagemagick` for image processing) - Library dependencies for interpreted languages or dynamically linked binaries - System-level tools or utilities your application requires - Customized base operating system or additional software layers @@ -17068,7 +17068,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apt install python3-pip # already installed for Python services + - sudo apt install python3-pip # already installed for Python services ... ``` When the first build is triggered, Zerops will @@ -17086,15 +17086,15 @@ Use following syntax to run all commands in the same environment context. For ex ```yaml prepareCommands: - | - apt update - apt install python3-pip # already installed for Python services + sudo apt update + sudo apt install python3-pip # already installed for Python services ``` #### Run prepare commands as a separate shell instances When the following syntax is used, each command is triggered in a separate environment context. For example, each shell instance starts in the home directory again. When one command creates an environment variable, it won't be available for the next command. ```yaml prepareCommands: - - apt update - - apt install python3-pip # already installed for Python services + - sudo apt update + - sudo apt install python3-pip # already installed for Python services ``` ### deployFiles _REQUIRED._ Selects which files or folders will be deployed after the build has successfully finished. To filter out specific files or folders, use `.deployignore` file. @@ -21564,7 +21564,7 @@ Port 25, in particular, is frequently exploited for spam distribution across clo - Built-in spam protection - Professional IP reputation management - Automated bounce handling -This strict policy stems from a crucial understanding: poor IP reputation from email abuse can cascade across an entire infrastructure. The impact extends beyond email services to affect: +This strict policy protects platform integrity. Poor IP reputation from email abuse can cascade across an entire infrastructure. The impact extends beyond email services to affect: - Legitimate web applications - Platform response times - Overall service reliability diff --git a/apps/docs/static/llms-small.txt b/apps/docs/static/llms-small.txt index cecabca4..e1d94c1f 100644 --- a/apps/docs/static/llms-small.txt +++ b/apps/docs/static/llms-small.txt @@ -16,7 +16,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else # OPTIONAL. Build your application buildCommands: @@ -38,7 +38,7 @@ zerops: # OPTIONAL. Customize the runtime Alpine environment by installing additional # dependencies to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else # OPTIONAL. Run one or more commands each time a new runtime container # is started or restarted. These commands are triggered before @@ -127,7 +127,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -362,7 +362,7 @@ zerops: # OPTIONAL. Customise the runtime environment by installing additional packages # or tools to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -396,7 +396,7 @@ zerops: # OPTIONAL. Customise the runtime environment by installing additional packages # or tools to the base Alpine runtime environment. prepareCommands: - - apk add --no-cache something + - sudo apk add --no-cache something - curl something else ... ``` @@ -7049,7 +7049,7 @@ Learn more about customizing build environments: When your application requires additional system packages, libraries, or tools in the runtime environment, Zerops allows you to build a custom runtime image. This optional phase occurs after the build phase and before deployment. ### When to use custom runtime images Build custom runtime images when you need: -- System packages or libraries for runtime operations (e.g., `apk add imagemagick` for image processing) +- System packages or libraries for runtime operations (e.g., `sudo apk add imagemagick` for image processing) - Library dependencies for interpreted languages or dynamically linked binaries - System-level tools or utilities your application requires - Customized base operating system or additional software layers @@ -16827,7 +16827,7 @@ zerops: # OPTIONAL. Customize the build environment by installing additional packages # or tools to the base build environment. prepareCommands: - - apt install python3-pip # already installed for Python services + - sudo apt install python3-pip # already installed for Python services ... ``` When the first build is triggered, Zerops will @@ -16845,15 +16845,15 @@ Use following syntax to run all commands in the same environment context. For ex ```yaml prepareCommands: - | - apt update - apt install python3-pip # already installed for Python services + sudo apt update + sudo apt install python3-pip # already installed for Python services ``` #### Run prepare commands as a separate shell instances When the following syntax is used, each command is triggered in a separate environment context. For example, each shell instance starts in the home directory again. When one command creates an environment variable, it won't be available for the next command. ```yaml prepareCommands: - - apt update - - apt install python3-pip # already installed for Python services + - sudo apt update + - sudo apt install python3-pip # already installed for Python services ``` ### deployFiles _REQUIRED._ Selects which files or folders will be deployed after the build has successfully finished. To filter out specific files or folders, use `.deployignore` file. diff --git a/apps/docs/static/llms.txt b/apps/docs/static/llms.txt index 5f9e3810..d40c7b8e 100644 --- a/apps/docs/static/llms.txt +++ b/apps/docs/static/llms.txt @@ -9,293 +9,293 @@ ## Optional -- [Alpine > How To > Build Pipeline](https://docs.zerops.io/alpine/how-to/build-pipeline) -- [Alpine > How To > Build Process](https://docs.zerops.io/alpine/how-to/build-process) -- [Alpine > How To > Controls](https://docs.zerops.io/alpine/how-to/controls) -- [Alpine > How To > Create](https://docs.zerops.io/alpine/how-to/create) -- [Alpine > How To > Customize Runtime](https://docs.zerops.io/alpine/how-to/customize-runtime) -- [Alpine > How To > Deploy Process](https://docs.zerops.io/alpine/how-to/deploy-process) -- [Alpine > How To > Env Variables](https://docs.zerops.io/alpine/how-to/env-variables) -- [Alpine > How To > Filebrowser](https://docs.zerops.io/alpine/how-to/filebrowser) -- [Alpine > How To > Logs](https://docs.zerops.io/alpine/how-to/logs) -- [Alpine > How To > Scaling](https://docs.zerops.io/alpine/how-to/scaling) -- [Alpine > How To > Shared Storage](https://docs.zerops.io/alpine/how-to/shared-storage) -- [Alpine > How To > Trigger Pipeline](https://docs.zerops.io/alpine/how-to/trigger-pipeline) -- [Alpine > How To > Upgrade](https://docs.zerops.io/alpine/how-to/upgrade) -- [Alpine > Overview](https://docs.zerops.io/alpine/overview) -- [Bun > How To > Build Pipeline](https://docs.zerops.io/bun/how-to/build-pipeline) -- [Bun > How To > Build Process](https://docs.zerops.io/bun/how-to/build-process) -- [Bun > How To > Controls](https://docs.zerops.io/bun/how-to/controls) -- [Bun > How To > Create](https://docs.zerops.io/bun/how-to/create) -- [Bun > How To > Customize Runtime](https://docs.zerops.io/bun/how-to/customize-runtime) -- [Bun > How To > Deploy Process](https://docs.zerops.io/bun/how-to/deploy-process) -- [Bun > How To > Env Variables](https://docs.zerops.io/bun/how-to/env-variables) -- [Bun > How To > Filebrowser](https://docs.zerops.io/bun/how-to/filebrowser) -- [Bun > How To > Logs](https://docs.zerops.io/bun/how-to/logs) -- [Bun > How To > Scaling](https://docs.zerops.io/bun/how-to/scaling) -- [Bun > How To > Shared Storage](https://docs.zerops.io/bun/how-to/shared-storage) -- [Bun > How To > Trigger Pipeline](https://docs.zerops.io/bun/how-to/trigger-pipeline) -- [Bun > How To > Upgrade](https://docs.zerops.io/bun/how-to/upgrade) -- [Bun > Overview](https://docs.zerops.io/bun/overview) -- [Clickhouse > Overview](https://docs.zerops.io/clickhouse/overview) -- [Company > About](https://docs.zerops.io/company/about) -- [Company > Branding](https://docs.zerops.io/company/branding) -- [Company > Payment](https://docs.zerops.io/company/payment) -- [Company > Pricing](https://docs.zerops.io/company/pricing) -- [Deno > How To > Build Pipeline](https://docs.zerops.io/deno/how-to/build-pipeline) -- [Deno > How To > Build Process](https://docs.zerops.io/deno/how-to/build-process) -- [Deno > How To > Controls](https://docs.zerops.io/deno/how-to/controls) -- [Deno > How To > Create](https://docs.zerops.io/deno/how-to/create) -- [Deno > How To > Customize Runtime](https://docs.zerops.io/deno/how-to/customize-runtime) -- [Deno > How To > Deploy Process](https://docs.zerops.io/deno/how-to/deploy-process) -- [Deno > How To > Env Variables](https://docs.zerops.io/deno/how-to/env-variables) -- [Deno > How To > Filebrowser](https://docs.zerops.io/deno/how-to/filebrowser) -- [Deno > How To > Logs](https://docs.zerops.io/deno/how-to/logs) -- [Deno > How To > Scaling](https://docs.zerops.io/deno/how-to/scaling) -- [Deno > How To > Shared Storage](https://docs.zerops.io/deno/how-to/shared-storage) -- [Deno > How To > Trigger Pipeline](https://docs.zerops.io/deno/how-to/trigger-pipeline) -- [Deno > How To > Upgrade](https://docs.zerops.io/deno/how-to/upgrade) -- [Deno > Overview](https://docs.zerops.io/deno/overview) -- [Docker > Overview](https://docs.zerops.io/docker/overview) -- [Dotnet > How To > Build Pipeline](https://docs.zerops.io/dotnet/how-to/build-pipeline) -- [Dotnet > How To > Build Process](https://docs.zerops.io/dotnet/how-to/build-process) -- [Dotnet > How To > Controls](https://docs.zerops.io/dotnet/how-to/controls) -- [Dotnet > How To > Create](https://docs.zerops.io/dotnet/how-to/create) -- [Dotnet > How To > Customize Runtime](https://docs.zerops.io/dotnet/how-to/customize-runtime) -- [Dotnet > How To > Deploy Process](https://docs.zerops.io/dotnet/how-to/deploy-process) -- [Dotnet > How To > Env Variables](https://docs.zerops.io/dotnet/how-to/env-variables) -- [Dotnet > How To > Filebrowser](https://docs.zerops.io/dotnet/how-to/filebrowser) -- [Dotnet > How To > Logs](https://docs.zerops.io/dotnet/how-to/logs) -- [Dotnet > How To > Scaling](https://docs.zerops.io/dotnet/how-to/scaling) -- [Dotnet > How To > Shared Storage](https://docs.zerops.io/dotnet/how-to/shared-storage) -- [Dotnet > How To > Trigger Pipeline](https://docs.zerops.io/dotnet/how-to/trigger-pipeline) -- [Dotnet > How To > Upgrade](https://docs.zerops.io/dotnet/how-to/upgrade) -- [Dotnet > Overview](https://docs.zerops.io/dotnet/overview) -- [Elasticsearch > Overview](https://docs.zerops.io/elasticsearch/overview) -- [Elixir > How To > Build Pipeline](https://docs.zerops.io/elixir/how-to/build-pipeline) -- [Elixir > How To > Build Process](https://docs.zerops.io/elixir/how-to/build-process) -- [Elixir > How To > Controls](https://docs.zerops.io/elixir/how-to/controls) -- [Elixir > How To > Create](https://docs.zerops.io/elixir/how-to/create) -- [Elixir > How To > Customize Runtime](https://docs.zerops.io/elixir/how-to/customize-runtime) -- [Elixir > How To > Deploy Process](https://docs.zerops.io/elixir/how-to/deploy-process) -- [Elixir > How To > Env Variables](https://docs.zerops.io/elixir/how-to/env-variables) -- [Elixir > How To > Filebrowser](https://docs.zerops.io/elixir/how-to/filebrowser) -- [Elixir > How To > Logs](https://docs.zerops.io/elixir/how-to/logs) -- [Elixir > How To > Scaling](https://docs.zerops.io/elixir/how-to/scaling) -- [Elixir > How To > Shared Storage](https://docs.zerops.io/elixir/how-to/shared-storage) -- [Elixir > How To > Trigger Pipeline](https://docs.zerops.io/elixir/how-to/trigger-pipeline) -- [Elixir > How To > Upgrade](https://docs.zerops.io/elixir/how-to/upgrade) -- [Elixir > Overview](https://docs.zerops.io/elixir/overview) -- [Features > Access](https://docs.zerops.io/features/access) -- [Features > Backup](https://docs.zerops.io/features/backup) -- [Features > Build Cache](https://docs.zerops.io/features/build-cache) -- [Features > Cdn](https://docs.zerops.io/features/cdn) -- [Features > Container Vs Vm](https://docs.zerops.io/features/container-vs-vm) -- [Features > Debug Mode](https://docs.zerops.io/features/debug-mode) -- [Features > Env Variables](https://docs.zerops.io/features/env-variables) -- [Features > Infrastructure](https://docs.zerops.io/features/infrastructure) -- [Features > Pipeline](https://docs.zerops.io/features/pipeline) -- [Features > Rbac](https://docs.zerops.io/features/rbac) -- [Features > Scaling](https://docs.zerops.io/features/scaling) -- [Gleam > How To > Build Pipeline](https://docs.zerops.io/gleam/how-to/build-pipeline) -- [Gleam > How To > Build Process](https://docs.zerops.io/gleam/how-to/build-process) -- [Gleam > How To > Controls](https://docs.zerops.io/gleam/how-to/controls) -- [Gleam > How To > Create](https://docs.zerops.io/gleam/how-to/create) -- [Gleam > How To > Customize Runtime](https://docs.zerops.io/gleam/how-to/customize-runtime) -- [Gleam > How To > Deploy Process](https://docs.zerops.io/gleam/how-to/deploy-process) -- [Gleam > How To > Env Variables](https://docs.zerops.io/gleam/how-to/env-variables) -- [Gleam > How To > Filebrowser](https://docs.zerops.io/gleam/how-to/filebrowser) -- [Gleam > How To > Logs](https://docs.zerops.io/gleam/how-to/logs) -- [Gleam > How To > Scaling](https://docs.zerops.io/gleam/how-to/scaling) -- [Gleam > How To > Shared Storage](https://docs.zerops.io/gleam/how-to/shared-storage) -- [Gleam > How To > Trigger Pipeline](https://docs.zerops.io/gleam/how-to/trigger-pipeline) -- [Gleam > How To > Upgrade](https://docs.zerops.io/gleam/how-to/upgrade) -- [Gleam > Overview](https://docs.zerops.io/gleam/overview) -- [Go > How To > Build Pipeline](https://docs.zerops.io/go/how-to/build-pipeline) -- [Go > How To > Build Process](https://docs.zerops.io/go/how-to/build-process) -- [Go > How To > Controls](https://docs.zerops.io/go/how-to/controls) -- [Go > How To > Create](https://docs.zerops.io/go/how-to/create) -- [Go > How To > Customize Runtime](https://docs.zerops.io/go/how-to/customize-runtime) -- [Go > How To > Deploy Process](https://docs.zerops.io/go/how-to/deploy-process) -- [Go > How To > Env Variables](https://docs.zerops.io/go/how-to/env-variables) -- [Go > How To > Filebrowser](https://docs.zerops.io/go/how-to/filebrowser) -- [Go > How To > Logs](https://docs.zerops.io/go/how-to/logs) -- [Go > How To > Scaling](https://docs.zerops.io/go/how-to/scaling) -- [Go > How To > Shared Storage](https://docs.zerops.io/go/how-to/shared-storage) -- [Go > How To > Trigger Pipeline](https://docs.zerops.io/go/how-to/trigger-pipeline) -- [Go > How To > Upgrade](https://docs.zerops.io/go/how-to/upgrade) -- [Go > Overview](https://docs.zerops.io/go/overview) -- [Help > Contacts](https://docs.zerops.io/help/contacts) -- [Help > Faq](https://docs.zerops.io/help/faq) -- [Homepage](https://docs.zerops.io/homepage) -- [Java > How To > Build Pipeline](https://docs.zerops.io/java/how-to/build-pipeline) -- [Java > How To > Build Process](https://docs.zerops.io/java/how-to/build-process) -- [Java > How To > Controls](https://docs.zerops.io/java/how-to/controls) -- [Java > How To > Create](https://docs.zerops.io/java/how-to/create) -- [Java > How To > Customize Runtime](https://docs.zerops.io/java/how-to/customize-runtime) -- [Java > How To > Deploy Process](https://docs.zerops.io/java/how-to/deploy-process) -- [Java > How To > Env Variables](https://docs.zerops.io/java/how-to/env-variables) -- [Java > How To > Filebrowser](https://docs.zerops.io/java/how-to/filebrowser) -- [Java > How To > Logs](https://docs.zerops.io/java/how-to/logs) -- [Java > How To > Scaling](https://docs.zerops.io/java/how-to/scaling) -- [Java > How To > Shared Storage](https://docs.zerops.io/java/how-to/shared-storage) -- [Java > How To > Trigger Pipeline](https://docs.zerops.io/java/how-to/trigger-pipeline) -- [Java > How To > Upgrade](https://docs.zerops.io/java/how-to/upgrade) -- [Java > Overview](https://docs.zerops.io/java/overview) -- [Kafka > Overview](https://docs.zerops.io/kafka/overview) -- [Keydb > How To > Connect](https://docs.zerops.io/keydb/how-to/connect) -- [Keydb > How To > Control](https://docs.zerops.io/keydb/how-to/control) -- [Keydb > How To > Create](https://docs.zerops.io/keydb/how-to/create) -- [Keydb > How To > Manage](https://docs.zerops.io/keydb/how-to/manage) -- [Keydb > How To > Scale](https://docs.zerops.io/keydb/how-to/scale) -- [Keydb > Overview](https://docs.zerops.io/keydb/overview) -- [Mariadb > How To > Backup](https://docs.zerops.io/mariadb/how-to/backup) -- [Mariadb > How To > Connect](https://docs.zerops.io/mariadb/how-to/connect) -- [Mariadb > How To > Control](https://docs.zerops.io/mariadb/how-to/control) -- [Mariadb > How To > Create](https://docs.zerops.io/mariadb/how-to/create) -- [Mariadb > How To > Export Import Data](https://docs.zerops.io/mariadb/how-to/export-import-data) -- [Mariadb > How To > Manage](https://docs.zerops.io/mariadb/how-to/manage) -- [Mariadb > How To > Scale](https://docs.zerops.io/mariadb/how-to/scale) -- [Mariadb > Overview](https://docs.zerops.io/mariadb/overview) -- [Mariadb > Tech Details > Cluster](https://docs.zerops.io/mariadb/tech-details/cluster) -- [Mariadb > Tech Details > Limitations](https://docs.zerops.io/mariadb/tech-details/limitations) -- [Meilisearch > Overview](https://docs.zerops.io/meilisearch/overview) -- [Nats > Overview](https://docs.zerops.io/nats/overview) -- [Nginx > Faq](https://docs.zerops.io/nginx/faq) -- [Nginx > How To > Build Pipeline](https://docs.zerops.io/nginx/how-to/build-pipeline) -- [Nginx > How To > Controls](https://docs.zerops.io/nginx/how-to/controls) -- [Nginx > How To > Create](https://docs.zerops.io/nginx/how-to/create) -- [Nginx > How To > Customize Runtime](https://docs.zerops.io/nginx/how-to/customize-runtime) -- [Nginx > How To > Customize Web Server](https://docs.zerops.io/nginx/how-to/customize-web-server) -- [Nginx > How To > Deploy Process](https://docs.zerops.io/nginx/how-to/deploy-process) -- [Nginx > How To > Env Variables](https://docs.zerops.io/nginx/how-to/env-variables) -- [Nginx > How To > Filebrowser](https://docs.zerops.io/nginx/how-to/filebrowser) -- [Nginx > How To > Logs](https://docs.zerops.io/nginx/how-to/logs) -- [Nginx > How To > Scaling](https://docs.zerops.io/nginx/how-to/scaling) -- [Nginx > How To > Shared Storage](https://docs.zerops.io/nginx/how-to/shared-storage) -- [Nginx > How To > Trigger Pipeline](https://docs.zerops.io/nginx/how-to/trigger-pipeline) -- [Nginx > How To > Upgrade](https://docs.zerops.io/nginx/how-to/upgrade) -- [Nginx > Overview](https://docs.zerops.io/nginx/overview) -- [Nodejs > Faq](https://docs.zerops.io/nodejs/faq) -- [Nodejs > How To > Build Pipeline](https://docs.zerops.io/nodejs/how-to/build-pipeline) -- [Nodejs > How To > Build Process](https://docs.zerops.io/nodejs/how-to/build-process) -- [Nodejs > How To > Controls](https://docs.zerops.io/nodejs/how-to/controls) -- [Nodejs > How To > Create](https://docs.zerops.io/nodejs/how-to/create) -- [Nodejs > How To > Customize Runtime](https://docs.zerops.io/nodejs/how-to/customize-runtime) -- [Nodejs > How To > Deploy Process](https://docs.zerops.io/nodejs/how-to/deploy-process) -- [Nodejs > How To > Env Variables](https://docs.zerops.io/nodejs/how-to/env-variables) -- [Nodejs > How To > Filebrowser](https://docs.zerops.io/nodejs/how-to/filebrowser) -- [Nodejs > How To > Logs](https://docs.zerops.io/nodejs/how-to/logs) -- [Nodejs > How To > Scaling](https://docs.zerops.io/nodejs/how-to/scaling) -- [Nodejs > How To > Shared Storage](https://docs.zerops.io/nodejs/how-to/shared-storage) -- [Nodejs > How To > Trigger Pipeline](https://docs.zerops.io/nodejs/how-to/trigger-pipeline) -- [Nodejs > How To > Upgrade](https://docs.zerops.io/nodejs/how-to/upgrade) -- [Nodejs > Overview](https://docs.zerops.io/nodejs/overview) -- [Object Storage > How To > Access](https://docs.zerops.io/object-storage/how-to/access) -- [Object Storage > How To > Controls](https://docs.zerops.io/object-storage/how-to/controls) -- [Object Storage > How To > Create](https://docs.zerops.io/object-storage/how-to/create) -- [Object Storage > How To > Curl File](https://docs.zerops.io/object-storage/how-to/curl-file) -- [Object Storage > How To > Update Bucket](https://docs.zerops.io/object-storage/how-to/update-bucket) -- [Object Storage > Overview](https://docs.zerops.io/object-storage/overview) -- [Php > How To > Build Pipeline](https://docs.zerops.io/php/how-to/build-pipeline) -- [Php > How To > Build Process](https://docs.zerops.io/php/how-to/build-process) -- [Php > How To > Controls](https://docs.zerops.io/php/how-to/controls) -- [Php > How To > Create](https://docs.zerops.io/php/how-to/create) -- [Php > How To > Customize Runtime](https://docs.zerops.io/php/how-to/customize-runtime) -- [Php > How To > Customize Web Server](https://docs.zerops.io/php/how-to/customize-web-server) -- [Php > How To > Deploy Process](https://docs.zerops.io/php/how-to/deploy-process) -- [Php > How To > Env Variables](https://docs.zerops.io/php/how-to/env-variables) -- [Php > How To > Filebrowser](https://docs.zerops.io/php/how-to/filebrowser) -- [Php > How To > Logs](https://docs.zerops.io/php/how-to/logs) -- [Php > How To > Scaling](https://docs.zerops.io/php/how-to/scaling) -- [Php > How To > Shared Storage](https://docs.zerops.io/php/how-to/shared-storage) -- [Php > How To > Trigger Pipeline](https://docs.zerops.io/php/how-to/trigger-pipeline) -- [Php > How To > Upgrade](https://docs.zerops.io/php/how-to/upgrade) -- [Php > Overview](https://docs.zerops.io/php/overview) -- [Postgresql > Faq](https://docs.zerops.io/postgresql/faq) -- [Postgresql > How To > Backup](https://docs.zerops.io/postgresql/how-to/backup) -- [Postgresql > How To > Connect](https://docs.zerops.io/postgresql/how-to/connect) -- [Postgresql > How To > Control](https://docs.zerops.io/postgresql/how-to/control) -- [Postgresql > How To > Create](https://docs.zerops.io/postgresql/how-to/create) -- [Postgresql > How To > Export Import Data](https://docs.zerops.io/postgresql/how-to/export-import-data) -- [Postgresql > How To > Manage](https://docs.zerops.io/postgresql/how-to/manage) -- [Postgresql > How To > Scale](https://docs.zerops.io/postgresql/how-to/scale) -- [Postgresql > Overview](https://docs.zerops.io/postgresql/overview) -- [Python > How To > Build Pipeline](https://docs.zerops.io/python/how-to/build-pipeline) -- [Python > How To > Build Process](https://docs.zerops.io/python/how-to/build-process) -- [Python > How To > Controls](https://docs.zerops.io/python/how-to/controls) -- [Python > How To > Create](https://docs.zerops.io/python/how-to/create) -- [Python > How To > Customize Runtime](https://docs.zerops.io/python/how-to/customize-runtime) -- [Python > How To > Deploy Process](https://docs.zerops.io/python/how-to/deploy-process) -- [Python > How To > Env Variables](https://docs.zerops.io/python/how-to/env-variables) -- [Python > How To > Filebrowser](https://docs.zerops.io/python/how-to/filebrowser) -- [Python > How To > Logs](https://docs.zerops.io/python/how-to/logs) -- [Python > How To > Scaling](https://docs.zerops.io/python/how-to/scaling) -- [Python > How To > Shared Storage](https://docs.zerops.io/python/how-to/shared-storage) -- [Python > How To > Trigger Pipeline](https://docs.zerops.io/python/how-to/trigger-pipeline) -- [Python > How To > Upgrade](https://docs.zerops.io/python/how-to/upgrade) -- [Python > Overview](https://docs.zerops.io/python/overview) -- [Qdrant > Overview](https://docs.zerops.io/qdrant/overview) -- [References > Api](https://docs.zerops.io/references/api) -- [References > Cli](https://docs.zerops.io/references/cli) -- [References > Github Integration](https://docs.zerops.io/references/github-integration) -- [References > Gitlab Integration](https://docs.zerops.io/references/gitlab-integration) -- [References > Import Yaml > Pre Processor](https://docs.zerops.io/references/import-yaml/pre-processor) -- [References > Import Yaml > Type List](https://docs.zerops.io/references/import-yaml/type-list) -- [References > Import](https://docs.zerops.io/references/import) -- [References > Log Forwarding](https://docs.zerops.io/references/log-forwarding) -- [References > Logging](https://docs.zerops.io/references/logging) -- [References > Metrics](https://docs.zerops.io/references/metrics) -- [References > Networking > Cloudflare](https://docs.zerops.io/references/networking/cloudflare) -- [References > Networking > Dns](https://docs.zerops.io/references/networking/dns) -- [References > Networking > Firewall](https://docs.zerops.io/references/networking/firewall) -- [References > Networking > Internal Access](https://docs.zerops.io/references/networking/internal-access) -- [References > Networking > L7 Balancer Config](https://docs.zerops.io/references/networking/l7-balancer-config) -- [References > Networking > Public Access](https://docs.zerops.io/references/networking/public-access) -- [References > Networking > Ssh](https://docs.zerops.io/references/networking/ssh) -- [References > Networking > Vpn](https://docs.zerops.io/references/networking/vpn) -- [References > Smtp](https://docs.zerops.io/references/smtp) -- [References > Zcli > Commands](https://docs.zerops.io/references/zcli/commands) -- [References > Zcli > Configuration](https://docs.zerops.io/references/zcli/configuration) -- [References > Zsc](https://docs.zerops.io/references/zsc) -- [Rust > How To > Build Pipeline](https://docs.zerops.io/rust/how-to/build-pipeline) -- [Rust > How To > Build Process](https://docs.zerops.io/rust/how-to/build-process) -- [Rust > How To > Controls](https://docs.zerops.io/rust/how-to/controls) -- [Rust > How To > Create](https://docs.zerops.io/rust/how-to/create) -- [Rust > How To > Customize Runtime](https://docs.zerops.io/rust/how-to/customize-runtime) -- [Rust > How To > Deploy Process](https://docs.zerops.io/rust/how-to/deploy-process) -- [Rust > How To > Env Variables](https://docs.zerops.io/rust/how-to/env-variables) -- [Rust > How To > Filebrowser](https://docs.zerops.io/rust/how-to/filebrowser) -- [Rust > How To > Logs](https://docs.zerops.io/rust/how-to/logs) -- [Rust > How To > Scaling](https://docs.zerops.io/rust/how-to/scaling) -- [Rust > How To > Shared Storage](https://docs.zerops.io/rust/how-to/shared-storage) -- [Rust > How To > Trigger Pipeline](https://docs.zerops.io/rust/how-to/trigger-pipeline) -- [Rust > How To > Upgrade](https://docs.zerops.io/rust/how-to/upgrade) -- [Rust > Overview](https://docs.zerops.io/rust/overview) -- [Shared Storage > How To > Backup](https://docs.zerops.io/shared-storage/how-to/backup) -- [Shared Storage > How To > Connect](https://docs.zerops.io/shared-storage/how-to/connect) -- [Shared Storage > How To > Create](https://docs.zerops.io/shared-storage/how-to/create) -- [Shared Storage > How To > Manage](https://docs.zerops.io/shared-storage/how-to/manage) -- [Shared Storage > How To > Use](https://docs.zerops.io/shared-storage/how-to/use) -- [Shared Storage > Overview](https://docs.zerops.io/shared-storage/overview) -- [Shared Storage > Tech Details](https://docs.zerops.io/shared-storage/tech-details) -- [Static > Overview](https://docs.zerops.io/static/overview) -- [Typesense > Overview](https://docs.zerops.io/typesense/overview) -- [Ubuntu > How To > Build Pipeline](https://docs.zerops.io/ubuntu/how-to/build-pipeline) -- [Ubuntu > How To > Build Process](https://docs.zerops.io/ubuntu/how-to/build-process) -- [Ubuntu > How To > Controls](https://docs.zerops.io/ubuntu/how-to/controls) -- [Ubuntu > How To > Create](https://docs.zerops.io/ubuntu/how-to/create) -- [Ubuntu > How To > Customize Runtime](https://docs.zerops.io/ubuntu/how-to/customize-runtime) -- [Ubuntu > How To > Deploy Process](https://docs.zerops.io/ubuntu/how-to/deploy-process) -- [Ubuntu > How To > Env Variables](https://docs.zerops.io/ubuntu/how-to/env-variables) -- [Ubuntu > How To > Filebrowser](https://docs.zerops.io/ubuntu/how-to/filebrowser) -- [Ubuntu > How To > Logs](https://docs.zerops.io/ubuntu/how-to/logs) -- [Ubuntu > How To > Scaling](https://docs.zerops.io/ubuntu/how-to/scaling) -- [Ubuntu > How To > Shared Storage](https://docs.zerops.io/ubuntu/how-to/shared-storage) -- [Ubuntu > How To > Trigger Pipeline](https://docs.zerops.io/ubuntu/how-to/trigger-pipeline) -- [Ubuntu > How To > Upgrade](https://docs.zerops.io/ubuntu/how-to/upgrade) -- [Ubuntu > Overview](https://docs.zerops.io/ubuntu/overview) -- [Valkey > Overview](https://docs.zerops.io/valkey/overview) -- [Zerops Yaml > Base List](https://docs.zerops.io/zerops-yaml/base-list) -- [Zerops Yaml > Cron](https://docs.zerops.io/zerops-yaml/cron) -- [Zerops Yaml > Specification](https://docs.zerops.io/zerops-yaml/specification) \ No newline at end of file +- [Alpine > How To > Build Pipeline](https://docs.zerops.io/alpine/how-to/build-pipeline.md) +- [Alpine > How To > Build Process](https://docs.zerops.io/alpine/how-to/build-process.md) +- [Alpine > How To > Controls](https://docs.zerops.io/alpine/how-to/controls.md) +- [Alpine > How To > Create](https://docs.zerops.io/alpine/how-to/create.md) +- [Alpine > How To > Customize Runtime](https://docs.zerops.io/alpine/how-to/customize-runtime.md) +- [Alpine > How To > Deploy Process](https://docs.zerops.io/alpine/how-to/deploy-process.md) +- [Alpine > How To > Env Variables](https://docs.zerops.io/alpine/how-to/env-variables.md) +- [Alpine > How To > Filebrowser](https://docs.zerops.io/alpine/how-to/filebrowser.md) +- [Alpine > How To > Logs](https://docs.zerops.io/alpine/how-to/logs.md) +- [Alpine > How To > Scaling](https://docs.zerops.io/alpine/how-to/scaling.md) +- [Alpine > How To > Shared Storage](https://docs.zerops.io/alpine/how-to/shared-storage.md) +- [Alpine > How To > Trigger Pipeline](https://docs.zerops.io/alpine/how-to/trigger-pipeline.md) +- [Alpine > How To > Upgrade](https://docs.zerops.io/alpine/how-to/upgrade.md) +- [Alpine > Overview](https://docs.zerops.io/alpine/overview.md) +- [Bun > How To > Build Pipeline](https://docs.zerops.io/bun/how-to/build-pipeline.md) +- [Bun > How To > Build Process](https://docs.zerops.io/bun/how-to/build-process.md) +- [Bun > How To > Controls](https://docs.zerops.io/bun/how-to/controls.md) +- [Bun > How To > Create](https://docs.zerops.io/bun/how-to/create.md) +- [Bun > How To > Customize Runtime](https://docs.zerops.io/bun/how-to/customize-runtime.md) +- [Bun > How To > Deploy Process](https://docs.zerops.io/bun/how-to/deploy-process.md) +- [Bun > How To > Env Variables](https://docs.zerops.io/bun/how-to/env-variables.md) +- [Bun > How To > Filebrowser](https://docs.zerops.io/bun/how-to/filebrowser.md) +- [Bun > How To > Logs](https://docs.zerops.io/bun/how-to/logs.md) +- [Bun > How To > Scaling](https://docs.zerops.io/bun/how-to/scaling.md) +- [Bun > How To > Shared Storage](https://docs.zerops.io/bun/how-to/shared-storage.md) +- [Bun > How To > Trigger Pipeline](https://docs.zerops.io/bun/how-to/trigger-pipeline.md) +- [Bun > How To > Upgrade](https://docs.zerops.io/bun/how-to/upgrade.md) +- [Bun > Overview](https://docs.zerops.io/bun/overview.md) +- [Clickhouse > Overview](https://docs.zerops.io/clickhouse/overview.md) +- [Company > About](https://docs.zerops.io/company/about.md) +- [Company > Branding](https://docs.zerops.io/company/branding.md) +- [Company > Payment](https://docs.zerops.io/company/payment.md) +- [Company > Pricing](https://docs.zerops.io/company/pricing.md) +- [Deno > How To > Build Pipeline](https://docs.zerops.io/deno/how-to/build-pipeline.md) +- [Deno > How To > Build Process](https://docs.zerops.io/deno/how-to/build-process.md) +- [Deno > How To > Controls](https://docs.zerops.io/deno/how-to/controls.md) +- [Deno > How To > Create](https://docs.zerops.io/deno/how-to/create.md) +- [Deno > How To > Customize Runtime](https://docs.zerops.io/deno/how-to/customize-runtime.md) +- [Deno > How To > Deploy Process](https://docs.zerops.io/deno/how-to/deploy-process.md) +- [Deno > How To > Env Variables](https://docs.zerops.io/deno/how-to/env-variables.md) +- [Deno > How To > Filebrowser](https://docs.zerops.io/deno/how-to/filebrowser.md) +- [Deno > How To > Logs](https://docs.zerops.io/deno/how-to/logs.md) +- [Deno > How To > Scaling](https://docs.zerops.io/deno/how-to/scaling.md) +- [Deno > How To > Shared Storage](https://docs.zerops.io/deno/how-to/shared-storage.md) +- [Deno > How To > Trigger Pipeline](https://docs.zerops.io/deno/how-to/trigger-pipeline.md) +- [Deno > How To > Upgrade](https://docs.zerops.io/deno/how-to/upgrade.md) +- [Deno > Overview](https://docs.zerops.io/deno/overview.md) +- [Docker > Overview](https://docs.zerops.io/docker/overview.md) +- [Dotnet > How To > Build Pipeline](https://docs.zerops.io/dotnet/how-to/build-pipeline.md) +- [Dotnet > How To > Build Process](https://docs.zerops.io/dotnet/how-to/build-process.md) +- [Dotnet > How To > Controls](https://docs.zerops.io/dotnet/how-to/controls.md) +- [Dotnet > How To > Create](https://docs.zerops.io/dotnet/how-to/create.md) +- [Dotnet > How To > Customize Runtime](https://docs.zerops.io/dotnet/how-to/customize-runtime.md) +- [Dotnet > How To > Deploy Process](https://docs.zerops.io/dotnet/how-to/deploy-process.md) +- [Dotnet > How To > Env Variables](https://docs.zerops.io/dotnet/how-to/env-variables.md) +- [Dotnet > How To > Filebrowser](https://docs.zerops.io/dotnet/how-to/filebrowser.md) +- [Dotnet > How To > Logs](https://docs.zerops.io/dotnet/how-to/logs.md) +- [Dotnet > How To > Scaling](https://docs.zerops.io/dotnet/how-to/scaling.md) +- [Dotnet > How To > Shared Storage](https://docs.zerops.io/dotnet/how-to/shared-storage.md) +- [Dotnet > How To > Trigger Pipeline](https://docs.zerops.io/dotnet/how-to/trigger-pipeline.md) +- [Dotnet > How To > Upgrade](https://docs.zerops.io/dotnet/how-to/upgrade.md) +- [Dotnet > Overview](https://docs.zerops.io/dotnet/overview.md) +- [Elasticsearch > Overview](https://docs.zerops.io/elasticsearch/overview.md) +- [Elixir > How To > Build Pipeline](https://docs.zerops.io/elixir/how-to/build-pipeline.md) +- [Elixir > How To > Build Process](https://docs.zerops.io/elixir/how-to/build-process.md) +- [Elixir > How To > Controls](https://docs.zerops.io/elixir/how-to/controls.md) +- [Elixir > How To > Create](https://docs.zerops.io/elixir/how-to/create.md) +- [Elixir > How To > Customize Runtime](https://docs.zerops.io/elixir/how-to/customize-runtime.md) +- [Elixir > How To > Deploy Process](https://docs.zerops.io/elixir/how-to/deploy-process.md) +- [Elixir > How To > Env Variables](https://docs.zerops.io/elixir/how-to/env-variables.md) +- [Elixir > How To > Filebrowser](https://docs.zerops.io/elixir/how-to/filebrowser.md) +- [Elixir > How To > Logs](https://docs.zerops.io/elixir/how-to/logs.md) +- [Elixir > How To > Scaling](https://docs.zerops.io/elixir/how-to/scaling.md) +- [Elixir > How To > Shared Storage](https://docs.zerops.io/elixir/how-to/shared-storage.md) +- [Elixir > How To > Trigger Pipeline](https://docs.zerops.io/elixir/how-to/trigger-pipeline.md) +- [Elixir > How To > Upgrade](https://docs.zerops.io/elixir/how-to/upgrade.md) +- [Elixir > Overview](https://docs.zerops.io/elixir/overview.md) +- [Features > Access](https://docs.zerops.io/features/access.md) +- [Features > Backup](https://docs.zerops.io/features/backup.md) +- [Features > Build Cache](https://docs.zerops.io/features/build-cache.md) +- [Features > Cdn](https://docs.zerops.io/features/cdn.md) +- [Features > Container Vs Vm](https://docs.zerops.io/features/container-vs-vm.md) +- [Features > Debug Mode](https://docs.zerops.io/features/debug-mode.md) +- [Features > Env Variables](https://docs.zerops.io/features/env-variables.md) +- [Features > Infrastructure](https://docs.zerops.io/features/infrastructure.md) +- [Features > Pipeline](https://docs.zerops.io/features/pipeline.md) +- [Features > Rbac](https://docs.zerops.io/features/rbac.md) +- [Features > Scaling](https://docs.zerops.io/features/scaling.md) +- [Gleam > How To > Build Pipeline](https://docs.zerops.io/gleam/how-to/build-pipeline.md) +- [Gleam > How To > Build Process](https://docs.zerops.io/gleam/how-to/build-process.md) +- [Gleam > How To > Controls](https://docs.zerops.io/gleam/how-to/controls.md) +- [Gleam > How To > Create](https://docs.zerops.io/gleam/how-to/create.md) +- [Gleam > How To > Customize Runtime](https://docs.zerops.io/gleam/how-to/customize-runtime.md) +- [Gleam > How To > Deploy Process](https://docs.zerops.io/gleam/how-to/deploy-process.md) +- [Gleam > How To > Env Variables](https://docs.zerops.io/gleam/how-to/env-variables.md) +- [Gleam > How To > Filebrowser](https://docs.zerops.io/gleam/how-to/filebrowser.md) +- [Gleam > How To > Logs](https://docs.zerops.io/gleam/how-to/logs.md) +- [Gleam > How To > Scaling](https://docs.zerops.io/gleam/how-to/scaling.md) +- [Gleam > How To > Shared Storage](https://docs.zerops.io/gleam/how-to/shared-storage.md) +- [Gleam > How To > Trigger Pipeline](https://docs.zerops.io/gleam/how-to/trigger-pipeline.md) +- [Gleam > How To > Upgrade](https://docs.zerops.io/gleam/how-to/upgrade.md) +- [Gleam > Overview](https://docs.zerops.io/gleam/overview.md) +- [Go > How To > Build Pipeline](https://docs.zerops.io/go/how-to/build-pipeline.md) +- [Go > How To > Build Process](https://docs.zerops.io/go/how-to/build-process.md) +- [Go > How To > Controls](https://docs.zerops.io/go/how-to/controls.md) +- [Go > How To > Create](https://docs.zerops.io/go/how-to/create.md) +- [Go > How To > Customize Runtime](https://docs.zerops.io/go/how-to/customize-runtime.md) +- [Go > How To > Deploy Process](https://docs.zerops.io/go/how-to/deploy-process.md) +- [Go > How To > Env Variables](https://docs.zerops.io/go/how-to/env-variables.md) +- [Go > How To > Filebrowser](https://docs.zerops.io/go/how-to/filebrowser.md) +- [Go > How To > Logs](https://docs.zerops.io/go/how-to/logs.md) +- [Go > How To > Scaling](https://docs.zerops.io/go/how-to/scaling.md) +- [Go > How To > Shared Storage](https://docs.zerops.io/go/how-to/shared-storage.md) +- [Go > How To > Trigger Pipeline](https://docs.zerops.io/go/how-to/trigger-pipeline.md) +- [Go > How To > Upgrade](https://docs.zerops.io/go/how-to/upgrade.md) +- [Go > Overview](https://docs.zerops.io/go/overview.md) +- [Help > Contacts](https://docs.zerops.io/help/contacts.md) +- [Help > Faq](https://docs.zerops.io/help/faq.md) +- [Homepage](https://docs.zerops.io/homepage.md) +- [Java > How To > Build Pipeline](https://docs.zerops.io/java/how-to/build-pipeline.md) +- [Java > How To > Build Process](https://docs.zerops.io/java/how-to/build-process.md) +- [Java > How To > Controls](https://docs.zerops.io/java/how-to/controls.md) +- [Java > How To > Create](https://docs.zerops.io/java/how-to/create.md) +- [Java > How To > Customize Runtime](https://docs.zerops.io/java/how-to/customize-runtime.md) +- [Java > How To > Deploy Process](https://docs.zerops.io/java/how-to/deploy-process.md) +- [Java > How To > Env Variables](https://docs.zerops.io/java/how-to/env-variables.md) +- [Java > How To > Filebrowser](https://docs.zerops.io/java/how-to/filebrowser.md) +- [Java > How To > Logs](https://docs.zerops.io/java/how-to/logs.md) +- [Java > How To > Scaling](https://docs.zerops.io/java/how-to/scaling.md) +- [Java > How To > Shared Storage](https://docs.zerops.io/java/how-to/shared-storage.md) +- [Java > How To > Trigger Pipeline](https://docs.zerops.io/java/how-to/trigger-pipeline.md) +- [Java > How To > Upgrade](https://docs.zerops.io/java/how-to/upgrade.md) +- [Java > Overview](https://docs.zerops.io/java/overview.md) +- [Kafka > Overview](https://docs.zerops.io/kafka/overview.md) +- [Keydb > How To > Connect](https://docs.zerops.io/keydb/how-to/connect.md) +- [Keydb > How To > Control](https://docs.zerops.io/keydb/how-to/control.md) +- [Keydb > How To > Create](https://docs.zerops.io/keydb/how-to/create.md) +- [Keydb > How To > Manage](https://docs.zerops.io/keydb/how-to/manage.md) +- [Keydb > How To > Scale](https://docs.zerops.io/keydb/how-to/scale.md) +- [Keydb > Overview](https://docs.zerops.io/keydb/overview.md) +- [Mariadb > How To > Backup](https://docs.zerops.io/mariadb/how-to/backup.md) +- [Mariadb > How To > Connect](https://docs.zerops.io/mariadb/how-to/connect.md) +- [Mariadb > How To > Control](https://docs.zerops.io/mariadb/how-to/control.md) +- [Mariadb > How To > Create](https://docs.zerops.io/mariadb/how-to/create.md) +- [Mariadb > How To > Export Import Data](https://docs.zerops.io/mariadb/how-to/export-import-data.md) +- [Mariadb > How To > Manage](https://docs.zerops.io/mariadb/how-to/manage.md) +- [Mariadb > How To > Scale](https://docs.zerops.io/mariadb/how-to/scale.md) +- [Mariadb > Overview](https://docs.zerops.io/mariadb/overview.md) +- [Mariadb > Tech Details > Cluster](https://docs.zerops.io/mariadb/tech-details/cluster.md) +- [Mariadb > Tech Details > Limitations](https://docs.zerops.io/mariadb/tech-details/limitations.md) +- [Meilisearch > Overview](https://docs.zerops.io/meilisearch/overview.md) +- [Nats > Overview](https://docs.zerops.io/nats/overview.md) +- [Nginx > Faq](https://docs.zerops.io/nginx/faq.md) +- [Nginx > How To > Build Pipeline](https://docs.zerops.io/nginx/how-to/build-pipeline.md) +- [Nginx > How To > Controls](https://docs.zerops.io/nginx/how-to/controls.md) +- [Nginx > How To > Create](https://docs.zerops.io/nginx/how-to/create.md) +- [Nginx > How To > Customize Runtime](https://docs.zerops.io/nginx/how-to/customize-runtime.md) +- [Nginx > How To > Customize Web Server](https://docs.zerops.io/nginx/how-to/customize-web-server.md) +- [Nginx > How To > Deploy Process](https://docs.zerops.io/nginx/how-to/deploy-process.md) +- [Nginx > How To > Env Variables](https://docs.zerops.io/nginx/how-to/env-variables.md) +- [Nginx > How To > Filebrowser](https://docs.zerops.io/nginx/how-to/filebrowser.md) +- [Nginx > How To > Logs](https://docs.zerops.io/nginx/how-to/logs.md) +- [Nginx > How To > Scaling](https://docs.zerops.io/nginx/how-to/scaling.md) +- [Nginx > How To > Shared Storage](https://docs.zerops.io/nginx/how-to/shared-storage.md) +- [Nginx > How To > Trigger Pipeline](https://docs.zerops.io/nginx/how-to/trigger-pipeline.md) +- [Nginx > How To > Upgrade](https://docs.zerops.io/nginx/how-to/upgrade.md) +- [Nginx > Overview](https://docs.zerops.io/nginx/overview.md) +- [Nodejs > Faq](https://docs.zerops.io/nodejs/faq.md) +- [Nodejs > How To > Build Pipeline](https://docs.zerops.io/nodejs/how-to/build-pipeline.md) +- [Nodejs > How To > Build Process](https://docs.zerops.io/nodejs/how-to/build-process.md) +- [Nodejs > How To > Controls](https://docs.zerops.io/nodejs/how-to/controls.md) +- [Nodejs > How To > Create](https://docs.zerops.io/nodejs/how-to/create.md) +- [Nodejs > How To > Customize Runtime](https://docs.zerops.io/nodejs/how-to/customize-runtime.md) +- [Nodejs > How To > Deploy Process](https://docs.zerops.io/nodejs/how-to/deploy-process.md) +- [Nodejs > How To > Env Variables](https://docs.zerops.io/nodejs/how-to/env-variables.md) +- [Nodejs > How To > Filebrowser](https://docs.zerops.io/nodejs/how-to/filebrowser.md) +- [Nodejs > How To > Logs](https://docs.zerops.io/nodejs/how-to/logs.md) +- [Nodejs > How To > Scaling](https://docs.zerops.io/nodejs/how-to/scaling.md) +- [Nodejs > How To > Shared Storage](https://docs.zerops.io/nodejs/how-to/shared-storage.md) +- [Nodejs > How To > Trigger Pipeline](https://docs.zerops.io/nodejs/how-to/trigger-pipeline.md) +- [Nodejs > How To > Upgrade](https://docs.zerops.io/nodejs/how-to/upgrade.md) +- [Nodejs > Overview](https://docs.zerops.io/nodejs/overview.md) +- [Object Storage > How To > Access](https://docs.zerops.io/object-storage/how-to/access.md) +- [Object Storage > How To > Controls](https://docs.zerops.io/object-storage/how-to/controls.md) +- [Object Storage > How To > Create](https://docs.zerops.io/object-storage/how-to/create.md) +- [Object Storage > How To > Curl File](https://docs.zerops.io/object-storage/how-to/curl-file.md) +- [Object Storage > How To > Update Bucket](https://docs.zerops.io/object-storage/how-to/update-bucket.md) +- [Object Storage > Overview](https://docs.zerops.io/object-storage/overview.md) +- [Php > How To > Build Pipeline](https://docs.zerops.io/php/how-to/build-pipeline.md) +- [Php > How To > Build Process](https://docs.zerops.io/php/how-to/build-process.md) +- [Php > How To > Controls](https://docs.zerops.io/php/how-to/controls.md) +- [Php > How To > Create](https://docs.zerops.io/php/how-to/create.md) +- [Php > How To > Customize Runtime](https://docs.zerops.io/php/how-to/customize-runtime.md) +- [Php > How To > Customize Web Server](https://docs.zerops.io/php/how-to/customize-web-server.md) +- [Php > How To > Deploy Process](https://docs.zerops.io/php/how-to/deploy-process.md) +- [Php > How To > Env Variables](https://docs.zerops.io/php/how-to/env-variables.md) +- [Php > How To > Filebrowser](https://docs.zerops.io/php/how-to/filebrowser.md) +- [Php > How To > Logs](https://docs.zerops.io/php/how-to/logs.md) +- [Php > How To > Scaling](https://docs.zerops.io/php/how-to/scaling.md) +- [Php > How To > Shared Storage](https://docs.zerops.io/php/how-to/shared-storage.md) +- [Php > How To > Trigger Pipeline](https://docs.zerops.io/php/how-to/trigger-pipeline.md) +- [Php > How To > Upgrade](https://docs.zerops.io/php/how-to/upgrade.md) +- [Php > Overview](https://docs.zerops.io/php/overview.md) +- [Postgresql > Faq](https://docs.zerops.io/postgresql/faq.md) +- [Postgresql > How To > Backup](https://docs.zerops.io/postgresql/how-to/backup.md) +- [Postgresql > How To > Connect](https://docs.zerops.io/postgresql/how-to/connect.md) +- [Postgresql > How To > Control](https://docs.zerops.io/postgresql/how-to/control.md) +- [Postgresql > How To > Create](https://docs.zerops.io/postgresql/how-to/create.md) +- [Postgresql > How To > Export Import Data](https://docs.zerops.io/postgresql/how-to/export-import-data.md) +- [Postgresql > How To > Manage](https://docs.zerops.io/postgresql/how-to/manage.md) +- [Postgresql > How To > Scale](https://docs.zerops.io/postgresql/how-to/scale.md) +- [Postgresql > Overview](https://docs.zerops.io/postgresql/overview.md) +- [Python > How To > Build Pipeline](https://docs.zerops.io/python/how-to/build-pipeline.md) +- [Python > How To > Build Process](https://docs.zerops.io/python/how-to/build-process.md) +- [Python > How To > Controls](https://docs.zerops.io/python/how-to/controls.md) +- [Python > How To > Create](https://docs.zerops.io/python/how-to/create.md) +- [Python > How To > Customize Runtime](https://docs.zerops.io/python/how-to/customize-runtime.md) +- [Python > How To > Deploy Process](https://docs.zerops.io/python/how-to/deploy-process.md) +- [Python > How To > Env Variables](https://docs.zerops.io/python/how-to/env-variables.md) +- [Python > How To > Filebrowser](https://docs.zerops.io/python/how-to/filebrowser.md) +- [Python > How To > Logs](https://docs.zerops.io/python/how-to/logs.md) +- [Python > How To > Scaling](https://docs.zerops.io/python/how-to/scaling.md) +- [Python > How To > Shared Storage](https://docs.zerops.io/python/how-to/shared-storage.md) +- [Python > How To > Trigger Pipeline](https://docs.zerops.io/python/how-to/trigger-pipeline.md) +- [Python > How To > Upgrade](https://docs.zerops.io/python/how-to/upgrade.md) +- [Python > Overview](https://docs.zerops.io/python/overview.md) +- [Qdrant > Overview](https://docs.zerops.io/qdrant/overview.md) +- [References > Api](https://docs.zerops.io/references/api.md) +- [References > Cli](https://docs.zerops.io/references/cli.md) +- [References > Github Integration](https://docs.zerops.io/references/github-integration.md) +- [References > Gitlab Integration](https://docs.zerops.io/references/gitlab-integration.md) +- [References > Import Yaml > Pre Processor](https://docs.zerops.io/references/import-yaml/pre-processor.md) +- [References > Import Yaml > Type List](https://docs.zerops.io/references/import-yaml/type-list.md) +- [References > Import](https://docs.zerops.io/references/import.md) +- [References > Log Forwarding](https://docs.zerops.io/references/log-forwarding.md) +- [References > Logging](https://docs.zerops.io/references/logging.md) +- [References > Metrics](https://docs.zerops.io/references/metrics.md) +- [References > Networking > Cloudflare](https://docs.zerops.io/references/networking/cloudflare.md) +- [References > Networking > Dns](https://docs.zerops.io/references/networking/dns.md) +- [References > Networking > Firewall](https://docs.zerops.io/references/networking/firewall.md) +- [References > Networking > Internal Access](https://docs.zerops.io/references/networking/internal-access.md) +- [References > Networking > L7 Balancer Config](https://docs.zerops.io/references/networking/l7-balancer-config.md) +- [References > Networking > Public Access](https://docs.zerops.io/references/networking/public-access.md) +- [References > Networking > Ssh](https://docs.zerops.io/references/networking/ssh.md) +- [References > Networking > Vpn](https://docs.zerops.io/references/networking/vpn.md) +- [References > Smtp](https://docs.zerops.io/references/smtp.md) +- [References > Zcli > Commands](https://docs.zerops.io/references/zcli/commands.md) +- [References > Zcli > Configuration](https://docs.zerops.io/references/zcli/configuration.md) +- [References > Zsc](https://docs.zerops.io/references/zsc.md) +- [Rust > How To > Build Pipeline](https://docs.zerops.io/rust/how-to/build-pipeline.md) +- [Rust > How To > Build Process](https://docs.zerops.io/rust/how-to/build-process.md) +- [Rust > How To > Controls](https://docs.zerops.io/rust/how-to/controls.md) +- [Rust > How To > Create](https://docs.zerops.io/rust/how-to/create.md) +- [Rust > How To > Customize Runtime](https://docs.zerops.io/rust/how-to/customize-runtime.md) +- [Rust > How To > Deploy Process](https://docs.zerops.io/rust/how-to/deploy-process.md) +- [Rust > How To > Env Variables](https://docs.zerops.io/rust/how-to/env-variables.md) +- [Rust > How To > Filebrowser](https://docs.zerops.io/rust/how-to/filebrowser.md) +- [Rust > How To > Logs](https://docs.zerops.io/rust/how-to/logs.md) +- [Rust > How To > Scaling](https://docs.zerops.io/rust/how-to/scaling.md) +- [Rust > How To > Shared Storage](https://docs.zerops.io/rust/how-to/shared-storage.md) +- [Rust > How To > Trigger Pipeline](https://docs.zerops.io/rust/how-to/trigger-pipeline.md) +- [Rust > How To > Upgrade](https://docs.zerops.io/rust/how-to/upgrade.md) +- [Rust > Overview](https://docs.zerops.io/rust/overview.md) +- [Shared Storage > How To > Backup](https://docs.zerops.io/shared-storage/how-to/backup.md) +- [Shared Storage > How To > Connect](https://docs.zerops.io/shared-storage/how-to/connect.md) +- [Shared Storage > How To > Create](https://docs.zerops.io/shared-storage/how-to/create.md) +- [Shared Storage > How To > Manage](https://docs.zerops.io/shared-storage/how-to/manage.md) +- [Shared Storage > How To > Use](https://docs.zerops.io/shared-storage/how-to/use.md) +- [Shared Storage > Overview](https://docs.zerops.io/shared-storage/overview.md) +- [Shared Storage > Tech Details](https://docs.zerops.io/shared-storage/tech-details.md) +- [Static > Overview](https://docs.zerops.io/static/overview.md) +- [Typesense > Overview](https://docs.zerops.io/typesense/overview.md) +- [Ubuntu > How To > Build Pipeline](https://docs.zerops.io/ubuntu/how-to/build-pipeline.md) +- [Ubuntu > How To > Build Process](https://docs.zerops.io/ubuntu/how-to/build-process.md) +- [Ubuntu > How To > Controls](https://docs.zerops.io/ubuntu/how-to/controls.md) +- [Ubuntu > How To > Create](https://docs.zerops.io/ubuntu/how-to/create.md) +- [Ubuntu > How To > Customize Runtime](https://docs.zerops.io/ubuntu/how-to/customize-runtime.md) +- [Ubuntu > How To > Deploy Process](https://docs.zerops.io/ubuntu/how-to/deploy-process.md) +- [Ubuntu > How To > Env Variables](https://docs.zerops.io/ubuntu/how-to/env-variables.md) +- [Ubuntu > How To > Filebrowser](https://docs.zerops.io/ubuntu/how-to/filebrowser.md) +- [Ubuntu > How To > Logs](https://docs.zerops.io/ubuntu/how-to/logs.md) +- [Ubuntu > How To > Scaling](https://docs.zerops.io/ubuntu/how-to/scaling.md) +- [Ubuntu > How To > Shared Storage](https://docs.zerops.io/ubuntu/how-to/shared-storage.md) +- [Ubuntu > How To > Trigger Pipeline](https://docs.zerops.io/ubuntu/how-to/trigger-pipeline.md) +- [Ubuntu > How To > Upgrade](https://docs.zerops.io/ubuntu/how-to/upgrade.md) +- [Ubuntu > Overview](https://docs.zerops.io/ubuntu/overview.md) +- [Valkey > Overview](https://docs.zerops.io/valkey/overview.md) +- [Zerops Yaml > Base List](https://docs.zerops.io/zerops-yaml/base-list.md) +- [Zerops Yaml > Cron](https://docs.zerops.io/zerops-yaml/cron.md) +- [Zerops Yaml > Specification](https://docs.zerops.io/zerops-yaml/specification.md) \ No newline at end of file diff --git a/zerops-llm-script.ts b/zerops-llm-script.ts index 4724c868..4eb9254c 100644 --- a/zerops-llm-script.ts +++ b/zerops-llm-script.ts @@ -126,7 +126,7 @@ async function generateLLMDocs() { for (const file of optionalFiles) { optionals.push( - `- [${capitalizeDelimiter(extractLabel(file)).replace(/-/, ' ')}](https://docs.zerops.io/${sliceExt(file)})` + `- [${capitalizeDelimiter(extractLabel(file)).replace(/-/, ' ')}](https://docs.zerops.io/${sliceExt(file)}.md)` ) }