diff --git a/apps/dokploy/public/templates/cloudflared.svg b/apps/dokploy/public/templates/cloudflared.svg new file mode 100644 index 000000000..5be105f51 --- /dev/null +++ b/apps/dokploy/public/templates/cloudflared.svg @@ -0,0 +1,33 @@ + + + \ No newline at end of file diff --git a/apps/dokploy/templates/cloudflared/docker-compose.yml b/apps/dokploy/templates/cloudflared/docker-compose.yml new file mode 100644 index 000000000..d9fc27419 --- /dev/null +++ b/apps/dokploy/templates/cloudflared/docker-compose.yml @@ -0,0 +1,18 @@ +services: + cloudflared: + image: 'cloudflare/cloudflared:latest' + environment: + # Don't forget to set this in your Dokploy Environment + - 'TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN}' + network_mode: host + restart: unless-stopped + command: [ + "tunnel", + + # More tunnel run parameters here: + # https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters/ + "--no-autoupdate", + #"--protocol", "http2", + + "run" + ] diff --git a/apps/dokploy/templates/cloudflared/index.ts b/apps/dokploy/templates/cloudflared/index.ts new file mode 100644 index 000000000..661fa31d0 --- /dev/null +++ b/apps/dokploy/templates/cloudflared/index.ts @@ -0,0 +1,9 @@ +import type { Schema, Template } from "../utils"; + +export function generate(schema: Schema): Template { + const envs = [`CLOUDFLARE_TUNNEL_TOKEN=""`]; + + return { + envs, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index a0fbdb1be..d58e6fd6c 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1239,4 +1239,20 @@ export const templates: TemplateData[] = [ tags: ["matrix", "communication"], load: () => import("./conduit/index").then((m) => m.generate), }, + { + id: "cloudflared", + name: "Cloudflared", + version: "latest", + description: + "A lightweight daemon that securely connects local services to the internet through Cloudflare Tunnel.", + logo: "cloudflared.svg", + links: { + github: "https://github.com/cloudflare/cloudflared", + website: + "https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/", + docs: "https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/", + }, + tags: ["cloud", "networking", "security", "tunnel"], + load: () => import("./cloudflared/index").then((m) => m.generate), + }, ];