diff --git a/bun.lock b/bun.lock index ff8b4c97..e0eb8caf 100644 --- a/bun.lock +++ b/bun.lock @@ -5,33 +5,33 @@ "": { "name": "coolify-docs", "dependencies": { - "@orama/orama": "^3.1.18", - "@resvg/resvg-js": "^2.6.2", + "@orama/orama": "3.1.18", + "@resvg/resvg-js": "2.6.2", "@tanstack/react-router": "1.168.10", "@tanstack/react-start": "1.167.16", "@tanstack/start-static-server-functions": "1.166.25", "fumadocs-core": "16.8.5", "fumadocs-mdx": "14.2.11", - "fumadocs-openapi": "^10.8.1", + "fumadocs-openapi": "10.8.1", "fumadocs-ui": "16.8.5", - "gray-matter": "^4.0.3", - "lucide-react": "^1.7.0", - "react": "^19.2.4", - "react-dom": "^19.2.4", - "shiki": "^4.0.2", - "tslib": "^2.8.1", - "vite": "^8.0.7", + "gray-matter": "4.0.3", + "lucide-react": "1.7.0", + "react": "19.2.4", + "react-dom": "19.2.4", + "shiki": "4.0.2", + "tslib": "2.8.1", + "vite": "8.0.7", }, "devDependencies": { - "@tailwindcss/vite": "^4.2.1", - "@types/mdx": "^2.0.13", + "@tailwindcss/vite": "4.2.1", + "@types/mdx": "2.0.13", "@types/node": "25.0.9", - "@types/react": "^19.2.14", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^6.0.1", - "nitro": "^3.0.260311-beta", - "tailwindcss": "^4.2.1", - "typescript": "^6.0.2", + "@types/react": "19.2.14", + "@types/react-dom": "19.2.3", + "@vitejs/plugin-react": "6.0.1", + "nitro": "3.0.260311-beta", + "tailwindcss": "4.2.1", + "typescript": "6.0.2", }, }, }, @@ -688,7 +688,7 @@ "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "lucide-react": ["lucide-react@1.14.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA=="], + "lucide-react": ["lucide-react@1.7.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-yI7BeItCLZJTXikmK4KNUGCKoGzSvbKlfCvw44bU4fXAL6v3gYS4uHD1jzsLkfwODYwI6Drw5Tu9Z5ulDe0TSg=="], "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], @@ -850,9 +850,9 @@ "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], - "react": ["react@19.2.5", "", {}, "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA=="], + "react": ["react@19.2.4", "", {}, "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ=="], - "react-dom": ["react-dom@19.2.5", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.5" } }, "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag=="], + "react-dom": ["react-dom@19.2.4", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.4" } }, "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ=="], "react-remove-scroll": ["react-remove-scroll@2.7.2", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q=="], @@ -960,7 +960,7 @@ "tsx": ["tsx@4.21.0", "", { "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw=="], - "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], + "typescript": ["typescript@6.0.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ=="], "ufo": ["ufo@1.6.3", "", {}, "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q=="], @@ -1004,7 +1004,7 @@ "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], - "vite": ["vite@8.0.10", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.10", "rolldown": "1.0.0-rc.17", "tinyglobby": "^0.2.16" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw=="], + "vite": ["vite@8.0.7", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.8", "rolldown": "1.0.0-rc.13", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-P1PbweD+2/udplnThz3btF4cf6AgPky7kk23RtHUkJIU5BIxwPprhRGmOAHs6FTI7UiGbTNrgNP6jSYD6JaRnw=="], "vitefu": ["vitefu@1.1.3", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["vite"] }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="], @@ -1074,6 +1074,10 @@ "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + "fumadocs-openapi/lucide-react": ["lucide-react@1.14.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA=="], + + "fumadocs-ui/lucide-react": ["lucide-react@1.14.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA=="], + "gray-matter/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], "htmlparser2/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="], @@ -1090,6 +1094,8 @@ "rolldown/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.17", "", {}, "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg=="], + "vite/rolldown": ["rolldown@1.0.0-rc.13", "", { "dependencies": { "@oxc-project/types": "=0.123.0", "@rolldown/pluginutils": "1.0.0-rc.13" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.13", "@rolldown/binding-darwin-arm64": "1.0.0-rc.13", "@rolldown/binding-darwin-x64": "1.0.0-rc.13", "@rolldown/binding-freebsd-x64": "1.0.0-rc.13", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.13", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.13", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.13", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.13", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.13", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.13", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.13", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.13", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.13", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.13", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.13" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-bvVj8YJmf0rq4pSFmH7laLa6pYrhghv3PRzrCdRAr23g66zOKVJ4wkvFtgohtPLWmthgg8/rkaqRHrpUEh0Zbw=="], + "@tailwindcss/node/lightningcss/lightningcss-android-arm64": ["lightningcss-android-arm64@1.31.1", "", { "os": "android", "cpu": "arm64" }, "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg=="], "@tailwindcss/node/lightningcss/lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.31.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg=="], @@ -1116,6 +1122,46 @@ "gray-matter/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + "vite/rolldown/@oxc-project/types": ["@oxc-project/types@0.123.0", "", {}, "sha512-YtECP/y8Mj1lSHiUWGSRzy/C6teUKlS87dEfuVKT09LgQbUsBW1rNg+MiJ4buGu3yuADV60gbIvo9/HplA56Ew=="], + + "vite/rolldown/@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.13", "", { "os": "android", "cpu": "arm64" }, "sha512-5ZiiecKH2DXAVJTNN13gNMUcCDg4Jy8ZjbXEsPnqa248wgOVeYRX0iqXXD5Jz4bI9BFHgKsI2qmyJynstbmr+g=="], + + "vite/rolldown/@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.13", "", { "os": "darwin", "cpu": "arm64" }, "sha512-tz/v/8G77seu8zAB3A5sK3UFoOl06zcshEzhUO62sAEtrEuW/H1CcyoupOrD+NbQJytYgA4CppXPzlrmp4JZKA=="], + + "vite/rolldown/@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.13", "", { "os": "darwin", "cpu": "x64" }, "sha512-8DakphqOz8JrMYWTJmWA+vDJxut6LijZ8Xcdc4flOlAhU7PNVwo2MaWBF9iXjJAPo5rC/IxEFZDhJ3GC7NHvug=="], + + "vite/rolldown/@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.13", "", { "os": "freebsd", "cpu": "x64" }, "sha512-4wBQFfjDuXYN/SVI8inBF3Aa+isq40rc6VMFbk5jcpolUBTe5cYnMsHZ51nFWsx3PVyyNN3vgoESki0Hmr/4BA=="], + + "vite/rolldown/@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.13", "", { "os": "linux", "cpu": "arm" }, "sha512-JW/e4yPIXLms+jmnbwwy5LA/LxVwZUWLN8xug+V200wzaVi5TEGIWQlh8o91gWYFxW609euI98OCCemmWGuPrw=="], + + "vite/rolldown/@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.13", "", { "os": "linux", "cpu": "arm64" }, "sha512-ZfKWpXiUymDnavepCaM6KG/uGydJ4l2nBmMxg60Ci4CbeefpqjPWpfaZM7PThOhk2dssqBAcwLc6rAyr0uTdXg=="], + + "vite/rolldown/@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.13", "", { "os": "linux", "cpu": "arm64" }, "sha512-bmRg3O6Z0gq9yodKKWCIpnlH051sEfdVwt+6m5UDffAQMUUqU0xjnQqqAUm+Gu7ofAAly9DqiQDtKu2nPDEABA=="], + + "vite/rolldown/@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.13", "", { "os": "linux", "cpu": "ppc64" }, "sha512-8Wtnbw4k7pMYN9B/mOEAsQ8HOiq7AZ31Ig4M9BKn2So4xRaFEhtCSa4ZJaOutOWq50zpgR4N5+L/opnlaCx8wQ=="], + + "vite/rolldown/@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.0-rc.13", "", { "os": "linux", "cpu": "s390x" }, "sha512-D/0Nlo8mQuxSMohNJUF2lDXWRsFDsHldfRRgD9bRgktj+EndGPj4DOV37LqDKPYS+osdyhZEH7fTakTAEcW7qg=="], + + "vite/rolldown/@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.13", "", { "os": "linux", "cpu": "x64" }, "sha512-eRrPvat2YaVQcwwKi/JzOP6MKf1WRnOCr+VaI3cTWz3ZoLcP/654z90lVCJ4dAuMEpPdke0n+qyAqXDZdIC4rA=="], + + "vite/rolldown/@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.13", "", { "os": "linux", "cpu": "x64" }, "sha512-PsdONiFRp8hR8KgVjTWjZ9s7uA3uueWL0t74/cKHfM4dR5zXYv4AjB8BvA+QDToqxAFg4ZkcVEqeu5F7inoz5w=="], + + "vite/rolldown/@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.13", "", { "os": "none", "cpu": "arm64" }, "sha512-hCNXgC5dI3TVOLrPT++PKFNZ+1EtS0mLQwfXXXSUD/+rGlB65gZDwN/IDuxLpQP4x8RYYHqGomlUXzpO8aVI2w=="], + + "vite/rolldown/@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.13", "", { "dependencies": { "@emnapi/core": "1.9.1", "@emnapi/runtime": "1.9.1", "@napi-rs/wasm-runtime": "^1.1.2" }, "cpu": "none" }, "sha512-viLS5C5et8NFtLWw9Sw3M/w4vvnVkbWkO7wSNh3C+7G1+uCkGpr6PcjNDSFcNtmXY/4trjPBqUfcOL+P3sWy/g=="], + + "vite/rolldown/@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.13", "", { "os": "win32", "cpu": "arm64" }, "sha512-Fqa3Tlt1xL4wzmAYxGNFV36Hb+VfPc9PYU+E25DAnswXv3ODDu/yyWjQDbXMo5AGWkQVjLgQExuVu8I/UaZhPQ=="], + + "vite/rolldown/@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.13", "", { "os": "win32", "cpu": "x64" }, "sha512-/pLI5kPkGEi44TDlnbio3St/5gUFeN51YWNAk/Gnv6mEQBOahRBh52qVFVBpmrnU01n2yysvBML9Ynu7K4kGAQ=="], + + "vite/rolldown/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.13", "", {}, "sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA=="], + "@tanstack/router-plugin/chokidar/readdirp/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + + "vite/rolldown/@rolldown/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.9.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA=="], + + "vite/rolldown/@rolldown/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.9.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA=="], + + "vite/rolldown/@rolldown/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg=="], } } diff --git a/content/docs/integrations/cloudflare/tunnels/all-resource.mdx b/content/docs/integrations/cloudflare/tunnels/all-resource.mdx index 1d5a9790..902e5eef 100644 --- a/content/docs/integrations/cloudflare/tunnels/all-resource.mdx +++ b/content/docs/integrations/cloudflare/tunnels/all-resource.mdx @@ -36,125 +36,132 @@ A simple high-level overview diagram to give you a visual idea of how this works --- -### Quick Links to Important Sections: -- [Create a Cloudflare Tunnel](#_1-create-a-cloudflare-tunnel) -- [Setup Encryption mode on Cloudflare](#_2-setup-encryption-mode-on-cloudflare) -- [Setup Cloudflare Tunnel on Coolify](#_3-setup-cloudflare-tunnel-on-coolify) -- [Start Coolify Proxy](#_4-start-coolify-proxy) -- [Configure Your Resource to Use the Tunnel Domain](#_5-configure-your-resource-to-use-the-tunnel-domain) -- [How to use Multiple Different Domains](#how-to-use-multiple-different-domains) -- [Known issues and Solutions](#known-issues-and-solutions) + ---- - - - - -The following data is used as an example in this guide. Please replace it with your actual data when following the steps: - -- **Domain Name:** shadowarcanist.com + The following data is used as an example in this guide. Please replace it with your actual data when following the steps: + + - **Domain Name:** `shadowarcanist.com` - --- ## 1. Create a Cloudflare Tunnel -To create a Cloudflare Tunnel, first log in to your Cloudflare account and go to the [Zero Trust](https://one.dash.cloudflare.com/) page. +To create a Cloudflare Tunnel, first log in to your [Cloudflare dashboard](https://dash.cloudflare.com/) + + + +1. Go to **Networking** in the sidebar. +2. Click on **Tunnels** +3. Click on **Create tunnel** button + -1. On the Zero Trust page, go to **Networks** in the sidebar. -2. Click on **Tunnels** -3. Click on **Add a tunnel** button - -You will be prompted to choose a tunnel type. Click the **Select Cloudflared** button. +You will be prompted to enter a tunnel name. Enter a name that you prefer and click on **Create tunnel** button. -You will be prompted to enter a tunnel name. Choose a name that you prefer. +1. Select the **Docker** option +2. Copy the docker run command, which contains the token for your tunnel (token starts with "`eyJ`"). Make sure to save only the token, removing the command part before it, and store it in a safe place, as we need it later. + + +## 2. Deploy cloudflared on Coolify + +Go to your project on Coolify dashboard and click the `+ New` button to create a new resource. -Next you will see the configuration page with multiple options to install cloudflared. +Search for `Cloudflared` and click on it. -Copy the install command, which contains the token for your tunnel (token starts with "eyJ"). Make sure to save only the token, removing the command part before it, and store it in a safe place, as we need it later. +Go to the **Environment Variables** page, enter your tunnel token, and deploy the Cloudflared app. -Scroll down until you see the **Next** button, then click it. - -Then, you will be prompted to add a hostname. +Once cloudflared starts running you will be able to see it's status on Cloudflare dashboard -1. **Subdomain** - (Optional) You can make your all of your resource accessible on any subdomain/domain. For this guide, we are using a wildcard subdomain. -2. **Domain** - Choose the domain you want to use for the tunnel. -3. **Path** - Leave this field empty. -4. **Type** - Choose **HTTP** (this is very important). -5. **URL** - Enter **localhost:80** (this is very important). -6. After filling in the details, click the **Save Tunnel** button. +Click on continue button to create the tunnel. -## 2. Setup Encryption mode on Cloudflare -To set up encryption on Cloudflare, follow these steps: - - - -1. Go to https://dash.cloudflare.com/ and select the domain you created the tunnel for. -2. Click **SSL/TLS** in the sidebar. -3. Select **Overview**. -4. Click **Configure** button - - - -Choose **Full** as the encryption mode. - -## 3. Setup Cloudflare Tunnel on Coolify - -To set up the tunnel on Coolify, follow these steps: +## 3. Start Coolify Proxy -Go to your project on Coolify dashboard and click the **+ New** button to create a new resource. +1. In the Coolify dashboard, go to the **Servers** page from the sidebar. +2. Select the server where your application is running, and check if the proxy is showing as running. + + +## 4. Set Up TLS Encryption +To make Cloudflare use stricter encryption when connecting to your server, configure your TLS encryption in Cloudflare: + + + +1. Go to **SSL/TLS** in Cloudflare. +2. Select **Overview**. +3. Click **Configure** button + + + +1. Choose **Full (Strict)** as the encryption mode. +2. Click **Save** button + + +## 5. Configure tunnel routes -You will see many options to deploy a new app. Search for Cloudflared and click on it. +1. Click on your tunnel +2. Click on **Configure** option -Go to the **Environment Variables** page, enter your tunnel token, and deploy the Cloudflared app. This token was copied in [Step 1](#_1-create-a-cloudflare-tunnel) - -## 4. Start Coolify Proxy - -To start the Coolify proxy, follow these steps: +1. Select **Routes**. +2. Click **Add route** button -1. In the Coolify dashboard, go to the **Servers** page from the sidebar. -2. Select the server where coolify is running, then Click on the **Proxy** tab. -3. Open the **General** tab. -4. Click the **Start Proxy** button. +3. Select **Published Application** as the route type + + +1. **Subdomain** - (Optional) You can make your all of your resource accessible on any subdomain/domain. For this guide, we are using a wildcard subdomain which is `*` +2. **Domain** - Choose the domain you want to use for the tunnel. +3. **Path** - Leave this field empty. +4. **Service URL** - Enter **http://localhost:80** (this is very important). +6. After filling in the details, click the **Add route** button. + + - The Coolify proxy is used to route traffic to apps running on your server. This eliminates the need to create new hostnames on the Cloudflare tunnel every time you deploy a new app. + The Coolify proxy (runs on `http://localhost:80`) is used to route traffic to apps running on your server. This eliminates the need to create new routes on the Cloudflare tunnel every time you deploy a new app. -## 5. Configure Your Resource to Use the Tunnel Domain +## 6. Configure your resource domain -Enter the domain you want to use for your resource/app and deploy your resource. +Enter the domain you want to use for your resource on Coolify and deploy your resource. - + + + + + + + + + + + + @@ -167,25 +174,35 @@ If your app requires **HTTPS** for features like cookies or login, follow the [F **Congratulations**! You've successfully set up a resource that can be accessed by anyone on the internet your domain. -## How to use Multiple Different Domains? -You don't need to create new tunnels for each domain, just create a new hostname with the new domain and point it to the `localhost:80`. +--- - +## How to use multiple different domains? + +You don't need to create new tunnels for each domain, just create a new routes with the new domain and point it to the `http://localhost:80`. + + + +--- ## Known issues and Solutions -When you create a new public hostname in [Step 1](#_1-create-a-cloudflare-tunnel), Cloudflare will create a DNS record for the hostname. +When you create a new routes in [Step 5](/integrations/cloudflare/tunnels/all-resource#5-configure-tunnel-routes), Cloudflare will create a DNS record for the hostname. -However, if a DNS record for the hostname already exists, Cloudflare won’t create a new one. +However, if a DNS record for the hostname already exists, Cloudflare won’t update existing record. In this case, your app won’t work. To fix this issue, follow the steps below: - + -First, copy your tunnel ID from the Tunnels page on the Cloudflare dashboard. +1. Click on your tunnel +2. Click on **Configure** option - + + +3. Copy your tunnel ID from the Tunnels details section. + + Create a new DNS record with the following details: diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/0.webp b/public/images/integrations/cloudflare/tunnels/all-resource/0.webp new file mode 100644 index 00000000..c8b71b5d Binary files /dev/null and b/public/images/integrations/cloudflare/tunnels/all-resource/0.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/1.webp b/public/images/integrations/cloudflare/tunnels/all-resource/1.webp index d7862d13..4b364cb1 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/1.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/1.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/10.webp b/public/images/integrations/cloudflare/tunnels/all-resource/10.webp index a6c52424..4cbb4dc5 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/10.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/10.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/11.webp b/public/images/integrations/cloudflare/tunnels/all-resource/11.webp index 257cb7f4..017e7f2a 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/11.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/11.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/12.webp b/public/images/integrations/cloudflare/tunnels/all-resource/12.webp index 0a7bb1d5..656f0854 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/12.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/12.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/13.webp b/public/images/integrations/cloudflare/tunnels/all-resource/13.webp index fc3b58e1..48f09383 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/13.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/13.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/14.webp b/public/images/integrations/cloudflare/tunnels/all-resource/14.webp index f9beff82..728a1b4a 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/14.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/14.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/15.webp b/public/images/integrations/cloudflare/tunnels/all-resource/15.webp index e16249e0..111160d0 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/15.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/15.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/16.webp b/public/images/integrations/cloudflare/tunnels/all-resource/16.webp index 7ab44cf3..39ed0e1f 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/16.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/16.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/17.webp b/public/images/integrations/cloudflare/tunnels/all-resource/17.webp new file mode 100644 index 00000000..d6f2926b Binary files /dev/null and b/public/images/integrations/cloudflare/tunnels/all-resource/17.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/18.webp b/public/images/integrations/cloudflare/tunnels/all-resource/18.webp new file mode 100644 index 00000000..e628c76e Binary files /dev/null and b/public/images/integrations/cloudflare/tunnels/all-resource/18.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/19.webp b/public/images/integrations/cloudflare/tunnels/all-resource/19.webp new file mode 100644 index 00000000..1f44fc86 Binary files /dev/null and b/public/images/integrations/cloudflare/tunnels/all-resource/19.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/2.webp b/public/images/integrations/cloudflare/tunnels/all-resource/2.webp index 268964aa..00236791 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/2.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/2.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/3.webp b/public/images/integrations/cloudflare/tunnels/all-resource/3.webp index 4a189683..799163c6 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/3.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/3.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/4.webp b/public/images/integrations/cloudflare/tunnels/all-resource/4.webp index 715968ed..b15d92c2 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/4.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/4.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/5.webp b/public/images/integrations/cloudflare/tunnels/all-resource/5.webp index f0460474..ec29888f 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/5.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/5.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/6.webp b/public/images/integrations/cloudflare/tunnels/all-resource/6.webp index 0c55e4e2..444b0710 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/6.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/6.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/7.webp b/public/images/integrations/cloudflare/tunnels/all-resource/7.webp index d3d102b3..62fe1fe7 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/7.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/7.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/8.webp b/public/images/integrations/cloudflare/tunnels/all-resource/8.webp index 1cef604e..e5ada7c8 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/8.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/8.webp differ diff --git a/public/images/integrations/cloudflare/tunnels/all-resource/9.webp b/public/images/integrations/cloudflare/tunnels/all-resource/9.webp index 0f6ed7c8..de3c567d 100644 Binary files a/public/images/integrations/cloudflare/tunnels/all-resource/9.webp and b/public/images/integrations/cloudflare/tunnels/all-resource/9.webp differ